Prerequisites for Google Suite:
- Service account private account. 
- Admin user has directory access. 
Set-up an Email Service Account in Google Suite
Reference: Creating and enabling service accounts for instances | Compute Engine Documentation | Google Cloud
- Create a project for 6sense integration:   - Go to the Manage Resources page in the Cloud Console. 
- Select Organization in the drop-down at the top of the page and select the organization or organization unit you want to create a project for. 
- Click Create Project. 
- In the New Project window, enter a project name (Example: 6sense Service Account) and select a billing account. 
- When you’re finished entering the project details, click Create. 
 
- Enable API for Gmail, Calendar, Admin SDK, and People: - Go to the Google Cloud API Dashboard page. Make sure the project (Example: release test) is selected in the drop-down at the top of the page.   
- Click Enable APIs and Services.  
- Search for Gmail and click the Gmail API from the search results.  
- Click Enable to enable the Gmail API for this project. 
- Click the back arrow next to the API Library. 
- Search for Calendar and click Google Calendar API from the search results.  
- Click Enable to enable the Google Calendar API, Contact SDK API, and Admin SDK API for this project. 
 
- Create Service Account. - Go to the Service Accounts page, Make sure the project (Example: 6sense service Account) is selected in the drop-down at the top of the page. 
- Click Create Service Account.  
- Enter the details for the Service Account: - Service Account Name: 
 Example: 6sense Service Account
- Service Account Description: 
 Example: Service account to sync emails and calendar with 6sense 
 
- For service account permissions select Project > Viewer and click Continue.  
- Generate a key for the service account and click Create Key. Select JSON for the key type and click Create. This will generate and download a key file. It will be needed later. Note the client ID of the service account it will be needed later (Service Accounts).   
- Admin user will need to enable Domain-Wide Delegation: Perform Google Workspace Domain-Wide Delegation of Authority | Directory API | Google Developers 
- Select Security > Access and data control > API controls > Manage Domain Wide Delegation.   
- Click Add new to add API Scopes in OAuth Scopes.  
- Authorize the following: - https://www.googleapis.com/auth/calendar.events.readonly, https://www.googleapis.com/auth/calendar.readonly, https://www.googleapis.com/auth/gmail.readonly, https://www.googleapis.com/auth/contacts.readonly, https://www.googleapis.com/auth/contacts.other.readonly, https://www.googleapis.com/auth/admin.directory.group.readonly, https://www.googleapis.com/auth/admin.directory.group.member.readonly, https://www.googleapis.com/auth/admin.directory.user.readonly, https://www.googleapis.com/auth/calendar.settings.readonly, https://www.googleapis.com/auth/directory.readonly, https://www.googleapis.com/auth/profile.agerange.read, https://www.googleapis.com/auth/profile.emails.read, https://www.googleapis.com/auth/profile.language.read, https://www.googleapis.com/auth/user.addresses.read, https://www.googleapis.com/auth/user.birthday.read, https://www.googleapis.com/auth/user.emails.read, https://www.googleapis.com/auth/user.gender.read, https://www.googleapis.com/auth/user.organization.read, https://www.googleapis.com/auth/user.phonenumbers.read, https://www.googleapis.com/auth/userinfo.email, https://www.googleapis.com/auth/userinfo.profile
- Add with service account email, admin user with directory access and JSON key file generated on 6sense ABM Email server integration configuration page. 
- To limit data access to a specific group or organization follow these steps: Perform Google Workspace Domain-Wide Delegation of Authority | Directory API | Google Developers