Microsoft Entra SCIM Integration
This guide explains how to configure Microsoft Entra provisioning for Specmatic Insights SCIM.
It uses the required mapping:
- Provision
userName(email) andactive. - Groups are supported by Insights, but not required for this setup.
Current Limitations
- Insights roles and identity types are not provisioned directly through Entra SCIM user/group attributes.
- After group sync, role and identity type mapping is configured in Insights from the Collaborators page.
For the user-facing meaning of those role and account type combinations, see Role Permissions.
For SCIM protocol details, see SCIM Reference.
Prerequisites
- Org admin access to Specmatic Insights
- Admin access to Microsoft Entra admin center
- A SCIM token from Insights:
- Go to Settings -> Identity Access
- Enable SCIM
- Select Rotate Token
- Copy the one-time token value
Step 1: Create a non-gallery enterprise app
Use a non-gallery app. This is required for custom SCIM endpoint configuration and custom attribute mappings.
- In Entra admin center, go to Identity -> Applications -> Enterprise applications.
- Select New application.
- Select Create your own application.
- Enter an app name (for example,
Specmatic Insights SCIM). - Choose Integrate any other application you don't find in the gallery (Non-gallery).
After creation, Entra opens a Get started with application provisioning wizard. Continue from that wizard.
Step 2: Configure provisioning endpoint
- In the Get started with application provisioning wizard, select Get started (or open Provisioning from the app menu).
- Set Provisioning Mode to Automatic.
- Set Tenant URL to:
https://insights.specmatic.io/<orgId>/scim/v2
- Set Secret Token to the SCIM token from Insights.
- Select Test Connection and save.
Step 3: Configure user provisioning mappings (required)
- In Provisioning -> Mappings, open Provision Microsoft Entra ID Users.
- Keep Target Object Actions enabled for create, update, and delete (default).
- Remove default mappings you do not want to send.
- Keep only these target attributes:
userNameactiveexternalId(recommended)
- Configure
userNamesource to an Entra email identity:- Recommended:
userPrincipalName
- Recommended:
- Keep
activemapped from Entra account state. - Save mappings.
Required: Keep
userNameandactivemappings.externalIdis optional but recommended. Remove all other user attribute mappings in Entra for this integration.
Mapping guidance
userNamemust be an email address for Insights.- Insights currently supports only this required mapping for this flow; extra profile attributes must not be sent.
activecontrols user lifecycle (provision/deprovision state).externalIdis also supported. If you choose to map it, use an immutable Entra identifier that does not change over time (recommended:objectId).
Example required mapping
| Source attribute (Entra) | Target attribute (SCIM) |
|---|---|
userPrincipalName | userName |
Switch([IsSoftDeleted], , "False", "True", "True", "False") (default active expression) | active |
objectId | externalId (recommended) |
Step 4: Configure scope and assignments
- In Provisioning settings, set Scope to:
- Sync only assigned users and groups (recommended)
- Go to Users and groups in the enterprise application.
- Assign only the users (and optionally groups) that should be provisioned.
Step 5: Group provisioning (optional)
If you only want group lifecycle provisioning:
- In Provisioning -> Mappings, open Provision Microsoft Entra ID Groups.
- Disable group provisioning or remove group mappings.
- Save.
If you want SCIM groups as well, keep group provisioning enabled and follow group schema/behavior from SCIM Reference.
Step 6: Map synced SCIM groups to Insights role and identity type
After Entra sync starts and groups appear in Insights:
- In Insights, open Settings -> Collaborators -> SCIM Groups.
- Select one or more synced groups.
- Apply one of these mappings:
- Mark as User (Human)
- Mark as Admin (Human)
- Mark as User (Service account)
- Mark as Admin (Service account)
This mapping controls the effective org membership role and identity type for users hydrated from those groups.
Use Role Permissions to choose the right target combination for each synced group.
Step 7: Start provisioning
- Return to Provisioning.
- Select Start provisioning.
- Monitor View provisioning logs for create/update/deprovision operations.
Validate behavior
Expected behavior with this required mapping:
- Entra creates/updates users with
userNameandactive. - If mapped,
externalIdis synced and should remain stable for identity correlation. - Deprovisioning is reflected through
active=false(or delete based on Entra policy). - Group sync is optional, but required if you want role/identity assignment through group mapping.
- Once groups are synced, admins complete role/identity mapping in Insights from Collaborators -> SCIM Groups.
Troubleshooting
401/403from SCIM endpoint:- Verify bearer token from Insights and re-test connection.
400on create/update:- Verify
userNameresolves to a non-empty email-like value. - Verify
activemapping is present. - If
externalIdis mapped, verify it resolves to a non-empty immutable identifier (recommended:objectId).
- Verify
- Users not syncing:
- Ensure scope is assigned users and groups and assignments exist.
- Check Provisioning logs in Entra for mapping errors.