LogoRecal
OAuth

Google Setup

Connect Google Calendar to Recal

1. Create Google Cloud Project

Go to Google Cloud Console → Project selector → New Project.

2. Enable the Google Calendar API

Search "Google Calendar API" → Click Enable.

APIs & ServicesOAuth consent screen:

  • User Type: "External" (SaaS) or "Internal" (org-only)
  • Fill required fields: app name, support email, developer email
  • Click through remaining steps

Token Expiration

Testing mode: Tokens expire in ~7 days. Production mode: No fixed expiry. Move to Production before launch. Slack us for help.

4. Understanding Scopes in Recal

Recal simplifies OAuth scope management by offering easy-to-understand scope options that automatically map to the appropriate Google Calendar permissions:

Available Scopes

write scope - Read/write access to events (or deprecated edit)

  • https://www.googleapis.com/auth/userinfo.email - User's email address
  • https://www.googleapis.com/auth/calendar.events - Read/write access to events
  • https://www.googleapis.com/auth/calendar.readonly - Read-only access to calendar list (no calendar modifications)

read scope - Read-only access to calendars and events

  • https://www.googleapis.com/auth/userinfo.email - User's email address
  • https://www.googleapis.com/auth/calendar.readonly - Read-only calendar and event access

free-busy scope - Read-only access to availability

  • https://www.googleapis.com/auth/userinfo.email - User's email address
  • https://www.googleapis.com/auth/calendar.freebusy - Busy time information only

Best Practice

Request minimum scopes needed. Insufficient access returns 403 with required permissions — re-authenticate with higher scope.

5. Create OAuth Credentials

APIs & ServicesCredentials+ Create CredentialsOAuth client ID:

  • Application type: Web application
  • Authorized JavaScript origins: https://yourapp.com
  • Authorized redirect URIs: https://yourapp.com/oauth2callback
  • Click Create and copy Client ID + Client Secret

6. Add to Recal

In Recal dashboard → OAuth Credentials → Add Client ID, Client Secret, and redirect URL.

URLs Must Match

Redirect URL in Recal must exactly match the URI in Google Cloud Console.