Before you start
The person connecting the integration needs to be a Google Admin in order for the integration to have the appropriate permissions
If you try to set up the integration as a non-admin it will fail to connect successfully.
Connecting the Integration
Navigate to the Employees tab in your Adaptive account and then select 'Sources'
If you want Google to be your Primary Identity Source (i.e. your main source of truth for employee data, used to create and maintain user records) -- select it from the dropdown of the top section.
Google can also be set up as an 'Enrichment' source. Enrichment integrations only add data to the user record in Adaptive and will not crfeate new users or deactivate users based on their status in your Enrichment system.
After clicking Install or Connect, go through the set up flow. When you get to the permissions steps, click the 'Select All' option.
After clicking continue your integration will be queued for import. Once connected, we will refresh your data every 24 hours.
Technical Details
Which user records are imported
We import users from your Google Workspace who are:
- Active (not archived: `u.getArchived() == false`)
- Not suspended (`u.getSuspended() == false`)
- Not marked for deletion (`u.getDeletionTime() == null`)
This ensures we only bring in current employees who should be receiving our content.
What endpoints do we access
/v1/users
/v1/groups
/v1/groups/{group_id}/members
/v1/members/
What data do we access
Adaptive Field | Google Workspace Field | Use Case |
primaryEmail | Primary identifier for the user | |
First Name | name.givenName | Used in personalized messages |
Last Name | name.familyName | Used in personalized messages |
Phone Number | phones[].value or recoveryPhone | Used for SMS/text delivery if configured |
Work Phone Number | phones[type="work"].value | Used for work phone targeting |
Mobile Phone Number | phones[type="mobile"].value | Used for mobile phone targeting |
Home Phone Number | phones[type="home"].value | Used as an alternative contact |
Location | addresses[].formatted | Used for location-based targeting |
Manager Email | relations[type="manager"].value | Used to correlate employees to managers |
Department | organizations[].departmen | Used for targeting and analytics |
Office Location | organizations[].location | Used for location-based targeting |
External Created Date | creationTime | Used for synchronization tracking / groups |
Language | languages[].language | Used for content localization |
Organization Unit Path | orgUnitPath | Used for organizational targeting |
Employee Group | Group memberships | Used for team-based targeting |
Assigned Applications | Third-party app authorizations | Used for security awareness training |
Job Title | organizations.title | Used for team-based targeting |
Manager Name | Unmapped | No google system field available |
Start Date | Unmapped | No google system field available |
Division | Unmapped |
|
Time Zone | Unmapped |
|
Employee Type | Unmapped |
|
Organization | Unmapped |
|
We also extract all additional fields from the Google User object (such as customSchema
values) as Additional Integration Attributes, filtering out sensitive or redundant information. You will see these fields appear in the User Attribute drop down of the group builder
Common Issues
Incorrect permissions
If you try to connect the integration and are redirected back to Adaptive you may see an error message indicating that the Google account you were attempting to use does not have the correct permissions
How to resolve: Connect the integration with a Admin google workspace account.
Questions? Email [email protected]