LogoRecal
OAuth

Overview

Connect calendar providers to Recal

Connect your OAuth app so Recal can access users' calendars. Pick your provider:

Prefer to be walked through the console? Paste the coding agent setup prompt into your agent and it will take you step by step, with Recal's requirements already filled in.


Reference

Scopes

ScopeAccess
writeRead/write calendars and events, and availability
readRead-only calendars and events, and availability
free-busyAvailability only — on Microsoft this grants the same as read
editDeprecated — synonym for write, to be removed

The levels are a hierarchy: write covers everything read does, and read covers availability, so a connection made with a higher level never needs a second one to read free/busy. Pick the lowest level that covers what you need.

free-busy is the narrowest level each provider offers, which is not the same narrowness on both: on Google it grants calendar.freebusy, which exposes busy intervals and nothing else, while Microsoft Graph has no free/busy-only permission, so it grants Calendars.Read — the same as read. If a connection must not expose event titles or attendees, that is achievable on Google and not on Microsoft.

Upgrading Scopes

Requires users to re-authenticate. Plan before launch.

A connection that has stopped working shows up as authorizationInvalid or insufficientScopes in availability responses — reconnecting a calendar.

Redirect URLs

Configure your production URL in the Recal dashboard.

  • Must match exactly in both Recal and your OAuth provider
  • Dev/staging: override with ?redirectUrl=http://localhost:3000/callback

On this page