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

# Installation

> Connect your Google Meet account to Rootly via OAuth to create meetings automatically during incidents and share links in Slack and Teams channels.

You can use OAuth for quick setup with a personal account, or a Google Cloud Service Account for production environments that need domain-wide access. After completing these steps, you can configure workflows to automatically create Google Meet rooms when incidents are declared.

## Before You Begin

<Warning>
  **Before you start, you'll need:**

  * A Rootly account with Admin permissions to manage integrations
  * **For OAuth:** A Google account with Google Meet enabled
  * **For Service Account:** Access to Google Cloud Console and Google Admin Console
</Warning>

<Note>
  We recommend integrating with a **service account** rather than a personal account. This ensures the integration continues to work even if a user leaves your organization.
</Note>

## OAuth Setup

Best for quick testing or evaluating Rootly before a full organizational rollout.

<Steps>
  <Step title="Open the Integrations Catalog">
    Navigate to **Configuration → Integrations** in the Rootly sidebar.

    <Frame>
      <img alt="Rootly sidebar showing Configuration and Integrations menu" src="https://mintcdn.com/rootly/T2xA2cmLYPMHeWF-/images/integrations/google-meet/installation/image-1.png?fit=max&auto=format&n=T2xA2cmLYPMHeWF-&q=85&s=6cd43db5b64cd6e8cd8f14074e67f278" width="331" height="509" data-path="images/integrations/google-meet/installation/image-1.png" />
    </Frame>
  </Step>

  <Step title="Find and Set Up Google Meet">
    Search for **Google Meet** and click **Setup**.

    <Frame>
      <img alt="Google Meet in the integrations catalog" src="https://mintcdn.com/rootly/T2xA2cmLYPMHeWF-/images/integrations/google-meet/installation/image-3.png?fit=max&auto=format&n=T2xA2cmLYPMHeWF-&q=85&s=0805a6ddc2ee3483f881ae7d0bd5aa8b" width="506" height="385" data-path="images/integrations/google-meet/installation/image-3.png" />
    </Frame>
  </Step>

  <Step title="Choose OAuth and Select Your Google Account">
    Select **OAuth** as your connection method, then choose the Google account you want to connect.

    <Frame>
      <img alt="Google account selection screen" src="https://mintcdn.com/rootly/T2xA2cmLYPMHeWF-/images/integrations/google-meet/installation/image-4.png?fit=max&auto=format&n=T2xA2cmLYPMHeWF-&q=85&s=713cac4084e0fa89185aa87486f0ec7a" width="895" height="448" data-path="images/integrations/google-meet/installation/image-4.png" />
    </Frame>
  </Step>

  <Step title="Grant Permissions and Complete Setup">
    Approve the requested permissions. You'll be redirected back to Rootly once the connection is established.

    <Frame>
      <img alt="Google OAuth permission request" src="https://mintcdn.com/rootly/T2xA2cmLYPMHeWF-/images/integrations/google-meet/installation/image-5.png?fit=max&auto=format&n=T2xA2cmLYPMHeWF-&q=85&s=d10997b5aa20d8e06e09f7506b8cd055" width="937" height="510" data-path="images/integrations/google-meet/installation/image-5.png" />
    </Frame>
  </Step>
</Steps>

<Check>Your Google Meet account is now connected. Head to the [Workflows page](/integrations/google-meet/workflows) to configure automated meeting creation.</Check>

## Service Account Setup

