Directory Sync (SCIM)
Directory Sync mirrors users and groups from your IdP into gigamcp automatically. New hires appear within seconds; folks who leave are deprovisioned by the IdP without manual cleanup in gigamcp. We use WorkOS Directory Sync as the SCIM endpoint.
Supported IdPs (SCIM v2)
- Okta
- Microsoft Entra ID / Azure AD
- Google Workspace
- OneLogin, JumpCloud, Rippling
- Generic SCIM 2.0
Setup
- From Enterprise → Single Sign-On, press Configure SCIM provisioning.
- The WorkOS Admin Portal opens. Pick your IdP and follow the rotating-bearer-token flow; the Portal generates a SCIM endpoint URL + bearer token your IdP can post against.
- Paste the resulting
directory_…id into Directory id (SCIM) on the SSO page and press Save. - On the IdP side, assign users + groups to the gigamcp app. Within ~30 seconds you should see them appear under Enterprise → Directory Sync.
What gets synced
- Users: email (primary), display name,
activeflag. Inactive users are removed from memberships but the row is preserved for audit history. - Groups: name, member list. The local group keeps the IdP's group id in
directory_group_id; this lets us round-trip updates idempotently.
What does NOT get synced
- Roles. SCIM has no concept of gigamcp-specific roles (member / admin / owner); the first synced user keeps whatever role the inviter set, and you assign roles in the gigamcp UI as usual.
- Audience filters on knowledge sources. Audiences reference groups by id, so if you delete a synced group from the IdP, any knowledge source whose audience pinned that group becomes invisible until you fix the audience filter.
Webhook endpoint
WorkOS posts SCIM events to POST /api/webhooks/workos/directory-sync on gigamcp. The body is HMAC-signed with the per-deployment WORKOS_WEBHOOK_SECRET; we reject any request with an invalid signature.
Provenance and immutability
Rows mirrored from the directory carry a provenance: directorytag and are read-only in the gigamcp UI. To rename a synced group or change a synced user's name, edit it in the IdP — the change propagates to gigamcp automatically.
Disabling Directory Sync
Clear the Directory id field on the SSO page. New SCIM events are then dropped on the floor. The mirrored users + groups remain in gigamcp; you can convert them to local rows manually with the help of support.