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) ➔ Email
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) ➔ Email
session chair designation (config) ➔ SpeakerSessionRefs[*].Designation
chair table row order ➔ SpeakerSessionRefs[*].SortOrder
the session's ExternalKey ➔ SpeakerSessionRefs[*].ExternalKey