Skip to main content

Google Account OAuth Setup Guide (Gmail, Calendar & Sheets)

This guide explains how to connect your Google Account to Reeva using OAuth with your own Google Cloud credentials. This single account works with Gmail, Google Calendar, and Google Sheets tools.

Why Use This Method?

Google OAuth provides full API access to your Gmail, Calendar, and Sheets, allowing you to:

  • Send and read emails (Gmail API)
  • Manage calendars and events (Calendar API)
  • Create and edit spreadsheets (Google Sheets API)
  • (Optional) Place spreadsheets into Drive folders (Google Drive API)
  • Access full Google API features

Since Reeva hasn't completed Google's OAuth verification process yet, you'll use your own Google Cloud project credentials.

Prerequisites

  • A Google Account
  • A Google Cloud project (free tier is sufficient)
  • The same OAuth credentials can be used for Gmail, Calendar, and Sheets

Important: You must enable the Gmail API, Calendar API, and Google Sheets API in your Google Cloud project for these tools to work. If you're using Drive-related features (like placing spreadsheets into folders), you must also enable the Google Drive API. This is covered in Step 2 below.

Step-by-Step Setup

1. Create a Google Cloud Project

(If you already have a project, you can use the same one for Gmail, Calendar, and Sheets)

  1. Go to Google Cloud Console
  2. Click "Select a project" → "New Project"
  3. Enter a project name (e.g., "Reeva Google Integration")
  4. Click "Create"

2. Enable Gmail API, Calendar API, Google Sheets API (and Drive API) ⚠️ REQUIRED

These APIs must be enabled for their respective tools to work.

Enable Gmail API (for email tools):

  1. In your project, go to "APIs & Services" → "Library"
  2. Search for "Gmail API"
  3. Click on "Gmail API" in the results
  4. Click the "Enable" button

Enable Calendar API (for calendar tools):

  1. Search for "Google Calendar API"
  2. Click on "Google Calendar API" in the results
  3. Click the "Enable" button

Enable Google Sheets API (for spreadsheet tools):

  1. Search for "Google Sheets API"
  2. Click on "Google Sheets API" in the results
  3. Click the "Enable" button

Enable Google Drive API (for folder placement and Drive features):

  1. Search for "Google Drive API"
  2. Click on "Google Drive API" in the results
  3. Click the "Enable" button

After enabling, you should see the APIs listed in "APIs & Services" → "Enabled APIs & services".

(Skip this if you already did it for another Google integration)

  1. Go to "APIs & Services" → "OAuth consent screen"
  2. Choose "External" (unless you have a Google Workspace account)
  3. Fill in the required fields:
    • App name: "Reeva" (or your preferred name)
    • User support email: Your email
    • Developer contact: Your email
  4. Click "Save and Continue"
  5. On the "Scopes" page, click "Save and Continue" (scopes are added via code)
  6. On "Test users", add your own Google account email
  7. Click "Save and Continue"

4. Create OAuth Credentials

(If you already have OAuth credentials from another setup, you can reuse them!)

  1. Go to "APIs & Services" → "Credentials"
  2. Click "Create Credentials" → "OAuth 2.0 Client ID"
  3. Choose "Web application"
  4. Name it "Reeva Web Client"
  5. Under "Authorized redirect URIs", add:
    https://app.reeva.dev/oauth/callback
    (Or http://localhost:5173/oauth/callback for local development)
  6. Click "Create"
  7. Save your Client ID and Client Secret - you'll need these!

5. Connect in Reeva

  1. Go to Reeva → Accounts → "Connect Platform"
  2. Select "Google Account (OAuth)"
  3. Enter your Client ID and Client Secret
  4. Give your account a name (e.g., "My Google Account")
  5. Click "Create Account"
  6. You'll be redirected to Google
  7. Important: You'll see a warning "This app isn't verified"
    • This is expected since you're using your own credentials
    • Click "Advanced" → "Go to [your app name] (unsafe)"
    • Review permissions and click "Continue"
  8. You'll see permission requests for:
    • Gmail access (read and send emails)
    • Calendar access (manage your calendars)
    • Google Sheets access (create and edit spreadsheets)
    • Google Drive access (needed for placing spreadsheets into folders and other Drive features)
    • Basic profile info (email address)
  9. Click "Allow"
  10. You'll be redirected back to Reeva
  11. ✅ Your Google Account is now connected!

What This Account Can Do

Once connected, this single Google Account works with:

Gmail Tools

  • Send emails
  • Search and read emails
  • Create and manage drafts
  • Summarize email threads

Google Calendar Tools

  • List calendars
  • Create, update, delete events
  • Search events
  • (More calendar tools coming soon)

Google Sheets Tools

  • Create spreadsheets
  • (More Sheets tools coming soon)

Important Notes

The "Unverified App" Warning

When you use your own OAuth credentials, Google shows an "unverified app" warning. This is normal and safe because:

  • You created the app yourself
  • You control the credentials
  • Only you (the test user) can authorize it

To proceed: Click "Advanced" → "Go to [your app]"

Token Refresh

Reeva automatically refreshes your OAuth tokens when they expire. You don't need to do anything!

Revoke Access

To revoke Reeva's access:

  1. Go to myaccount.google.com/permissions
  2. Find your app and click "Remove Access"
  3. Delete the account in Reeva

Troubleshooting

"Gmail API has not been enabled" Error

If you see this error, it means you need to enable the Gmail API in your Google Cloud project. Go to Step 2 above and enable the Gmail API.

"Calendar API has not been enabled" Error

If you see this error when using Calendar tools, you need to enable the Calendar API in your Google Cloud project. Go to Step 2 above and enable the Calendar API.

"Google Sheets API has not been enabled" Error

If you see this error when using Sheets tools, you need to enable the Google Sheets API in your Google Cloud project. Go to Step 2 above and enable the Google Sheets API.

"Google Drive API has not been enabled" Error

If you see this error when using Drive-related features (like placing a spreadsheet into a folder), you need to enable the Google Drive API in your Google Cloud project. Go to Step 2 above and enable the Google Drive API.

Account Works for Gmail but Not Calendar/Sheets

This means your account was created before the required scopes were added.

Solution - Re-authorize:

  1. In Reeva, go to Accounts
  2. Find your Google Account
  3. Delete and recreate it following the steps above
  4. Make sure to grant Gmail, Calendar, Sheets, and Drive permissions when prompted

Error: "redirect_uri_mismatch"

  • Make sure the redirect URI in your Google Cloud Console exactly matches what Reeva uses
  • Check for trailing slashes or http vs https

Error: "invalid_grant"

  • Your authorization code may have expired (they're single-use and short-lived)
  • Try the connection process again

Not receiving refresh_token

  • Make sure you clicked "Continue" on the consent screen
  • The first authorization should return a refresh_token

Next Steps

Once connected, you can use your Google OAuth account with any Reeva tool that supports Gmail, Calendar, and Sheets:

Available Tools:

Remember: All Gmail tools require the Gmail API to be enabled in your Google Cloud project (Step 2 above).