Skip to main content
In their settings, a user sees which calendar is connected, reconnects or disconnects it, and chooses which of their meetings get recorded.
A settings screen: Connected as ana@acme.com with Reconnect and Disconnect, and a Record my meetings choice of All meetings, Only with external guests, or None. Notes: Reconnect is a connect link with member_id, shown after calendar_connection.error; Disconnect is DELETE /calendar_connections; Record my meetings is the member's settings and their meetings: categories.

The connected calendar

Show “Connected as” with account_email. A member has at most one calendar. calendar_connection.error and calendar_connection.disconnected tell you when the status changes; syncing turns active on its own within seconds. A connected calendar is read 28 days ahead, a window that moves with time: a later event appears as it comes within 28 days. Looking back, only events that started in the last 30 minutes are read: a meeting in progress when the user connects is picked up, a short one that already ended in that half hour comes in as past, and nothing earlier is read. Meetings already in stay, and turn past when they end; changes to an event made more than 30 minutes after it started aren’t read.

Reconnect

To reconnect a connection in error, create a connect link with the member_id instead of member_data, and send the user to its url:
The connection comes back on the same member, keeping their meetings and preferences. Send member_id or member_data, never both (422). A member has one calendar at a time. To switch from Google to Microsoft, disconnect first, then create the link with the new provider: while the old calendar is connected, the link answers 409 calendar_already_connected.

Disconnect

Syncing stops and the bots scheduled from that calendar are cancelled. Past meetings, the member and their preferences stay. The member’s upcoming meetings from that calendar stay listed, but they are no longer recorded: their settings.recording.enabled reads false, and settings.sources gives the reason no_calendar_event. A change made in that calendar afterwards, such as a new time or a cancellation, no longer reaches them. A meeting that another member’s connected calendar still holds keeps following that calendar. Meetings you sent with POST /calendar_events are not affected.

Record my meetings

A user’s own choice overrides the company default. It is the member’s settings: GET /members/{id} shows them in settings, with the member’s own assignments marked own: true. A member without settings of their own gets them in one call:
Once they have them, change them with PATCH /settings/{id} (the settings_id of their own assignment). Upcoming meetings are re-evaluated straight away; each one whose recording changes sends meeting.updated. The same settings hold the user’s audio or video choice (recording.methods.bot.mode), transcription language and summary template: see Company settings.