Skip to main content
Turn on SCIM for your SSO connection, then give your identity provider (IdP) the SCIM base URL and token. This page covers Okta, Microsoft Entra ID, OneLogin, PingOne and other SCIM 2.0 providers, and which identity providers can’t send SCIM. You need to be a Sazabi owner, or use a secret key with permission to manage SSO (can_manage_sso), and an administrator at your IdP.

Turn SCIM on

  1. Go to Settings > Single sign-on.
  2. In the SCIM provisioning section, click Turn on SCIM.
  3. Copy the token with Copy SCIM token, and paste it into your IdP.
Sazabi shows the token once; it stores only a hash and can’t show it again. If you lose it, rotate the token. Turning SCIM on needs a connection, and the connection’s Allow sign-in must be on. If SCIM is already on, nothing changes and no token is shown; rotate the token to get a new one. A token never expires unless you give it an expiry: from the CLI with --expires-at, a future date in ISO 8601, or in Terraform with token_expires_at. Owners get an email 14 days and again 1 day before the current token expires. Rotate it before then, and paste the new token into your IdP.

Connect your identity provider

Sazabi matches people by the SSO subject and the SCIM externalId. On a connection nobody has signed in through yet, make both your IdP’s immutable ID, so an email change never splits a person in two. If people already sign in through the app with an email name ID, keep it, and send the same email as externalId instead. See SCIM provisioning. Sazabi reads the person’s address from the primary email, or from userName when no email is sent. The address must be on one of your verified domains (see Add SSO domains), and Sazabi matches people by email at SSO sign-in too. So use the person’s email as userName, unless your IdP uses the immutable ID for both, as Okta does below. Only the Okta steps have been tested against a live Sazabi organization. The others follow each vendor’s documentation.
Use the Sazabi SAML 2.0 app you created in Configure SSO.
1

Choose SCIM

In the Okta Admin Console, open the Sazabi app. On the General tab, edit App Settings, set Provisioning to SCIM and save. A Provisioning tab appears.
2

Connect Okta to Sazabi

On the Provisioning tab, open Integration and enter the values above. Under Supported provisioning actions, choose Push New Users and Push Profile Updates. Don’t choose Push Groups: Sazabi doesn’t support groups. Click Test Connector Configuration, then save.
3

Choose what Okta sends

Under Provisioning > To App, enable Create Users, Update User Attributes and Deactivate Users, then save. Leave Sync Password off; Sazabi accounts have no password.
4

Map the Okta user ID

Make the Okta user ID, which never changes, both the SSO subject and externalId:
  • SSO subject: on the app’s Sign On tab, the Application username format is Custom with user.getInternalProperty("id"), as in Configure SSO. For OIDC, the subject is the sub claim, which Okta already sets to the user ID.
  • userName: Okta sends the application username, so it’s the Okta user ID.
  • Email and name: Okta’s default mappings send the email address, given name and family name.
  • externalId: without one, Sazabi uses the userName, the Okta user ID, as the identifier. To send it anyway, in Directory > Profile Editor, open the Sazabi app’s user profile. If it has no attribute with the external name externalId, add one, then map it from the Okta user with user.getInternalProperty("id").
If people already sign in through this app with an email name ID, don’t change it; map externalId to user.profile.email instead.
5

Push the people already assigned

Okta pushes people when they’re assigned to the app. People assigned before you turned on provisioning aren’t pushed, and Force Sync doesn’t push them. On the Assignments tab, unassign each of them and assign them again.
What Okta sendsCommon mistakes
  • Expecting people assigned before provisioning was on to arrive. Unassign and reassign them.
  • Pasting the token with a Bearer prefix into a field that adds one.
  • Turning on Push Groups. Group requests answer 501.

SCIM support by identity provider

Some identity providers can’t push SCIM to a custom app. With those, turn on Add people on their first sign-in on your SSO connection, so people join at their first SSO sign-in, and remove people on Settings > Members. See Adding people on first sign-in.
Google WorkspaceGoogle sends SCIM only to the apps in its automated-provisioning catalog, which doesn’t include Sazabi. With Google, people join on their first SSO sign-in, and you remove them on Settings > Members: turning the Sazabi app off for someone in Google stops their SSO sign-ins, but they stay a member.

Verify provisioning

Assign a test person on a verified domain to the app in Okta.
The person appears on Settings > Members with the connection’s default role, and Last change received in the SCIM provisioning section of Settings > Single sign-on updates. Then have them sign in through SSO.

Further reading

Configure SSO

Create the SSO connection SCIM runs on.

Troubleshooting SCIM

What each SCIM error means and what to do.