OpenWater ➔ Engagefully (SETAC)
- Source System
- OpenWater
- Destination System
- Engagefully
- Version
- 1.13.2026.10071
Description
Imports sessions from OpenWater into Engagefully, entirely from the Session Gallery report. Each scheduled session becomes a session, taking its title, room and times from the session itself and its description from a configured field alias. A session is skipped, along with everything scheduled inside it, when its visibility field holds a value other than the configured visible value; a session that leaves the field empty is imported. A session's title can be marked with a symbol, such as a star for a special event or a ticket for one that needs a ticket, by pairing a session field alias with the prefix it adds. The same fields can also add a tag, so those sessions can be filtered as well as spotted, under a readable label rather than the yes the field itself holds. A session's title can also be preceded by its session number, for a meeting that keeps the number in a field of its own rather than in the name. Sessions can be gathered into custom lists by a session field: each value the field holds becomes an item in the list, referencing every session that holds it. Sessions of a configured type that have no slot on the schedule, such as virtual sessions, are imported into a custom list rather than left out - the session, its presentations, or both, built as closely to real sessions as a custom list allows, with their titles, numbers, descriptions, tags and handouts. Only presenting authors are linked to these items as speakers, never chairs, and a speaker linked to an item carries no role label. The custom lists must already exist on the event. Each presentation scheduled inside a session becomes a sub-session of it, keyed on the abstract it presents. Optionally the scheduled items that carry no abstract become sub-sessions too, such as the introduction that opens a session or the discussion that closes it; these are named from the label the organizer gave the item and carry no description, tags or speakers. A sub-session uses its own start and end time where the schedule gives it one, and otherwise runs for its parent session's full block, which is how poster presentations are scheduled. It takes its title from the abstract, its description from a configured submission field alias, and its location from the parent session. Its title can be preceded by the presentation number the organizer assigned it, where the meeting assigns one. When the author list is enabled, a formatted list of authors is added below the abstract text, in the order the author table holds them: the presenting author in bold wherever they sit in that order, each author footnoted to their affiliation, and the affiliations listed once at the end, each followed by its country unless that is one configured to be left off. The presenting author is the author whose email matches the confirmed presenter's, or failing that the email on the abstract itself; where neither matches anybody, none is bold. A disclaimer or disclosure the presenter gave follows below it, under its own heading, and a presentation that gave none shows nothing. Sessions and sub-sessions can each be tagged from their own type and from configured field aliases, a session type can be filed under a different name than OpenWater gives it, and a session's room can be tagged so the schedule can be filtered by where something is held. A presentation can also take chosen tag groups from its session rather than reading them for itself. Speakers come from two places. The presenting author of each abstract is imported as a speaker on that presentation; an abstract whose author table holds nobody matching contributes no speaker. Each row of a scheduled session's chair table is imported as a speaker on the session itself, never on the presentations inside it, in the order the rows are stored. Email address is the speaker's identity, so a person who presents more than once, chairs more than one session, or both presents and chairs, is imported once and collects a reference per session. A chair recorded without an email cannot be identified and is skipped. Speaker biography and photo are deliberately not sent. Neither is collected in OpenWater, and leaving them off the import lets a speaker maintain their own through the self-service portal without each sync overwriting it. Files uploaded against a presentation are imported as handouts, shown either on the presentation itself or on the session it sits in. A field holding a web address rather than a file becomes a handout too, for material a presenter has hosted elsewhere. Uploads are submitted separately from the abstract itself, so every submission round is searched for the configured upload fields; each field gives its handouts one name, so a row of untidy file names all read the same way in the app, and leaving that name blank uses the uploaded file's own name instead. Only uploads belonging to a submission in one of the accepted statuses are imported, which holds back a presenter's half-finished upload until they complete it. A file is only fetched from OpenWater when its upload has changed since the last import, so a run where nobody has uploaded anything costs nothing.
Mapping Information
| OpenWater | Engagefully | Notes | |
|---|---|---|---|
| Session | ➔ | Session | Sessions are pulled from the Session Gallery report. Only scheduled sessions are imported as sessions; an unscheduled session of a configured type becomes a custom list item instead. |
| id | ➔ | ExternalKey | |
| name | ➔ | Name (preceded by any configured title prefixes, then the session number when enabled) | |
| fieldValues (parent session number alias) | ➔ | Name (as "number - name", unless the name already starts with it) | |
| scheduler.sessionStartTimeUtc | ➔ | StartTime | |
| scheduler.sessionEndTimeUtc | ➔ | EndTime | |
| scheduler.roomName | ➔ | Location, and Tags (location tag group, when configured) | |
| fieldValues (session description alias) | ➔ | AboutContent | |
| typeName | ➔ | Tags (session type tag group, when configured, under any configured tag name for that type) | |
| fieldValues (session tag aliases) | ➔ | Tags (configured tag group per alias) | |
| fieldValues (session flag aliases) | ➔ | Name (a prefix per alias holding the trigger value), and Tags (session flag tag group, when configured) | |
| fieldValues (session visibility alias) | ➔ | (a value other than the visible value excludes the session and its items) | |
| Session item | ➔ | Session (sub-session) | One per presentation scheduled inside a session. Imported only when sub-sessions are enabled. |
| applicationId | ➔ | ExternalKey | |
| application.name, preceded by the sub-session number alias when that is enabled | ➔ | Name | |
| startTimeUtc, or the parent session's start time | ➔ | StartTime | |
| endTimeUtc, or the parent session's end time | ➔ | EndTime | |
| (parent session) | ➔ | Location | |
| the winning round's submissionFieldValues (sub-session description alias), or the round carrying the abstract where none has won | ➔ | AboutContent (followed by the author list when enabled, then the disclosure when one was given) | |
| that same round's submissionFieldValues (sub-session disclosure alias) | ➔ | AboutContent (a closing paragraph under the configured heading) | |
| application.categoryName | ➔ | Tags (sub-session type tag group, when configured) | |
| that same round's submissionFieldValues (sub-session tag aliases) | ➔ | Tags (configured tag group per alias) | |
| the parent session's tags (tags inherited from parent) | ➔ | Tags (the same values, for each inherited tag group) | |
| the containing session's id | ➔ | ParentSessionRef.ExternalKey | |
| Session item without a submission | ➔ | Session (sub-session) | One per scheduled item that carries no abstract, such as an introduction or a discussion. Imported only when that setting is enabled. Carries no description, tags or speakers. |
| id | ➔ | ExternalKey | |
| customSessionItemTypeDescription | ➔ | Name (the item is skipped when this is blank) | |
| startTimeUtc, or the parent session's start time | ➔ | StartTime | |
| endTimeUtc, or the parent session's end time | ➔ | EndTime | |
| (parent session) | ➔ | Location | |
| the containing session's id | ➔ | ParentSessionRef.ExternalKey | |
| Abstract author table | ➔ | Session (sub-session) AboutContent | Only when the author list is enabled. One row per author in the abstract's author table, in the table's own sort order, which is never rearranged. |
| rows (author first and last name aliases) | ➔ | Author name, bold for the presenting author | |
| rows (author email alias) matched against the confirmed presenter email alias, then application.email | ➔ | Presenting author (nobody is bold when nothing matches) | |
| rows (author affiliation alias) | ➔ | Footnote number beside each author, and the affiliation list at the end | |
| rows (author country alias) | ➔ | Added after the affiliation, unless it is a country left off or already ends the affiliation | |
| Abstract author table (presenting author) | ➔ | Speaker | The author row whose email matches the confirmed presenter's, or failing that the email on the abstract. An abstract where neither matches contributes no speaker. Biography and photo are deliberately not sent, so a speaker can maintain their own through the self-service portal. |
| row (author email alias) | ➔ | ExternalKey | |
| row (author first name alias) | ➔ | FirstName | |
| row (author last name alias) | ➔ | LastName | |
| row (author affiliation alias) | ➔ | Company | |
| row (author email alias) | ➔ | ||
| presenter designation (config) | ➔ | SpeakerSessionRefs[*].Designation | |
| the presentation's ExternalKey | ➔ | SpeakerSessionRefs[*].ExternalKey | |
| Uploaded file | ➔ | Handout | One per file uploaded against an abstract, or per web address typed into a configured link field, attached either to the presentation it belongs to or to the session that presentation sits in. Uploads live in their own submission round, which is not flagged as a winner, so every round is searched. Only submissions in an accepted status are imported. |
| roundSubmissions[*].submissionFieldValues (attachment alias).mediaId | ➔ | ExternalKey | |
| the abstract's id and the alias, for a link field | ➔ | ExternalKey | |
| configured handout name, or the uploaded file's name, or the alias for a link | ➔ | Name | |
| media url, or the link field's own value | ➔ | HandoutUrl | |
| the presentation's or the session's ExternalKey, per where handouts appear | ➔ | ItemRef.ExternalKey (type session) | |
| roundSubmissions[*].updatedAtUtc | ➔ | ExternalTimestamp (also what decides whether the file is fetched again) | |
| roundSubmissions[*].status | ➔ | (only accepted statuses are imported) | |
| Session field value | ➔ | Custom list item | One item per value of a configured session field, in the custom list configured for that field. Only sessions actually imported are referenced. The list must already exist on the event. |
| the value, case-insensitively | ➔ | ExternalKey | |
| the value, as the first session spelled it | ➔ | Name | |
| every imported session holding the value | ➔ | RelatedItemRefs (type session) | |
| every unscheduled session holding the value, as each of its items imported | ➔ | RelatedItemRefs (type custom, with that item's list) | |
| (left as written in Engagefully) | ➔ | AboutContent | |
| Unscheduled session of a configured type | ➔ | Custom list item | Built as closely to a real session as a custom list allows, in the custom list configured for its type. Whether the session, its presentations, or both become items is configured. The list must already exist on the event. |
| id | ➔ | ExternalKey (as session-id) | |
| name, with the same title symbols and number a scheduled session gets | ➔ | Name | |
| fieldValues (session description alias) | ➔ | AboutContent | |
| the same tags a scheduled session gets | ➔ | Tags | |
| presenting authors of its presentations, when they are not imported as items of their own | ➔ | RelatedItemRefs (type speaker, with no role label; chairs are never linked) | |
| its presentation items, when both are imported and linking is on | ➔ | RelatedItemRefs (type custom) | |
| handouts of its presentations, where they would sit on a scheduled session | ➔ | Handout ItemRef (type custom) | |
| Presentation inside an unscheduled session | ➔ | Custom list item | Built as a sub-session would be, when presentations are configured to become items. It takes its session's places in the custom lists by alias. Where the session itself is not imported, the presentation stands in for it, taking on its tags too. Its only speaker is its presenting author. |
| applicationId | ➔ | ExternalKey (as presentation-id) | |
| application.name, preceded by the unscheduled presentation number alias (or the sub-session one, where that is blank) when enabled | ➔ | Name | |
| abstract, author list and disclosure, as for a sub-session | ➔ | AboutContent | |
| the same tags a sub-session gets | ➔ | Tags | |
| presenting author, imported as a speaker | ➔ | RelatedItemRefs (type speaker, with no role label) | |
| its uploads and links | ➔ | Handout ItemRef (type custom) | |
| Session chair table | ➔ | Speaker | One per row of a scheduled session's chair table, attached to the session itself and never to the presentations inside it. Unscheduled sessions imported into a custom list bring no chairs. A row with no email cannot be identified and is skipped. Biography and photo are deliberately not sent. |
| row (chair email alias) | ➔ | ExternalKey | |
| row (chair first name alias) | ➔ | FirstName | |
| row (chair last name alias) | ➔ | LastName | |
| row (chair affiliation alias) | ➔ | Company | |
| row (chair email alias) | ➔ | ||
| session chair designation (config) | ➔ | SpeakerSessionRefs[*].Designation | |
| chair table row order | ➔ | SpeakerSessionRefs[*].SortOrder | |
| the session's ExternalKey | ➔ | SpeakerSessionRefs[*].ExternalKey | |