> ## Documentation Index
> Fetch the complete documentation index at: https://docs.witting.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Google Workspace Setup

> Configure a Google Workspace service account with domain-wide delegation so Vocalis AI Actors can join Google Meet calls as real participants.

Vocalis joins Google Meet calls as a participant using a Google Workspace service account. This guide walks through creating the service account, enabling domain-wide delegation, and connecting it to Vocalis.

## Prerequisites

* A Google Workspace account with admin access
* A Google Cloud project (or permission to create one)

## Step 1: Create a Google Cloud project

<Steps>
  <Step title="Go to Google Cloud Console">
    Navigate to [console.cloud.google.com](https://console.cloud.google.com).
  </Step>

  <Step title="Create a new project">
    Click the project dropdown at the top → **New Project**. Name it something recognizable like "Vocalis Integration".
  </Step>

  <Step title="Select the project">
    Make sure the new project is selected in the project dropdown.
  </Step>
</Steps>

## Step 2: Enable required APIs

Enable the following APIs in your Google Cloud project:

<Steps>
  <Step title="Go to APIs & Services">
    Navigate to **APIs & Services** → **Library**.
  </Step>

  <Step title="Enable these APIs">
    Search for and enable each of the following:

    * **Google Calendar API**
    * **Google Meet REST API** (if available)
    * **Gmail API** (for sending calendar invites)
  </Step>
</Steps>

## Step 3: Create a service account

<Steps>
  <Step title="Go to Service Accounts">
    Navigate to **IAM & Admin** → **Service Accounts**.
  </Step>

  <Step title="Create service account">
    Click **Create Service Account**.

    * **Name**: `vocalis-meet-agent`
    * **Description**: "Service account for Vocalis AI to join Google Meet calls"
  </Step>

  <Step title="Skip optional steps">
    You can skip the "Grant this service account access to project" and "Grant users access" steps.
  </Step>

  <Step title="Create a key">
    Click on the newly created service account → **Keys** tab → **Add Key** → **Create new key** → **JSON**.

    Download the JSON key file. You'll upload this to Vocalis.
  </Step>
</Steps>

<Warning>
  Keep the JSON key file secure. It grants access to your Google Workspace on behalf of the service account. Do not commit it to version control.
</Warning>

## Step 4: Enable domain-wide delegation

<Steps>
  <Step title="Enable delegation on the service account">
    In the Google Cloud Console, go to **IAM & Admin** → **Service Accounts**.

    Click on the `vocalis-meet-agent` service account → **Details** tab.

    Check **Enable Google Workspace Domain-wide Delegation**. Note the **Client ID** — you'll need it in the next step.
  </Step>

  <Step title="Authorize scopes in Google Workspace Admin">
    Go to [admin.google.com](https://admin.google.com) → **Security** → **Access and data control** → **API controls** → **Manage Domain Wide Delegation**.

    Click **Add new** and enter:

    * **Client ID**: The client ID from the service account
    * **OAuth scopes** (comma-separated):

    ```
    https://www.googleapis.com/auth/calendar,
    https://www.googleapis.com/auth/calendar.events,
    https://www.googleapis.com/auth/gmail.send
    ```
  </Step>

  <Step title="Save">
    Click **Authorize**.
  </Step>
</Steps>

## Step 5: Connect to Vocalis

<Steps>
  <Step title="Open Vocalis settings">
    Log in to [vocalis.witting.ai](https://vocalis.witting.ai) and go to **Settings** → **Integrations**.
  </Step>

  <Step title="Upload the service account key">
    In the **Google Workspace** section, upload the JSON key file you downloaded.
  </Step>

  <Step title="Enter the delegated user email">
    Enter the email address of a Google Workspace user the service account should impersonate when creating calendar events and joining meetings (e.g., `vocalis@yourcompany.com`).
  </Step>

  <Step title="Save and test">
    Click **Save**. Use the **Test Connection** button to verify the integration works.
  </Step>
</Steps>

## Troubleshooting

| Issue                         | Solution                                                                                 |
| ----------------------------- | ---------------------------------------------------------------------------------------- |
| "Access denied" when testing  | Verify domain-wide delegation scopes match exactly. Check that the Client ID is correct. |
| Calendar events not appearing | Ensure the Google Calendar API is enabled in your Cloud project.                         |
| Actor can't join the Meet     | Check that the delegated user email has a Google Workspace license with Meet access.     |

## Next steps

<Columns cols={2}>
  <Card title="Twilio Setup" icon="phone" href="/vocalis/setup/twilio">
    Add phone call support.
  </Card>

  <Card title="Quick Start" icon="rocket" href="/vocalis/getting-started/quick-start">
    Schedule your first interview.
  </Card>
</Columns>