Use a [Google Cloud Service Account](https://cloud.google.com/iam/docs/service-account-overview) if you're connecting on behalf of your entire organization. This method ensures the integration keeps running even if a user leaves the company.

<Steps>
  <Step title="Create a Service Account in Google Cloud Console">
    In Google Cloud Console, navigate to **IAM & Admin → Service Accounts** and click **Create Service Account**.

    <Frame>
      <img alt="Google Cloud Console IAM and Admin menu" src="https://mintcdn.com/rootly/T2xA2cmLYPMHeWF-/images/integrations/google-meet/installation/image-6.png?fit=max&auto=format&n=T2xA2cmLYPMHeWF-&q=85&s=11839d309a70c409e3b95ed09a6a813e" width="1324" height="629" data-path="images/integrations/google-meet/installation/image-6.png" />
    </Frame>

    <Frame>
      <img alt="Service Accounts list in Google Cloud Console" src="https://mintcdn.com/rootly/T2xA2cmLYPMHeWF-/images/integrations/google-meet/installation/image-7.png?fit=max&auto=format&n=T2xA2cmLYPMHeWF-&q=85&s=a249b0f3d9ee5bbc4e5dfffda7760519" width="1365" height="632" data-path="images/integrations/google-meet/installation/image-7.png" />
    </Frame>
  </Step>

  <Step title="Fill In Service Account Details">
    Enter the service account name and ID. Click **Done** to create the account, then click on the new account's email to open its details.

    <Frame>
      <img alt="Create service account form" src="https://mintcdn.com/rootly/T2xA2cmLYPMHeWF-/images/integrations/google-meet/installation/image-8.png?fit=max&auto=format&n=T2xA2cmLYPMHeWF-&q=85&s=325764654194d06646c1b9bfc3f86f32" width="1365" height="629" data-path="images/integrations/google-meet/installation/image-8.png" />
    </Frame>

    <Frame>
      <img alt="Service account details page" src="https://mintcdn.com/rootly/T2xA2cmLYPMHeWF-/images/integrations/google-meet/installation/image-9.png?fit=max&auto=format&n=T2xA2cmLYPMHeWF-&q=85&s=9f2a5847d52719879842d647303ae2b8" width="589" height="554" data-path="images/integrations/google-meet/installation/image-9.png" />
    </Frame>

    <Frame>
      <img alt="Service account email selected to open details" src="https://mintcdn.com/rootly/T2xA2cmLYPMHeWF-/images/integrations/google-meet/installation/image-10.png?fit=max&auto=format&n=T2xA2cmLYPMHeWF-&q=85&s=111442bc386c27766091b25292d59234" width="1363" height="631" data-path="images/integrations/google-meet/installation/image-10.png" />
    </Frame>
  </Step>

  <Step title="Generate a JSON Key">
    Navigate to the **Keys** tab and click **Add Key → Create New Key**. Select **JSON** as the key type and click **Create**. A `.json` file will be downloaded — keep this safe.

    <Frame>
      <img alt="Service account Keys tab" src="https://mintcdn.com/rootly/T2xA2cmLYPMHeWF-/images/integrations/google-meet/installation/image-11.png?fit=max&auto=format&n=T2xA2cmLYPMHeWF-&q=85&s=2fd1855342a54599c1e82c55599bc594" width="1365" height="633" data-path="images/integrations/google-meet/installation/image-11.png" />
    </Frame>

    <Frame>
      <img alt="Create new key dialog with JSON selected" src="https://mintcdn.com/rootly/T2xA2cmLYPMHeWF-/images/integrations/google-meet/installation/image-12.png?fit=max&auto=format&n=T2xA2cmLYPMHeWF-&q=85&s=7db2e5e0d7a0de79afc63396fe5ec12e" width="1365" height="632" data-path="images/integrations/google-meet/installation/image-12.png" />
    </Frame>
  </Step>

  <Step title="Upload the JSON Key to Rootly">
    Return to Rootly's Google Meet setup screen and upload the `.json` file you just downloaded.

    <Frame>
      <img alt="JSON key upload screen in Rootly" src="https://mintcdn.com/rootly/T2xA2cmLYPMHeWF-/images/integrations/google-meet/installation/image-13.png?fit=max&auto=format&n=T2xA2cmLYPMHeWF-&q=85&s=78fa489d0dfa45978bbeea0c2971a325" width="896" height="512" data-path="images/integrations/google-meet/installation/image-13.png" />
    </Frame>

    Once uploaded, you'll see a confirmation that your Google Meet account has been connected.

    <Frame>
      <img alt="Google Meet integration connected successfully" src="https://mintcdn.com/rootly/T2xA2cmLYPMHeWF-/images/integrations/google-meet/installation/image-14.png?fit=max&auto=format&n=T2xA2cmLYPMHeWF-&q=85&s=05be36cd48235bec3599a9d31b1551f0" width="597" height="512" data-path="images/integrations/google-meet/installation/image-14.png" />
    </Frame>

    <Warning>
      Domain-wide delegation of authority has not yet been configured. Without granting the necessary domain-wide access, API requests will fail with a **403 Forbidden** error.
    </Warning>
  </Step>

  <Step title="Configure Domain-Wide Delegation">
    In [Google Admin Console](https://admin.google.com), go to **Security → API Controls → Domain-wide Delegation**. Select your service account and add a new API client.

    Enter your service account's **Client ID** (found in GCP Console under the service account's details) and add the following OAuth scopes:

    ```
    https://www.googleapis.com/auth/meetings.space.created
    https://www.googleapis.com/auth/calendar.events
    https://www.googleapis.com/auth/calendar
    ```

    <Info>
      The calendar scopes are required for creating calendar events with Meet links attached.
    </Info>
  </Step>

  <Step title="Authorize Domain-Wide Delegation">
    Click **Authorize** to save the configuration. Changes may take 10–15 minutes to propagate through Google's systems.
  </Step>
</Steps>

<Check>Your Google Meet integration is now fully configured. Head to the [Workflows page](/integrations/google-meet/workflows) to set up automated meeting creation.</Check>

## Troubleshooting

<AccordionGroup>
  <Accordion title="Authentication Failed" icon="circle-exclamation">
    **Error:** "Failed to authenticate with Google"

    * Verify you're using the correct Google account
    * Check that your account has Google Meet enabled
    * For OAuth: Try incognito mode to avoid account conflicts
    * For Service Account: Verify the JSON key file is valid and not expired
  </Accordion>

  <Accordion title="403 Forbidden — Insufficient Permissions" icon="ban">
    **Error:** "API requests fail with 403 error"

    1. Verify domain-wide delegation is enabled in Google Admin Console
    2. Confirm all three OAuth scopes are added exactly as shown
    3. Check the Client ID matches your service account
    4. Ensure the subject email belongs to your domain
    5. Wait 10–15 minutes for Google to propagate changes
  </Accordion>

  <Accordion title="Service Account Key Invalid" icon="triangle-exclamation">
    **Error:** "Invalid JSON key file"

    * Ensure you downloaded the JSON (not P12) format
    * Check the file hasn't been modified or corrupted
    * Verify the service account still exists in GCP Console
    * Generate a new key if the current one is older than 90 days
  </Accordion>

  <Accordion title="Cannot Find Client ID" icon="circle-question">
    **Error:** "Where to find Client ID for domain delegation"

    1. Go to Google Cloud Console
    2. Select your project
    3. Navigate to **IAM & Admin → Service Accounts**
    4. Click on your service account
    5. Find **Unique ID** or **Client ID** in the details section
  </Accordion>

  <Accordion title="Integration Shows Connected But Doesn't Work" icon="plug-circle-exclamation">
    **Error:** "Setup complete but workflows fail"

    * For Service Account: Domain delegation is likely missing or incomplete
    * For OAuth: Re-authenticate and ensure all permissions were granted
    * Check that Google Meet is enabled in your Google Workspace
    * Verify the integration shows **Active** status in Rootly
  </Accordion>
</AccordionGroup>

## Uninstall

To remove the Google Meet integration:

1. Go to **Configuration → Integrations** and find **Google Meet**
2. Click the **Connected** button to reveal the disconnect option
3. Click **Disconnect**

<Frame>
  <img src="https://mintcdn.com/rootly/QMD-dNqeYW4BA9dg/images/integrations/common/uninstall-connected.png?fit=max&auto=format&n=QMD-dNqeYW4BA9dg&q=85&s=dbb790e2576c8969bba96bc26c95265f" alt="Click the Connected button to reveal the Disconnect option" width="319" height="188" data-path="images/integrations/common/uninstall-connected.png" />
</Frame>

<Warning>
  Disconnecting will prevent Rootly from creating new Google Meet rooms. Existing meetings and calendar events are not affected.
</Warning>
