Complete SSO using OIDC before setting up SCIM. The Google Workspace OIDC integration provides the OAuth credentials and Directory API access that SCIM provisioning builds on.
How Google Workspace provisioning works
Google Workspace does not natively push SCIM to external endpoints. Instead, Bifrost uses two complementary mechanisms:| Method | Trigger | Use case |
|---|---|---|
| Directory API background sync | Every 24 hours | Reconciles all users, roles, and group memberships |
| OIDC session refresh | Every 15 minutes | Detects deactivated users between syncs |
Step 1: Verify Directory API access is configured
Confirm the service account is set up
The Directory API sync requires a Google Cloud service account with domain-wide delegation, configured in Steps 3 and 4 of the OIDC guide.If you skipped that section, return to the OIDC guide and complete it before continuing.
Confirm the scopes are authorized
In the Google Admin Console, go to Security → Access and data control → API controls → Manage Domain Wide Delegation.Verify the service account’s Unique ID is listed with all three scopes:

Step 2: Configure sync scope in Bifrost
Open your Google Workspace provider
In your Bifrost dashboard, go to Governance → User Provisioning and open your configured Google Workspace provider.
Set group and team mappings
To control which Google Workspace groups are synced as Bifrost teams, configure Attribute-to-Team Mappings in the provider settings:
- Use
*as the value to sync the groupdisplayNamedirectly as the team name - Use a specific group name to map a single group to a named Bifrost team

Step 3: Trigger and verify sync
Run a manual import
To sync users immediately without waiting for the 24-hour cycle, go to Governance → User Provisioning → Import Users.Filter by a Google Workspace group, click Preview, and confirm the expected users appear.Click Import to bring them into Bifrost with the roles assigned by your attribute mappings.

How sync works
OIDC provisioning - users are provisioned in Bifrost on their first successful login. Role and team assignments are derived from the JWT claims at login time. Background reconciliation - every 24 hours, Bifrost reconciles all users in the directory against the current state in Google Workspace. This catches deactivations, group membership changes, and new users who have not yet logged in. Session refresh - every 15 minutes, Bifrost attempts to refresh active OIDC sessions. If a user’s Google account has been suspended or deleted, their Bifrost session is terminated at the next refresh cycle.Troubleshooting
Users not appearing in Import Preview - confirm the service account has the three Directory API scopes authorized in Domain-Wide Delegation. Check that theadminEmail is a Super Admin or has the User Management Admin role.
Group memberships not syncing - verify GroupMember.Read.All scope is included in Domain-Wide Delegation. Groups must be assigned to the Bifrost application in the Google Admin Console for the groups claim to appear in the token.
Sync completes but roles are wrong - review your Attribute-to-Role Mappings in the provider settings. Use Discover Claims to inspect the live claims and confirm the group names match your mapping values exactly.
