Capabilities
| Resource | Sync | Provision |
|---|---|---|
| Accounts | ||
| Groups | ||
| Roles |
Gather Google Workspace credentials
Configuring the connector requires you to pass in credentials generated in Google Workspace. Gather these credentials before you move on.Create a new project
1
As a Google Workspace Super Admin, sign in to https://console.cloud.google.com.
2
In the toolbar, click the project select dropdown, and click NEW PROJECT.



3
Create a new project for your organization:
- Project Name: Choose a names, such as “ConductorOne Integration”
- Organization/Location: Choose the appropriate Organization/Location

4
After the project is created, make sure the correct project is selected in the dropdown at the top.

Enable the API
1
In the navigation menu, navigate to > APIs & Services > Library.

2
Search for and select the Admin SDK API.

3
Click Enable.

Create a service account
1
In the navigation menu, navigate to > APIs & Services > Credentials.

2
Select CREATE CREDENTIALS > Service Account.

3
Under Service account details, fill in the following:
- Service account name: ConductorOne Integration
- Service account description: for example, “Service account for ConductorOne Google Workspace Integration”
- Click CREATE AND CONTINUE

4
Under Grant this service account access to a project, grant the Editor role.

5
Leave Grant users access to this service account blank.
6
Click DONE.

Get credentials
1
Navigate back to APIs & Services > Credentials and select the service account you just created.



2
Click the service account’s email address. Locate and save the Unique ID.

3
On the Service Account Details Page, click KEYS.

4
Click ADD KEY > Create new key.

5
Choose JSON and click CREATE.



6
Keep the downloaded file somewhere safe.
Add the service account to Google Workspace
1
Go to https://admin.google.com as a SUPER ADMIN.
2
In the navigation menu, select Security > Access and data control > API Controls.
3
Click MANAGE DOMAIN WIDE DELEGATION.

4
Click Add new and fill out the form:
- Client ID: The service account’s unique ID
-
OAuth Scopes: Copy and paste in the relevant scopes
Use the following scopes to give ConductorOne READ access (for syncing access data):
Here’s an explanation of each scope’s purpose:
-
Scope: https://www.googleapis.com/auth/admin.directory.domain.readonly
Purpose: To identify the primary domain of the Google Workspace account. -
Scope: https://www.googleapis.com/auth/admin.directory.group.readonly
Purpose: To read and sync Google Groups. -
Scope: https://www.googleapis.com/auth/admin.directory.group.member.readonly
Purpose: To read and sync the members of each group. -
Scope: https://www.googleapis.com/auth/admin.directory.rolemanagement.readonly
Purpose: To read and sync roles and their assignments. -
Scope: https://www.googleapis.com/auth/admin.directory.user.readonly
Purpose: To read and sync users. -
Scope: https://www.googleapis.com/auth/admin.reports.audit.readonly
Purpose: To sync usage events and admin events (used in conjunction with incremental sync).
Here’s an explanation of each scope’s purpose:-
Scope: https://www.googleapis.com/auth/admin.directory.domain.readonly
Purpose: To identify the primary domain of the Google Workspace account. -
Scope: https://www.googleapis.com/auth/admin.directory.group.readonly
Purpose: To read and sync Google Groups. -
Scope: https://www.googleapis.com/auth/admin.directory.group.member
Purpose: (Write) To manage group memberships (add or remove users from groups). -
Scope: https://www.googleapis.com/auth/admin.directory.rolemanagement
Purpose: (Write) To manage role assignments (grant or revoke roles). -
Scope: https://www.googleapis.com/auth/admin.directory.user
Purpose: (Write) To provision/deprovision accounts. -
Scope: https://www.googleapis.com/auth/admin.reports.audit.readonly
Purpose: To sync usage events and admin events (used in conjunction with continuous sync). -
Scope: https://www.googleapis.com/auth/admin.datatransfer
Purpose: (Write) To transfer user data between Google accounts.
-
Scope: https://www.googleapis.com/auth/admin.directory.domain.readonly
5
Click AUTHORIZE.

6
In the navigation menu, select Account > Account Settings.
7
Copy the Customer ID from this page.

Locate your primary domain
1
In the navigation panel on the left, click Account > Domains.
2
Click Manage Domains. Locate and copy the domain labeled as the Primary Domain in the Type column.

Configure the Google Workspace connector
- Cloud-hosted
- Self-hosted
Follow these instructions to use a built-in, no-code connector hosted by ConductorOne.That’s it! Your Google Workspace connector is now pulling access data into ConductorOne.
1
In ConductorOne, navigate to Admin > Connectors and click Add connector.
2
Search for Google Workspace v2 and click Add.
3
Choose how to set up the new Google Workspace connector:
- Add the connector to a currently unmanaged app (select from the list of apps that were discovered in your identity, SSO, or federation provider that aren’t yet managed with ConductorOne)
- Add the connector to a managed app (select from the list of existing managed apps)
- Create a new managed app
4
Set the owner for this connector. You can manage the connector yourself, or choose someone else from the list of ConductorOne users. Setting multiple owners is allowed.
5
Click Next.
- If you are the connector owner, go on to the next step.
- If someone else is the connector owner, you can stop here. ConductorOne will notify the connector owner by email that their help is needed to complete the setup process.
6
Find the Settings area of the page and click Edit.
7
In the Customer ID field, enter the Google Workspace customer ID.
8
Optional. If you want to limit which domains ConductorOne syncs, in the Domain field, enter the primary domain from Step 6. If you leave this field blank, ConductorOne will sync all available domains.
9
In the Administrator email field, enter the email address associated with your domain or a super admin.
10
In the Credentials (JSON) area, click Choose file and upload the file.
11
Click Save.
12
The connector’s label changes to Syncing, followed by Connected. You can view the logs to ensure that information is syncing.
What’s next?
If Google Workspace is your company’s identity provider (meaning that it is used to SSO into other software), the integration sync will automatically create applications in ConductorOne for all of your SCIMed software. Before you move on, review the Create applications page for important information about how to set up integrations with the SCIMed apps.Troubleshooting the Google Workspace integration
When adding permissions to my Google Workspace API Client permissions I get authorization errors
Example error:error using connector deprovision [attempt #3]: error: delete resource failed: googleapi: Error 403: Request had insufficient authentication scopes. Details: [ { "@type": "type.googleapis.com/google.rpc.ErrorInfo", "domain": "googleapis.com", "metadata": { "method": "ccc.hosted.frontend.directory.v1.DirectoryUsers.Update", "service": "admin.googleapis.com" }, "reason": "ACCESS_TOKEN_SCOPE_INSUFFICIENT" } ] More details: Reason: insufficientPermissions, Message: Insufficient Permission
To resolve this issue:
Remove the Google Workspace API Client, then re-add with the correct permissions.
1
Copy the Client ID.
2
Delete the API Client.
3
Add a new Client ID.
4
Re-add the relevant scopes:Read-onlyRead/Write