Set up SCIM provisioning for Robin with Okta's connector app.
Requirements
- Advanced Authentication + User Management
- Administrator access in Robin
- Active Okta account
Supported provisioning features
Robin supports these provisioning features:
- Push New Users: When you create a user in Okta, Robin creates the user too.
- Push Groups: When you create a group in Okta, Robin creates the group too.
- Push Profile Updates: When you update a user's profile in Okta, Okta pushes the changes to Robin.
- Push User Deactivation: When you deactivate a user in Okta, or turn off the user's access to the application, Robin deactivates the user.
- Import New Users: Okta downloads new users created in Robin and turns them into new AppUser objects, to match them against existing Okta users.
- Import Profile Updates: Okta downloads changes to a user's profile in Robin and applies them to the profile fields stored in Okta.
- Reactivate Users: You can reactivate user accounts in the application.
Robin does not support password syncing.
Prerequisites
Robin requires only one attribute: a primary email. Okta maps these attributes by default. Robin recommends that you keep them:
userNamefamilyNamegivenNameemail
These attributes are Optional:
departmentcostCenterdivisionemployeeNumberlocaletitlemanagerpreferredLanguage
You set optional attributes with 2 different schemas, Core and Enterprise:
- To sync the
title,localeorpreferredLanguageattributes, create a new attribute mapping and set the External namespace tourn:ietf:params:scim:schemas:core:2.0:User. - To sync the
department,costCenter,division,employeeNumberormanagerattributes, create a new attribute mapping and set the External namespace tourn:ietf:params:scim:schemas:extension:enterprise:2.0:User.
For example, to sync the department field, add a new attribute and set the mapping as the user profile mapping example shows.
Already have SAML turned on?
If you set up a new instance of Robin in Okta, for example to add SCIM, select ‘email’ when you map the email SAML attribute. This avoids duplicate accounts for users that SAML already added to Robin. In Okta, go to Applications > General > App settings > Email attribute value. Choose Email, not Username. Email should be selected by default.
Set up SCIM provisioning in Okta
To set up provisioning, you need administrator permissions and access to the Robin web dashboard. You also need admin access to your Okta org.
Generate a SCIM token in Robin
Okta uses this token to connect to Robin.
- In the web dashboard, go to Manage > Integrations.
- Under Add Connectors, search for Okta and select Set up. If Okta is already in the Installed list, select Manage. The Okta page opens.
- In the Directory provisioning card, select Generate SCIM token. The SCIM Provisioning page opens. You can also open this page from the SCIM provisioning tile.
- Select Generate Token for SCIM.
- Copy the token. Robin shows the token only once.
Add the token in Okta
Add the Robin app in Okta and turn on provisioning with the token.
- In a new browser tab, open the Okta Admin Console.
- Go to Applications, search the app catalog for Robin, and select Add.
- In the Robin app, open the Provisioning tab and select API Integration.
- Select Enable API integration.
- Paste the token into API Token. To check the token first, select Test API Credentials.
- Select Save.
- Under Provisioning > To App, select Edit.
- Turn on the provisioning features you want, such as Create Users, Update User Attributes and Deactivate Users.
- Select Save.
You can then assign people to the app.
Sync the department attribute (optional)
To sync the department attribute, create a new attribute for department:
- In the Okta Admin Console, go to Directory > Profile Editor.
- Open the Robin User profile and select Add Attribute.
- Set the External namespace to
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User. - Map
user.departmenttodepartment, as the user profile mapping example shows.
User profile mapping fields
This example shows the mappings on the Okta User to Robin tab of the Robin user profile mappings. Each Okta value maps to a Robin attribute:
| Okta value | Robin attribute |
|---|---|
user.firstName |
givenName |
user.lastName |
familyName |
user.email |
email |
An expression that returns 'work' when user.email is not empty |
emailType |
user.displayName |
displayName |
user.department |
department |
Robin sets userName.
Sync managers
To sync managers into Robin, add the manager attribute to the mappings. Its value must match the manager's externalId in Okta.
For example, User A has the Okta ID 00ux4tqjtye2qJJGq697, and User B has the Okta ID 00ux4u0o95rupibGT851. To make User A the manager of User B, set the manager field of User B to 00ux4tqjtye2qJJGq697. This value is User A’s Okta ID.
Okta must send each user’s Okta ID as externalId. The manager must also be provisioned to Robin through SCIM, in the same Robin organization.
Robin links managers every 3 hours. It links only people whose record changed since the previous evening. If you add the manager later, change any attribute on the employee so your identity provider sends an update. Robin then links the manager.
You find the Okta ID in the URL of the user’s profile in Okta.
If the Robin User profile has no manager attribute, add one in Profile Editor with data type string, display name and external name manager, and external namespace urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.
Troubleshooting
To turn on the Push Groups feature on existing application instances in Okta, turn on provisioning again:
- Open the Provisioning application tab.
- Select Integration, then select Edit.
- Make sure Enable API integration is selected, then select Save.