Skip to main content

Google Calendar OAuth Setup Guide

This guide explains how to connect your Google Account to Reeva for Google Calendar tools using OAuth with your own Google Cloud credentials.

Why Use This Method?

Google Calendar OAuth provides full API access to your calendars, allowing you to:

  • List all calendars you have access to
  • Create, read, update, and delete events
  • Manage calendar settings and sharing
  • Access shared and subscribed calendars

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 both Gmail and Calendar

Step-by-Step Setup

1. Create a Google Cloud Project

(If you already have a project from Gmail setup, you can use the same one)

  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 Google Calendar API ⚠️ REQUIRED

This step is mandatory - Calendar tools will not work without enabling the Calendar API.

  1. In your project, go to "APIs & Services" → "Library"
  2. Search for "Google Calendar API"
  3. Click on "Google Calendar API" in the results
  4. Click the "Enable" button
  5. Wait for it to be enabled (usually takes a few seconds)

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

If you're also using Gmail tools, make sure Gmail API is also enabled:

  1. Search for "Gmail API" in the library
  2. Click "Enable" if not already enabled

(Skip this if you already did it for Gmail)

  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 Gmail 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)
    • 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 emails
  • Read emails
  • Create and manage drafts
  • Summarize email threads

Google Calendar Tools

  • List calendars
  • Create events
  • Update events
  • Delete events
  • Search events
  • (More calendar tools coming soon)

Troubleshooting

"Calendar API has not been enabled" Error

Error message:

Google Calendar API is not enabled in your Google Cloud project.

Solution:

  1. Go to https://console.cloud.google.com/apis/library/calendar-json.googleapis.com
  2. Select your project
  3. Click "Enable"
  4. Wait 10-30 seconds
  5. Try the tool again

"Permission denied" Error

This could mean:

  1. Calendar API not enabled (see above)
  2. Your OAuth token doesn't have Calendar scopes:
    • Disconnect your account in Reeva
    • Reconnect following steps above
    • Make sure you grant Calendar permissions when prompted
  3. API quota exceeded (rare on free tier)

Account Works for Gmail but Not Calendar

This means your account was created before Calendar support was added.

Solution - Re-authorize:

  1. In Reeva, go to Accounts
  2. Find your Google Account
  3. Click "Edit" or settings icon
  4. Click "Re-authorize" (or delete and recreate)
  5. Go through the OAuth flow again
  6. Make sure to grant Calendar permissions when prompted

"Invalid grant" or "Token expired"

Your refresh token may have expired or been revoked.

Solution:

  1. Disconnect the account in Reeva
  2. Reconnect following the setup steps
  3. If using local development, check your redirect URI matches exactly

Security Notes

  • Your OAuth credentials (Client ID and Secret) are stored encrypted in Reeva
  • Reeva never sees your Google password
  • You can revoke access anytime at https://myaccount.google.com/permissions
  • Access tokens are automatically refreshed as needed

Additional Resources