Technical Details of Uploading Content
Last updated September 10, 2019
The CSV Upload Tool is meant for two different audiences: on the one hand, it’s intended to provide a convenient means for business users to quickly upload a large volume of data into a new event, while on the other, it’s intended to provide a pathway for loading data coming from some external system like an organization’s Association Management System.
This document is intended for the latter audience: developers and database administrators concerned with producing data files from existing data to be loaded into the system.
Controlling the Process
Along with the data fields you’d expect to find (dates, names, etc.), a few columns are included in the file format specifically for controlling how the data is processed for all items.
- The External Key column is expressly for this kind of export-to-import scenario and is intended to contain the primary key of each record from its source system. This gives us a stable, unique identifier for each row without requiring you to track Engagefully’s primary key values in your source data.
- The ID column contains Engagefully's internal primary key values. As such, you can omit this column or leave it empty when generating data files from your systems to be imported into Engagefully.
Taken together, these two values control whether the input creates or updates an item in Engagefully. The value of ID is the automatically generated ID from Engagefully, and the External Key is the primary key of the record from the source system.
- If a row has neither an ID nor an External Key value, a new item will be created.
- If an ID is given in the upload file, and a corresponding item exists with that ID, the record will be updated. If no corresponding item is found, the API will report an error.
- If the row has no ID, but does have an External Key, then any corresponding item that already exists will be updated. If no corresponding item is found, a new item will be created.
As you can see, it’s very important that, if you plan to perform more than one bulk file transfer, you include a stable External Key value in your data. If you do not, there is a significant risk of creating duplicate records in Engagefully.
Other Control Fields
The External Timestamp is not currently used for anything by Engagefully, but will be saved if provided, and included in CSV files downloaded from the backoffice. This can be useful to determine whether the data that’s in Engagefully is up to date with the information in the source system.
Version protects against concurrent modifications when updating data. If it’s provided in the input, the item will be updated with the new data if and only if the record’s current version in the database matches the value in the input. (For example, if you download the current sessions and edit them, and I change one before you upload your modified file, that session’s version number will not match, and you will not accidentally overwrite my changes.)
Uploads for the Attendee Roster and Appointments must contain a complete list. Items not found in the upload file will be removed from the system.
Uploads for event items (Sessions, Speakers, Exhibitors, Custom Content, and Resources) do not need to contain a complete list. These items cannot be deleted through the CSV upload utility.
Fields Available in Event Content Types
| Field | Session | Exhibitor | Speaker | Custom Content | Resource | Roster Entry | Appointment |
|---|---|---|---|---|---|---|---|
| ID | Yes | Yes | Yes | Yes | Yes | Yes
| Yes |
| Name | Required | Required | Required | Required | Required | ||
| About Content 1 | as Description | as Description | as Bio | as Description | as Description | ||
| Associated Asset URL 2 | as URL for Logo | as URL for Photo | as Resource URL | ||||
| Created | Read-only | Read-only | Read-only | Read-only | Read-only | ||
| Updated | Read-only | Read-only | Read-only | Read-only | Read-only | ||
| External Key | Yes | Yes | Yes | Yes | Yes | Yes | Required |
| External Timestamp | Yes | Yes | Yes | Yes | Yes | ||
| Version | Read-only | Read-only | Read-only | Read-only | Read-only | ||
| Start Time 3 | Required | Yes | Required | ||||
| End Time 3 | Required | Yes | Required | ||||
| Location | Yes | Yes | |||||
| Hashtag | Yes | ||||||
| Tag 7 | Yes | Yes | Yes | ||||
| Booth | Yes | ||||||
| URL 2 | Yes | Yes | Yes | Yes | |||
| Yes | Yes | Yes | Required | ||||
| Address | Yes | ||||||
| Phone 4 | Yes | Yes | Yes | Yes | |||
| Fax 4 | Yes | ||||||
| Yes | |||||||
| Yes | |||||||
| Yes | Yes | ||||||
| YouTube | Yes | ||||||
| First Name | Required | Required | |||||
| Last Name | Required | Required | |||||
| Title | Yes | Yes | |||||
| Company | Yes | Yes | |||||
| URL for Photo 2 | Yes | Yes | |||||
| URL for Logo 2 | Yes | ||||||
| Sorting | Yes | ||||||
| Keywords | Yes | ||||||
| Item ID 5 | as Session ID | Yes | Yes | ||||
| Item Key 5 | as Session Key | Yes | Yes | ||||
| Item Type 5 | Yes | Yes | |||||
| Custom1 6 | Yes | Yes | Yes | Yes | Yes | ||
| Custom2 6 | Yes | Yes | Yes | Yes | Yes | ||
| User Email List 8 | Required | ||||||
| Appears in Directory 9 | Yes |
Fields Available in Year-Round Content Types
| Field | Custom Content | Resource |
|---|---|---|
| ID | Yes | Yes |
| Name | Required | Required |
| About Content 1 | as Description | |
| Associated Asset URL 2 | as Resource URL | |
| Created | Read-only | Read-only |
| Updated | Read-only | Read-only |
| External Key | Yes | Yes |
| External Timestamp | Yes | Yes |
| Version | Read-only | Read-only |
| Start Time 3 | Yes | |
| End Time 3 | Yes | |
| URL 2 | Yes | |
| Yes | ||
| Phone 4 | Yes | |
| URL for Photo 2 | Yes | |
| URL for Logo 2 | Yes | |
| Sorting | Yes | |
| Keywords | Yes | |
| Item ID 5 | Yes | Yes |
| Item Key 5 | Yes | Yes |
| Item Type 5 | Yes | Yes |
| Custom1 6 | Yes | |
| Custom2 6 | Yes |
- The descriptive content for an item may be plain text, or they may contain some limited HTML markup.
- Web addresses, like a company’s web site, or the address of a resource file, must always be absolute URLs, beginning with
http://orhttps://. - For maximum compatibility, dates should be provided in
yyyy-MM-dd HH:mm:ssformat, using a 24-hour clock (military time). For example, 6:10pm on Monday, November 18th would be written2013-11-18 18:10:00. These values will be assumed to be in the event’s local time zone, unless they are specified to be in UTC (Coordinated Universal Time) by suffixing the value with aZ. Internally, Engagefully stores all date/time values as UTC, and that’s what you’ll see when you download existing data. - Phone numbers are just strings, so any format may be used. For best results, however, they should conform to the formatting requirements of the
telURI scheme so that Engagefully can render them as such for users. The Item ID and Item Key fields are used to build relationships between items:
- A resource must be related to exactly one other item. At the current time, that item may only be a custom content item, and the value of Item Type must be set to
Custom. - Items of custom content types may be associated with any number of other custom content items (the type definition determines which relationships are allowed).
- If both an Item ID and Item Key value are provided, the ID will supersede the external key.
- If a custom content item is associated with multiple other items, then one of these fields may contain a pipe-delimited (
|) list of ID or external key values (the other must be empty). The Item Type field must also contain a corresponding pipe-delimited list of item types.
- A resource must be related to exactly one other item. At the current time, that item may only be a custom content item, and the value of Item Type must be set to
The Custom1 and Custom2 fields provide options to include additional information that is specific to your organization. This can be anything short-form including credentials, interests, special codes, CEU credits, etc. The labels for these fields are configured on the event edit screen in the section labelled “Custom Labels” (or in the definition of a custom content type), and can be different for each type of item.
Your uploaded file must still label the columns
Custom1andCustom2.Tags are collected into groups. Tag groups must be created in the backoffice, but individual tags will be created as necessary by the upload tool.
Each group is represented by a single column in the data, using the group’s name (with a required "Tag: " prefix). Any text within those columns will be used to create and edit tags. In order to apply multiple tags within a group to one item, use pipes (
|) to separate them.The User Email List field should be a pipe-delimited (
|) list containing the email addresses of people who should have the appointment on their schedule.Appears in Directory field must be marked TRUE or FALSE. TRUE = Registrant will appear in the directory by default.
RD Mobile FAQ
Got a quick question? Check out RD Mobile's FAQ page for a quick answer. A collection of our most common client questions all in one place!
- Can I Copy and Paste an Event?
- What images can I upload to brand my app?
- How can I make changes to my app store listing?
- How often can I update event content in the apps?
- Registrant Profile vs. Participant Profile
- Do unpublished events automatically reflect changes I’ve made to event content?
- Are there differences in how Engagefully looks or behaves across different devices?
- How soon will attendees see the updated content on their devices?
- Can attendees export their sessions to their device calendar?
- Will Engagefully EVENTS work when the attendee doesn’t have Internet connectivity?
- Is it possible for attendees to manually fetch the most recent content?
- Does RD Mobile have surveys and polls?
- How will the custom values appear in the app?
- Where will ads show up?
- What is the difference between the Attendee Roster and Attendee Social Profiles?
- What is RSS?
- How do I remove flagged posts, photos, and comments from the app?
- What is the Personalized Dashboard?
- What different content can display in the Dashboard?
Get Started With Conversations
RD Mobile's Conversations provides a space for members, event participants, committees, and groups to connect and engage. Conversations is available as an add-on to RD Mobile’s Engagefully platforms.
About RD Products
RD Mobile’s industry-leading Engagefully & Engagefully EVENTS apps & platforms power year-round member engagement as well as in-person, hybrid/blended & virtual events - on both mobile & desktop devices.
Get Started With Year-Round Content
Ready to set up your year-round content on the Engagefully platform? Follow these steps to kickstart your engagement.
On-Site Tools & Support
This is a collection of tools, tips and best practices to support your participants leading up to and during your event.
- How To Create a Password for User Profiles - iOS Devices
- Supported Devices
- How To Create a Password for User Profiles - Desktop
- How to Provide Login Assistance using Access Codes
- Assigning Event Support
- Attendee Support Basics
- Registrant Profile vs. Participant Profile
- How To Create a Password for User Profiles - Android Devices
Publish & Promote Your Event
Your event is ready to go, now it's time start engaging participants.
- How to Publish Your Event
- Invitation Email
- Follow-Up Emails
- Email Templates
- App Marketing Resource - How-To Guides
- Increasing App Downloads & Engagement - Marketing Campaign
- App Marketing Resource - Digital Business Card Exchange Promo Image
- App Marketing Resource - Website Samples
- App Marketing Resource - Spinner Samples
Add Basic Event Content
Ready to start adding content to your new event? Learn the basics here in this step-by-step guide.
- How do I create a Notification?
- Setting Up Sessions
- Setting Up Speakers
- How to Reorder Speakers and Designate Speaker Roles
- Setting Up Exhibitors
- How do I create tags for my Event?
- How to Add Registrants
- Registrant Profile vs. Participant Profile
- How to Manage Content In Bulk
- How do I enable and manage the event Dashboard?
- Add a New Menu Item
- Add a Map
- Setting Up Ads
Advanced Event Features
Want to supercharge your event? Browse through this collection of advanced features to determine what your event needs to take it to the next level.
- Event Roles
- How to Reorder Speakers and Designate Speaker Roles
- How to Create Exhibitor Booth Staff, Moderators, and Sponsor Representatives Using Custom Content.
- How to Create Custom Content
- What are Custom Labels used for?
- Event Integrations FAQ
- Embed Sessions on Your Web Site
- Embed Speaker Details on Your Website
- Embed Exhibitor Lists on Your Web Site
- How to Add Surveys, Evaluations & Polls
- Exhibitor Management Portal
- QR Code and Virtual Session Check-In
- Digital Business Card Exchange
- Setting Up Gamification
- Arranged Appointments
- Embed YouTube Content within Sessions
- Embed Vimeo Video Content within Sessions
Create a New Event
Ready to create a new event on the Engagefully & Engagefully EVENTS (formally Eventsential) platform? This step-by-step guide will walk you through creating and configuring a new event.