Capabilities
The Google Workspace connector supports automatic account provisioning and deprovisioning.
Connector actions
Connector actions are custom capabilities that extend C1 automations with app-specific operations. You can use connector actions in the Perform connector action automation step.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, open the project select dropdown and click NEW PROJECT.
3
Create a new project for your organization:
- Project Name: Choose a names, such as “C1 Integration”
- Organization/Location: Choose the appropriate Organization/Location
4
After the project is created, make sure the correct project is selected in the dropdown in the toolbar at the top of the page.
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.
4
Optional. If you want to use the group settings connector action, you must also search for, select, and enable the Groups Settings API.
5
You must also search for, select, and enable the Cloud Identity API (used for resolving SAML app IDs to stable identifiers).
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: C1 Integration
- Service account description: for example, “Service account for C1 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 C1 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). -
Scope: https://www.googleapis.com/auth/admin.directory.user.security
Purpose: To discover OAuth apps via per-user token listing. -
Scope: https://www.googleapis.com/auth/cloud-identity.inboundsso.readonly
Purpose: (Optional) To resolve SAML app IDs to stable identifiers. Without it, SAML app IDs fall back to display names.
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.group
Purpose: (Write) To provision groups. -
Scope: https://www.googleapis.com/auth/admin.directory.user.security
Purpose: (Write) To discover OAuth apps and run actions for removing a user’s access (sign out, delete auth tokens and app passwords). -
Scope: https://www.googleapis.com/auth/apps.groups.settings
Purpose: (Write) To edit group settings. -
Scope: https://www.googleapis.com/auth/cloud-identity.inboundsso.readonly
Purpose: (Optional) To resolve SAML app IDs to stable identifiers. Without it, SAML app IDs fall back to display names.
-
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 C1.Done. Your Google Workspace connector is now pulling access data into C1.
1
In C1, navigate to Integrations > 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 C1)
- 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 C1 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. C1 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 C1 syncs, in the Domain field, enter the primary domain from Step 6. If you leave this field blank, C1 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 C1 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