Skip to content

Human calendar connections

Human calendar connections are controlled through the Chronary console and require a human session. Google and Microsoft calendar OAuth are separate from console sign-in OAuth. Chronary stores encrypted credentials and minimized opaque busy intervals; agents cannot read provider account identities, calendar names, or native event details.

The console uses /v1/calendar-connections to authorize Google Calendar or Microsoft Outlook, select availability sources, refresh health, pause, resume, and disconnect accounts. Availability queries use the local synchronized cache and never call either provider on the request path. Microsoft supports personal accounts and work/school accounts through delegated OAuth; tenant policy may require administrator consent.

Availability-only connections request minimized calendar-read access. Publishing permission is requested only when the human explicitly chooses availability + publishing, which is supported for Microsoft Outlook only — Google connections are availability-only and reject the publishing capability. Publishing remains opt-in per Chronary calendar.

MethodPathPurpose
POST/v1/calendar-connections/oauth/:provider/startStart Google or Microsoft human OAuth consent
GET/v1/calendar-connectionsList connections
GET/v1/calendar-connections/{id}Read connection, calendars, and safe sync health
PATCH/v1/calendar-connections/{id}Select availability sources or update capabilities
POST/v1/calendar-connections/{id}/refreshRefresh provider data now
POST/v1/calendar-connections/{id}/pausePause synchronization
POST/v1/calendar-connections/{id}/resumeResume synchronization
POST/v1/calendar-connections/{id}/reauthorizeRepair consent, or add publishing permission (Microsoft Outlook only)
DELETE/v1/calendar-connections/{id}Disconnect and disable sources

Reauthorization accepts an optional body. Omit it to request the connection’s current capabilities, or upgrade explicitly (publishing is Microsoft Outlook only):

{ "capabilities": ["availability", "publishing"] }

External calendar entries include safe sync fields: status, last_attempted_at, last_successful_sync_at, and last_error_category. They do not expose provider calendar identifiers or native event data to agents.

See the Human Calendar Connections guide for the end-to-end user and agent experience.