Configure Microsoft Entra outbound User provisioning for Diggle’s supported SCIM subset.
You need Diggle workspace administrator access, an Entra administrator who can manage application provisioning, the Entra tenant ID, and one assigned test user with an approved work email. Confirm the required Entra licensing with your tenant administrator.
| Entra source concept | Diggle SCIM target |
|---|---|
| Stable directory object identifier (objectId) | externalId |
| Approved deliverable work email or approved email-shaped principal | userName |
| Exactly the same approved source expression | emails[type eq “work”].value (optional) |
| Display name | displayName |
| Intended lifecycle expression | active |
| Explicit approved workspace role | urn:ietf:params:scim:schemas:extension:diggle:2.0:User:role (optional) |
Do not independently map differing UPN and mail values to userName and work email. When both are sent, they must identify the same normalized email. Choose any missing-mail fallback deliberately. Remove unsupported name components, company/HR fields, multiple emails, email labels, projectIds and reprovision mappings.
objectId directly to externalId. For a new integration, use it as the matching attribute with precedence 1. Check existing source-owned users before changing matching rules in an established integration.mail, map mail to userName. If you also send work email, use the identical source for both targets. Do not introduce a UPN fallback unless those values are approved deliverable addresses for your workspace.displayName directly. Apply profile and lifecycle mappings on both creation and updates.active as a Boolean target and use the lifecycle expression below. Do not replace it with a constant true.Switch([IsSoftDeleted], , "False", "True", "True", "False")The expression maps the provider’s soft-deleted/out-of-scope state to inactive. Test assignment removal and account disablement with your actual tenant configuration before rollout.
urn:ietf:params:scim:schemas:extension:diggle:2.0:User:roleSave the attribute list, then add a mapping to this target. If all assigned users should have Run only access, use a Constant value of runner. Otherwise map an approved source value that returns exactly admin, creator or runner. A constant applies to every user in scope and can change existing roles. Omit the mapping if Diggle should retain existing roles and use the default for new users.
See Microsoft’s attribute mapping instructions for the current portal controls and schema editor.
Keep Create and Update target object actions enabled. Disable the Delete target object action because Diggle rejects terminal SCIM DELETE. Keep the active lifecycle mapping and do not enable skip-out-of-scope deletions; unassignment must still send a disable update.
Note: Before permanently purging a directory user, confirm that Diggle received active=false or explicitly revoke the user’s workspace access in Diggle. If a user is purged before a disable update arrives, Delete-disabled configuration can leave access active.
Assign a small test scope under Users and groups. Set provisioning scope to assigned users and groups only, keep Group object synchronization disabled, and start provisioning. Use Provision on demand for a test user where available. Inspect Provisioning logs for the operation, status and error details, then verify access in Diggle. Test Connection alone does not validate mappings or offboarding.
See Microsoft’s provisioning lifecycle guidance and out-of-scope behavior.