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 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:
userNameactive
- Configure
userNamesource to an Entra email identity:- Recommended:
userPrincipalName
- Recommended:
- Keep
activemapped from Entra account state. - Save mappings.
Required: Do not send any user attribute mappings other than
userNameandactive. Remove all other 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).
Example required mapping
| Source attribute (Entra) | Target attribute (SCIM) |
|---|---|
userPrincipalName | userName |
Switch([IsSoftDeleted], , "False", "True", "True", "False") (default active expression) | active |
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.
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. - 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.
- Verify
- Users not syncing:
- Ensure scope is assigned users and groups and assignments exist.
- Check Provisioning logs in Entra for mapping errors.