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

# Bring your own OAuth app

> Connect Gmail, Calendar, and Drive through your own Google Cloud OAuth app instead of waiting on Gravity's — takes effect immediately, no deploy or waiting. Also covers LinkedIn.

Gravity does not currently run a shared Google OAuth app at all. Rather than have every customer wait on that, we ask every Google Workspace customer to set up their **own** Google Cloud OAuth app as the default, first-choice path — not a fallback for the impatient.

If your company uses **Google Workspace**, you can register an "Internal" app that needs **zero Google review, ever** — it's restricted to your own Workspace's members from the moment you create it.

<Tip>
  Once you submit your Client ID and Client Secret, they take effect immediately — the very next time anyone on your team clicks a "Connect Gmail" link, it uses your own app. No deploy, no waiting on Gravity, no cache to clear.
</Tip>

<Warning>
  Not on Google Workspace (a personal Gmail account only)? There is no "Internal" app option available to you. Tell Gravity — connecting Gmail/Calendar/Drive will need a separate path, since Gravity's own shared app isn't currently a fallback you can rely on. Don't leave these fields blank expecting a shared app to pick them up automatically.
</Warning>

## What about LinkedIn?

LinkedIn has no equivalent "Internal app" option. Setting up your own LinkedIn app here only helps if you **already have** your own LinkedIn Community Management API-approved app (the review LinkedIn requires for company-page posting/reading scopes) — there's no way to skip that review by registering your own app instead.

If you don't already have one, leave the LinkedIn fields blank; Gravity's own shared app is the practical default here, pending Gravity's own Community Management API partnership. See [Available integrations & modules](/agents-lite/integrations-and-modules) for current LinkedIn integration status.

## Setting up your own Google OAuth app (\~10 minutes)

These steps assume no prior Google Cloud experience. Google's own Console UI can shift over time — if a menu label below doesn't match what you see, the underlying steps (create project → configure consent screen → enable APIs → create OAuth client) still apply. Ask Gravity if you get stuck.

<Steps>
  <Step title="Create a Cloud project inside your Workspace organization">
    Go to [console.cloud.google.com](https://console.cloud.google.com) signed in with your **Workspace** account (not a personal Gmail account — a personal account has no "Internal" option at all). Click the project selector → **New Project**. Name it something recognizable (e.g. "Gravity Integration").
  </Step>

  <Step title="Configure the OAuth consent screen">
    In the left nav: **APIs & Services → OAuth consent screen** (Google's newer UI may call this "Google Auth Platform → Branding/Audience"). Set:

    * **User Type: Internal** — this is the setting that skips Google's review entirely. If you don't see "Internal" as an option, your account isn't part of a Workspace organization.
    * App name: anything recognizable to your team.
    * Support email + developer contact email: yours.
  </Step>

  <Step title="Enable the APIs you need">
    In **APIs & Services → Library**, enable: **Gmail API**, **Google Calendar API**, **Google Drive API**, **Google Docs API**, **Google Sheets API**. Only enable the ones matching what you selected during onboarding — see [Available integrations & modules](/agents-lite/integrations-and-modules) for what you picked.
  </Step>

  <Step title="Create the OAuth client">
    **APIs & Services → Credentials → Create Credentials → OAuth client ID**. Application type: **Web application**. Under **Authorized redirect URIs**, add the exact production callback URL Gravity gives you — ask your Gravity contact if you don't have it yet. Getting this wrong means the connection fails with a clear redirect-mismatch error, not a silent failure, so it's safe to try and fix.
  </Step>

  <Step title="Copy the Client ID and Client Secret">
    Google shows both once the client is created (and lets you view the Client ID again anytime, but not the secret — if you lose the secret, generate a new one from the same Credentials page).
  </Step>

  <Step title="Submit them to Gravity">
    Paste the Client ID and Client Secret into the "Your own Google OAuth app" section of your secure provisioning link (the same link used for any other credential you submit to Gravity — never over Slack or email; ask Gravity for your link if you don't have it — see [Security & credentials](/agents-lite/security-and-credentials)). Submitting applies it immediately, per the tip above.
  </Step>
</Steps>

## Revoking or rotating

To rotate your client secret, generate a new one in Google Cloud Console and resubmit it via your provisioning link — this replaces the stored value, it doesn't create a duplicate. To stop using your own app and fall back to Gravity's shared app, contact Gravity directly (there is no self-serve "remove my override" option yet).

<Note>
  This same mechanism works for LinkedIn too, if you already have your own Community Management API-approved app: submit its Client ID/Secret through the same provisioning link, under the LinkedIn section.
</Note>

Looking for what else you can change yourself? See [Self-serve configuration](/agents-lite/self-serve-config).
