This feature is available on the Enterprise plan and requires SSO to be enabled.
Overview
As organizations grow, managing user accounts across applications becomes complex. Adding and removing teammates, changing roles, and revoking access all take time and are easy to get wrong. SCIM (System for Cross-domain Identity Management) solves this by making your identity provider (IdP) the single source of truth. You map your IdP groups to Userpilot roles once, and Userpilot keeps teammates and their access in sync automatically. It provisions new users, updates roles, and removes people who leave.Use cases
- Automatically create, update, and remove Userpilot teammates as your IdP changes.
- Keep roles consistent by mapping IdP groups (from Okta, Microsoft Entra ID, and others) to Userpilot roles.
- Revoke access promptly when employees leave or change teams.
- Eliminate manual teammate management across multiple applications.
Prerequisites
- An Account Owner role, or a role with the Manage SCIM permission.
- SSO configured and enabled.
- An active subscription with a SCIM-capable IdP.
- A Userpilot organization on the Enterprise plan.
Roles in Userpilot
Userpilot ships four built-in system roles that you can map IdP groups to:
You can also map groups to any custom roles you have created in an application. The Admin Console has its own role set (Admin, Billing, View Only, and Account Owner). For more on roles and permissions, see Managing your team in Userpilot.
Enable SCIM for the organization
1
Step 1: Set up SSO
SCIM builds on SSO. If you have not already, go to Settings > Team > Authentication, click Enable on the SSO card, and connect your identity provider.





2
Step 2: Set up SCIM
In the Directory sync (SCIM) card, click Setup SCIM and follow your IdP’s instructions for adding SCIM provisioning.
3
Step 3: Map IdP groups to roles
Click Map Roles to open the mapping wizard:
-
Add Groups. Select the IdP groups you want to give access to the organization.

-
Map groups with application roles. Align each IdP group with a role in each application. When you have multiple applications, you can map the same group to different roles in each one.

- Review changes. Userpilot shows a preview of exactly what will happen. Nothing is applied until you confirm, and going back changes nothing.
4
Step 4: Sync your directory
Confirm the preview to apply the mapping. Provisioning runs in the background and is durable: it survives restarts and retries automatically. When it finishes, your teammates appear under the Team page.

After SCIM is successfully configured, SSO Mandatory Login is enforced for everyone in the organization. While SCIM is enabled, SSO cannot be disabled. Disable SCIM first if you need to.
Creating a custom role
While mapping groups, you can create a new role. Click Create Role, enable the permissions you want, and click Create. The new role becomes available for mapping.
Default role for unmapped groups
Each application’s mapping table ends with an Individuals row. This row covers IdP users who belong to no mapped group (and users whose groups are all unmapped). Pick a role to provision them automatically, or choose Skip - don’t add to Userpilot to leave them out.
What if a teammate is in multiple groups?
If a teammate belongs to several mapped groups, Userpilot resolves their role automatically by granting the highest-privilege role among those groups. You do not need to restrict people to a single group in your IdP.Choosing who owns roles
The Role management cards let you decide whether your IdP or Userpilot controls teammate roles:- Identity provider. Your directory controls who has access and their roles. Map each group to a role, and unmapped users follow the “All other groups” default.
- Leave Strictly enforce IdP roles off (recommended) for hybrid behavior. Roles come from your IdP groups, but any role you change in Userpilot is kept across syncs.
- Turn Strictly enforce IdP roles on for fully provider-owned behavior. Every sync replaces all roles to match your IdP, overwriting changes made in Userpilot.
- Userpilot. SCIM provisions and removes users but never changes roles. You manage every teammate’s role in Userpilot.

Whenever SCIM is active, inviting or importing teammates directly in Userpilot is disabled in every role-management mode, not only when the identity provider owns roles. Teammate membership comes from your IdP. Role management is separate: manual role edits are still allowed in hybrid and Userpilot modes, as described above.
Syncing users
Use Sync Users on the Authentication page to re-sync all mapped groups on demand. Before anything is applied, a preview shows exactly what will change, grouped by application:- Will be added. New teammates and their roles.
- Role changes. The current role and the new role.
- Not applied (kept as-is). Memberships that are skipped, with the reason.
- Not found in your IdP. Listed for information only. A manual sync never removes anyone. Removals happen only when you re-map.

Real-time directory events
Once SCIM is set up, Userpilot stays in sync with your IdP in real time by listening to directory events:
Directory events take effect only after you complete the initial group mapping. While SCIM is connected but not yet mapped, changes in your IdP do not add, remove, or re-role anyone in Userpilot. The last remaining Account Owner is always protected and is never removed by a sync.
Audit log
Every provisioning action is recorded in the organization’s access logs, alongside sign-ins, invites, and role changes, with one entry per change. You can filter by Source (Web app, SCIM provisioning, SSO sign-in, CSV import) and Activity (Member provisioned, Member deprovisioned, Changed a member’s role, Role sync skipped (set manually), plus sign-in, 2FA, and SSO events), and search by teammate. Each entry shows the teammate, the role before and after, who triggered it, the application, and the reason. See Access and activity logs for more.When a sync fails
If a provisioning run fails, the Authentication page surfaces the error and the SCIM card shows a failure banner. Provisioning is durable and retries automatically, so transient failures usually clear on their own; you can also re-run Sync Users or re-map your groups to recover. Retrying removes no teammates.Disable SCIM
Disabling SCIM has the following effects:- SCIM configuration and all group mappings are removed from Userpilot.
- The connection to your IdP directory is disconnected.
- Manual teammate management is unlocked again.
- Teammates already provisioned through SCIM keep their access.
- SSO Mandatory Login remains enforced.
FAQs
Will a sync ever remove the last Account Owner?
Will a sync ever remove the last Account Owner?
No. The last remaining Account Owner is always protected and is never removed by a sync, even if their IdP group changes.
Will SCIM overwrite roles I change manually in Userpilot?
Will SCIM overwrite roles I change manually in Userpilot?
It depends on your role-management mode. In hybrid mode (Identity provider selected, strict enforcement off), manual role edits survive syncs. With Strictly enforce IdP roles on, every sync overwrites roles to match your IdP. In Userpilot mode, SCIM never touches roles.
What happens to a teammate in several mapped groups?
What happens to a teammate in several mapped groups?
Userpilot grants the highest-privilege role among their mapped groups. You do not need to limit teammates to a single IdP group.