OpenWater ➔ Engagefully (SETAC)
- Source System
- OpenWater
- Destination System
- Engagefully
- Version
- 1.12.2026.9240
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. 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. 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. 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 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. |
| id | ➔ | ExternalKey | |
| name | ➔ | Name (preceded by any configured title prefixes) | |
| 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 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 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 | |
| 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 chair table | ➔ | Speaker | One per row of the session's chair table, attached to the session itself and never to the presentations inside it. 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 | |