These instructions explain how IT admins can set up SCIM user provisioning for their team. For more information about SCIM user provisioning, see this article.
Limitations:
- Admins cannot be managed via SCIM. If a user is provisioned via SCIM and then promoted to admin, it won't be possible to continue managing that user via SCIM.
- Existing accounts not associated with your organization cannot be imported into your organization during SCIM provisioning.
- Email update operations cannot be completed if used in conjunction with Email NameID policy format. This is only applicable to SSO configurations using SAML.
Prerequisites
- Admin access to DeepL
- Remove JIT group synchronization and groups, if it was enabled in a previous setup. Follow the instructions in this article.
- SCIM provisioning with OneLogin is currently only available for SAML.
Set the SCIM configuration in OneLogin
We recommend to create a new SCIM Provisioner with SAML (SCIM v2 Core) application that handles both SSO and provisioning. If you want to enable SCIM without migrating to a new application by adding a separate, provisioning-only application, see Add SCIM without migrating to a new application.
Create the application
- In the OneLogin administration panel, go to the applications panel and click Add App
- Search for and select the application named SCIM Provisioner with SAML (SCIM v2 Core)
- Click Save
Configure the connection
- Go to the Configuration tab
- In the SAML Audience URL field, enter
https://w.deepl.com/auth/realms/prod - In the SAML Consumer URL field, enter
https://w.deepl.com/auth/realms/prod/broker/{your-sso-subdomain}/endpoint. Replace{your-sso-subdomain}with the domain name you supplied when you configured SSO on the DeepL SSO settings page. For more information, see this article. - In the SCIM Base URL field, enter
https://scim.deepl.com -
In the SCIM JSON Template field, enter the following template:
{ "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ], "userName": "{$parameters.scimusername}", "name": { "formatted": "{$user.display_name}" }, "externalId": "{$parameters.externalId}", "active": "{$user.status}" } - Click Save
Enable provisioning
- Go to the Provisioning tab
- Select Enable provisioning
- Ensure admin approval is required for all operations for now. This lets you test the connection with one or two users and groups before provisioning runs automatically.
-
Click Save
Configure the parameters
- Go to the Parameters tab
- Click the Groups field, select Include in User Provisioning, and click Save
- Click the NameID field and set the value to OneLogin ID
- Click the scimusername and set the value to Email
- Click the plus icon to create a new parameter. Set the field name to
firstName, select Include in SAML assertion, and click Save. Set the value to First Name and click Save. - Repeat the previous step to create the following parameters:
-
lastNamewith the value Last Name -
emailwith the value Email -
externalIdwith the value OneLogin ID
-
- Click Save.
scimusername value must match the email address attribute value set in your SSO configuration. If SSO and SCIM are not aligned, duplicate accounts may be created for a user.Add a group mapping rule
- Go to the Rules page
- Click Add Rule
- In the Name field, enter a name for the rule. We recommend Role to Groups.
- Leave the Conditions empty
- Under Actions, set the first dropdown to Set Groups in <application name>, and set the radio buttons to Map from OneLogin
- Set the next dropdown to role. In the text box, enter a regular expression to filter role assignments to those relevant to DeepL. For example, enter
DeepL.*for roles starting with DeepL, or.*to match all roles. - Click Save, then save the application
Set the signature algorithm
- Go to the SSO page
- Change the signature algorithm to SHA-256
- Click Save
Assign access
- Go to the Access page
- Select the roles that should be given access to DeepL
- Click Save
Get Metadata URL
- Select SSO from the left side menu
- Copy the metadata URL from Issuer URL and use it to continue to set the SSO configuration in DeepL admin account. For more information, see Set the SSO configuration in DeepL account.
- Check if SHA-256 or SHA-512 is selected under SAML Signature Algorithm
- Save the changes
Set the SSO configuration in DeepL account
- Go to the Settings tab in your DeepL admin account.
Under Team and Single sign-on the SSO domain has the status Domain name approved. - Click Set up SSO next to Single sign-on.
In the Set up SSO form select SAML as the Authentication type - Select Import from URL paste the Metadata URL from OneLogin. For more information, see Get Metadata URL.
- Set NameID policy format to Persistent
- Enter the following
- Assertion attribute: First name = firstName
- Assertion attribute: Last name = lastName
- Assertion attribute: Email address = email
Enable SCIM in DeepL account
- Go to the Settings of your DeepL account
- In section Team and User provisioning configuration, click Manage user provisioning
-
Select Enable SCIM provisioning
An SCIM admin API key is created. You need this API key for your configuration in OneLogin.If you've previously set up JIT group synchronization, make sure to disable it to avoid any user provisioning issues. Before disabling JIT group synchronization, export your existing groups and users. - Go to your OneLogin SCIM application
- Go to the Configuration page
- In the SCIM Bearer Token field, enter your SCIM API key. You will find your SCIM API key in your DeepL admin account under Admin keys. For more information, see this article.
- Click Save
Test provisioning
- Go to the Configuration page and click Enable under API Connection. OneLogin now collects users and roles but will not provision them without admin approval.
- Test the connection with one or two users and groups
- Once you tested the connection, go to the Provisioning tab. Under Require admin approval before this action is performed, clear the operations that no longer require approval, and click Save.
After groups are provisioned, link a subscription to each group to give users product access. For more information, see this article.
Migrate with existing SAML SSO setup
If you're an existing customer and already have setup SSO using the SAML protocol but don't see any options to configure SCIM in OneLogin, migrate with the following steps. If you're a new customer without a previous SSO setup continue with Enable and test provisioning.
- Go to the Configuration page and check under API Connection that Disabled is selected
- To minimize disruptions, check that all access permissions are the same as those in the existing SSO configuration
- Go to the Settings of your DeepL account
- Click Edit next to Single sign-on (SSO)
- Go to OneLogin and get the metadata URL on the SSO tab for the registered application that you have created with the steps under Create the application. Add the URL to the Single sign-on (SSO) settings in your DeepL account and click Confirm.
The new application registration is now in use for SSO login. Ensure that it is working correctly before continuing with Enable and test provisioning.
Add SCIM without migrating to a new application
You can enable SCIM without migrating to a new application by adding a separate, provisioning-only application. Keep the following trade-offs in mind before you choose this approach.
- You take on the additional overhead of maintaining a second application for provisioning with DeepL
- Role management and access become more complex, because actions must be duplicated between the two applications
- Discrepancies between the two applications can create confusion and undesirable outcomes, and such discrepancies are easy to create
- Follow the steps under Create the application but ensure that Visible in portal is disabled, because this application is used for provisioning only and not for authentication. Click Save.
- Go to the Configuration tab
- In the SCIM Base URL field, enter
https://scim.deepl.com - In the SCIM Bearer Token field, enter your SCIM API key. You will find your SCIM API key in your DeepL admin account under Admin keys. For more information, see this article.
-
In the SCIM JSON Template field, enter the following template:
{ "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ], "userName": "{$parameters.scimusername}", "name": { "formatted": "{$user.display_name}" }, "externalId": "{$parameters.externalId}", "active": "{$user.status}" } - Click Save
- Go to the Parameters tab
- Click the Groups field, select Include in User Provisioning, and click Save
- Click scimusername. The value here must match the value of the EmailAddress parameter in your SSO application configuration. If you use SAML and these values do not match, duplicate accounts may be created for a user. If you use OIDC, set the value to OneLogin ID. Click Save.
- Click the plus icon to create a new parameter. Set the field name to
externalIdand select Include in User Provisioning. Set the value to OneLogin ID and click Save. - Add the group mapping rule described in Add a group mapping rule, then save the application
- Select the roles for provisioning, as described in Assign access , and click Save
- Test the connection as described in Enable and test provisioning
Download provisioning logs
To troubleshoot provisioning issues or verify successful operations:
- In your OneLogin admin console, go to Activity > Reports.
- Create a report that filters by your DeepL application and provisioning events.
- Click on individual events to view detailed information.
- To export logs, click Download CSV or use the OneLogin API to retrieve logs in JSON format.
For more information about OneLogin provisioning logs, please see OneLogin's own documentation.