The Fusion context reference
When your UI calls attach(...), Fusion shares a context object describing the current session. This page lists every field, what it means, and how the Fusion and Adobe IMS identifiers relate.
How to read the context
- Initial values:
connection.sharedContext.get("<key>") - Updates: Listen for the
contextchangeevent. The latest object arrives onevent.detail.context.
For the full code pattern, see Build the custom extension UI.
const organization = connection.sharedContext.get("organization");
const fusionOrgId = organization?.id; // Fusion's organization id
const imsOrgId = connection.sharedContext.get("imsOrgId"); // Adobe IMS org id
Top-level keys
imsTokenBearer token to call Adobe or Fusion APIs on the user’s behalf. Because this is sensitive, never log or display it.imsOrgIdXXXXXXXXXXXX@AdobeOrg.imsUserIdorganizationorganization fields in this article.teamFusion ID and IMS ID
Each entity has a Fusion ID (used by Fusion’s own APIs) and, where it exists, an Adobe IMS ID (used by Adobe platform APIs):
organization.idimsOrgId (also exposed as organization.externalOrgId)team.iduser.idimsUserIdorganization fields
These fields are found in the active organization record. Most extensions require only id, name, and the identifiers.
idnameexternalOrgIdimsOrgId).externalIdcountryIdtimezoneIdserviceNameteamIdslicensescenariosCountactiveScenariosactiveAppsoperations, operationsExttransfer, transferExtisPausedisDeletedimsEnabledusersCountteam fields
These fields are present when a team is active. You must provide a fallback in case the team is undefined (for example on an organization-level screen with no team selected).
idnameorganizationIdcountrytimezonelicenseactiveScenariosactiveAppsscenarioDraftsisDeleteduser fields
These fields apply to the signed-in Fusion user.
idnameemailavatarlocaleen.languagetimezonetimezoneIdcountryIdlocaleIdfeaturesallow_apps, public_templates).usersAdminsRoleIduser object may include additional internal fields. You should rely only on the fields documented here. Other fields can change without notice, and some authentication-related fields must never be logged or displayed.Dates
The context is serialized before it reaches your extension, so date fields arrive as strings (ISO 8601, such as "2026-06-24T00:00:00.000Z"), not JavaScript Date objects. You can convert these if needed:
const resetDate = new Date(context.organization.nextReset);
Context updates
Fusion re-sends the whole context (via contextchange) when:
- the user switches organization,
- the user switches teams, or
- the signed-in user’s information changes.
Always re-read all the keys you use inside your contextchange handler rather than assuming only one value changed.
Security best practices
- Never log, display, or persist
imsToken. Treat it like a password. - Send the token only to trusted Adobe/Fusion endpoints, over HTTPS, as a
Bearertoken. - Do not store personal data from the context beyond what your feature needs.
Use the token to call APIs
To turn imsToken (plus organization.id / team.id) into real Workfront or
Fusion data, you cannot call those APIs directly from the browser, because CORS blocks
it. Route the call through a small App Builder runtime action instead. See
Calling Workfront and Fusion APIs.
To continue the process of creating a custom extension, see Publish your extension.