Village Product and Developer Docs
  • 📘Welcome to Village Labs
    • Welcome to Village Labs
    • Self Service Onboarding
    • Help Pages
      • Adding and Deleting Users
      • Mapping Users to Source tool IDs
      • How to follow or unfollow other users
      • Configuring & Removing Daily Slack Notification Whitelist
      • Changing the Reporting Lines & Teams
      • Following Custom Reports
      • Google Drive Privacy: When will my documents appear in Village Reports?
    • Custom Reports
      • Creating Team Reports
      • Creating Custom Reports & Custom Prompt Library
    • Meetings
      • Connecting your Calendar
      • Configuring your Meetings
      • Meeting Summary Reports
    • Village Assistant
      • Github PR Review Tool
    • Security & Compliance
    • Data Privacy & Permissions
  • 🔌Data Connections
    • Airtable
    • Ashby
    • Clickup
      • Finding ClickUp User IDs
    • Figma
    • Github
      • Finding GitHub User IDs
    • Gitlab
    • Google - OAuth (Recommended)
    • Google - Manual Connection
    • Hubspot
    • Jira
      • Finding Jira User IDs
    • Confluence
      • Finding Confluence / Jira User IDs
    • Linear
    • Asana
    • Monday
    • Notion
    • Pipedrive
    • Slack
    • Basecamp
    • Zoom
  • 👩‍💻Legacy Developer Docs
    • Developer Quickstart
    • Village APIs: Introduction
      • Activity API
      • User Status API
      • Patch User API
      • Segments API
      • Redemption API
      • Master Award Controls
      • Connections (Referrals) APIs
      • GET APIs
    • 3rd Party Payments Integrations
    • Embedding Village Dashboards
  • 🕵️LEGACY Knowledge Base
    • Admin Quickstart
    • Referrals Support
    • The Basics of Village in 15 Minutes
    • Programs & Rules
      • Triggers
        • Activities
        • Goals
      • Conditions
        • Segment Conditions
        • Time Conditions
        • Max Budget Conditions
        • Conditional Multipliers
    • Awards
      • Monetary (Cash) Awards
      • Non-Monetary Awards
        • Funding
          • In-depth use cases for funding pools
      • Badges & Statuses
      • Award Expiration
    • Segments
      • Segmentation Use Cases
    • Rule Evaluation Logic Deep-dive
    • The Village Dashboards
      • Admin Account Creation
      • User Access Management
      • Network Settings
      • User Dashboard
    • BigQuery
    • Managing Payment Integrations
    • Referrals (Connections)
      • Pre-populating Users' Unique Referral Codes In Signup Flows & Forms
  • No and Low Code Solutions
    • No and Low Code Solutions
      • No & Low Code Solutions
  • Feedback
    • Village Docs Feedback Form
    • Feature Requests
    • Talk to our Team
Powered by GitBook
On this page
  • Prerequisites
  • Google Admin Console
  • Generating the credentials

Was this helpful?

  1. Data Connections

Google - Manual Connection

How to connect your Google Workspace with Village Labs.

PreviousGoogle - OAuth (Recommended)NextHubspot

Last updated 8 months ago

Was this helpful?

Prerequisites

  • An account with admin permissions over your Google Workspace

  • Google Workspace Business or Enterprise

Google Admin Console

Permissions: Connecting to Google will give Village Labs read-only access only. Village Labs will not be able to write-to or modify your Google Drive or Google Workspace.

Privacy Settings: Village Labs only connects to Google Drive files (Docs, Sheets, Slides) that are shared with your Organization (ie. set to General access > Anyone in this group with the link can view).

Reports will not summarize content that is not shared with the Organization, or is only shared with a subset of people within your Organization.

Generating the credentials

For this integration, you will be creating a service account with limited permissions, able to make read-only queries as a Google Workspace admin on limited scopes.

Village supports two integrations: one for Workspace admin (eg. meet activity), and one for Google Drive activity (docs/sheets/presentations/etc.). Depending on whether you want both or only one of these integrations, the scopes differ slightly.

  1. In your Google cloud console, go to the IAM & Admin console. Make sure that you selected the right project. If you don't have any existing GCP project, you may have to create one. Go to the Service Accounts page

  2. Create a new service account.

  3. For the "Grant this service account access to the project" step, continue without adding any role: no need to give this account any specific role over your GCP project.

  4. For the final "Grant users access to this service account", leave blank. No need to explicitly grant users access to this service account. Click on Done to create the account

  5. In the service account list, click on the account you just created to open its details () Open the Advanced settings section. Note the "Unique ID" that was created for this service account, it will be necessary for the next step.

  6. Click on "View Google Workspace Admin console", or go to Go to Security > Access and data control > API controls. Or, alternatively:

  7. Click on "Add new API client"

  8. Fill in the necessary info:

    1. The Client ID should be the "Unique ID" from the service account that you got from step 5

    2. The following OAuth scopes are required. You may copy paste this directly in the form: [RECOMMENDED] If you want both Drive logs and Meet reports: , , , , , , , ,

Rare use cases:

  1. This will trigger a download of a JSON credentials file, which contains everything necessary for the Village integration.

  2. Enable the following APIs by clicking on the links below and then clicking "Enable" (see screenshot

List of final information to be shared with Village for final connection:

  • credentials_json: The credentials file for the service account created above

  • email: The email of the user, who has permissions to access the Google Workspace Admin APIs (likely the email of the user who created the key above). Note that this is not the email of the service account behind the credentials json.

  • domain_name: Domain name for your workspace, eg. mycompany.com. This will be used for Directory API streams

Drive logs only: , , , , Meet reports only: , , , ,

Click Authorize once you're done

The domain-wide delegation should appear in the list

Go back to the previous IAM page for your service account (see step 5), go to the keys tab:

Create a new key Select Key Type: JSON and create.

🔌
https://www.googleapis.com/auth/drive.readonly
https://www.googleapis.com/auth/drive.activity.readonly
https://www.googleapis.com/auth/admin.reports.audit.readonly
https://www.googleapis.com/auth/documents.readonly
https://www.googleapis.com/auth/spreadsheets.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.reports.audit.readonly
https://www.googleapis.com/auth/admin.reports.usage.readonly
https://www.googleapis.com/auth/admin.directory.user.readonly
https://console.cloud.google.com/iam-admin/serviceaccounts/details/{service-acc-id}/keys
https://console.cloud.google.com/apis/api/admin.googleapis.com/metrics
https://console.cloud.google.com/apis/api/driveactivity.googleapis.com/metrics
https://console.cloud.google.com/apis/api/drive.googleapis.com/metrics
https://console.cloud.google.com/apis/api/sheets.googleapis.com/metrics
https://console.cloud.google.com/apis/library/sheets.googleapis.com
https://console.cloud.google.com/iam-admin/serviceaccounts
https://console.cloud.google.com/iam-admin/serviceaccounts/details/{service-acc-id}
https://admin.google.com/
https://admin.google.com/ac/owl/domainwidedelegation
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.reports.audit.readonly
https://www.googleapis.com/auth/admin.reports.usage.readonly
https://www.googleapis.com/auth/admin.directory.user.readonly
https://www.googleapis.com/auth/drive.readonly
https://www.googleapis.com/auth/drive.activity.readonly
https://www.googleapis.com/auth/documents.readonly
https://www.googleapis.com/auth/spreadsheets.readonly