Use this file to discover all available pages before exploring further.
This guide explains how to push users and groups from Okta into TrueFoundry automatically using SCIM 2.0. With SCIM enabled, assigning a user (or one of their groups) to your Okta application creates them in TrueFoundry; removing the assignment deactivates them. Okta group push syncs group memberships as TrueFoundry teams.
Single sign-on between TrueFoundry and Okta is already configured. Follow SAML with Okta or OIDC with Okta first — SCIM is configured inside the same Okta application.
You have Admin access in both TrueFoundry and Okta (Super Admin or App Admin in Okta).
You’re on TrueFoundry v0.143 or higher. (On earlier versions, SCIM is configured directly inside the SSO form.)
Okta does not send a SCIM DELETE operation when a user is unassigned or deactivated. Instead it sends a PATCH with active=false. TrueFoundry handles this as a soft deactivation — see the Troubleshooting section.
Step 1 — Generate the SCIM credentials in TrueFoundry
1
Enable SCIM provisioning
In TrueFoundry, go to Settings → Security & Access → Provisioning and turn on the SCIM toggle.
2
Open View Config
On the Provisioning page, click View Config on the SCIM row.
3
Copy the SCIM URL and token
In the SCIM configuration dialog, copy both values using the copy icons next to each field:
SCIM URL — this is the value Okta calls the SCIM connector base URL.
Token — this is the bearer token Okta calls the SCIM 2.0 authentication token.
Store the token somewhere safe and treat it like a password. If you lose it, open View Config again to generate a new token — which invalidates the previous one.
Click the Provisioning tab. By default Okta lands on the Integration view. Click Edit on the top right of the card.
2
Fill in the connector settings
Enter the following values:
Okta field
Value
SCIM connector base URL
The SCIM URL from TrueFoundry
Unique identifier field for users
email
Authentication Mode
HTTP Header
HTTP Header → Authorization
Bearer + the Token from TrueFoundry
The Unique identifier field for users must be email exactly. TrueFoundry matches incoming SCIM users to TrueFoundry accounts by email address.
3
Pick the supported provisioning actions
Set the Supported provisioning actions checkboxes as follows:
Action
Setting
Import New Users and Profile Updates
Unchecked
Push New Users
Checked
Push Profile Updates
Checked
Push Groups
Checked
Import Groups
Unchecked
Leave Import Groupsunchecked. The SCIM connection will fail to save otherwise.
4
Test and save
Click Test Connector Configuration. Okta probes the SCIM endpoint; on success you’ll see Connector configured successfully and a list of detected provisioning features. Click Close, then click Save.
If the test fails with a 401 response, your token is wrong or has been rotated. Generate a new SCIM token in TrueFoundry and re-paste it into the Authorization field.
Open the Assignments tab. From the Assign dropdown choose either Assign to People or Assign to Groups, pick the users/groups you want to provision, and click Assign for each. Click Done when finished.
Prefer assigning groups. Group memberships become TrueFoundry teams, and managing membership at the IdP level scales better than user-by-user assignment.
2
Push groups to TrueFoundry
Open the Push Groups tab. From the Push Groups dropdown choose Find groups by name (or Find groups by rule for prefix matches). Search for the group(s) you want to send to TrueFoundry and click Save.Okta will create matching groups in TrueFoundry and continuously sync membership.
Go to Access → Users in TrueFoundry. Assigned Okta users should appear within a few minutes with their email, first/last name, and group memberships populated. Pushed groups appear under Access → Teams.
If you assigned users to the application before enabling SCIM, Okta won’t replay those events automatically. Use Provisioning → To App → Force Sync (or unassign and re-assign the user) to trigger an initial sync.
Sync cadence — Okta pushes changes in near-real time when users are assigned, unassigned, or their profile changes.
Deactivation — Unassigning a user (or deactivating them in Okta) sends a PATCH with active=false. TrueFoundry deactivates the user instead of deleting them.
Group naming — Pushed Okta group display names become TrueFoundry team names. See Provision teams via SCIM for naming rules.
Test Connector Configuration fails with 401 Unauthorized
The bearer token is incorrect or has been rotated. Generate a new SCIM token in TrueFoundry, paste it into Okta’s Authorization field, and click Test Connector Configuration again.
Test Connector Configuration fails with 'Import Groups not supported'
Okta tries to verify the import-side capabilities even when you only push. Open Provisioning → Integration → Edit and make sure Import Groups is unchecked, then save and test again.
A user was assigned in Okta but never appeared in TrueFoundry
In Okta, go to Reports → System Log and filter for target.displayName eq "<your-app>" — you’ll see the SCIM call Okta made (or didn’t make).
Confirm the user is active in Okta and is assigned to the application (directly or via an assigned group).
Use Provisioning → To App → Force Sync to retry. If the user was assigned before SCIM was enabled, Force Sync is the only way to backfill them.
No DELETE event when a user is removed in Okta
This is expected. Okta does not issue SCIM DELETE operations. Instead, when a user is unassigned, suspended, or deactivated, Okta sends a PATCH that sets active=false. TrueFoundry interprets this as a deactivation — the user is disabled in TrueFoundry but their history (audit log, runs, etc.) is preserved.
A user was deactivated in Okta but TrueFoundry didn't react
Okta only dispatches a SCIM event for users who are explicitly unassigned from the application. Suspending or deactivating a user in Okta without unassigning them is a known Okta limitation and will not trigger a SCIM PATCH. As a workaround, remove the user from the assigned groups or unassign them directly from the application.
Group memberships aren't syncing
Confirm that you pushed the group itself on the Push Groups tab (not just the underlying users on Assignments), and that Push Groups is checked under Provisioning → Integration → Supported provisioning actions. Nested groups are not supported — only direct members of a pushed group are synced.