Integration Guide

The calendar integration allows every unique user in your app to connect their Google/Microsoft calendars and have Recall bots join their meetings automatically.

Integrate Recall APIs directly into your Web/Mobile applications. Refer to our demo app for an example integration (source code here)

The following steps are needed for a unique user to connect their calendar and being auto-recording their meetings.

Generate a calendar auth token

This token is used as authentication for all subsequent calls made to the calendar integration API endpoints. You can generate one using this endpoint. The token is stateless, has an expiry of 1 day and can be generated multiple times for a user. Few things to note are:

  1. The user_id field should remain consistent for a specific user across multiple calls, failure to do so can result in duplicate calendar users and multiple bots joining the calls.
  2. We recommend implementing a proxy endpoint on your servers for token generation (see e.g here). This ensures you do not expose your Recall API Key on the client.

Initiate calendar connection

Setup OAuth clients on the calendar platforms(see Google Calendar Setup, Microsoft Outlook Calendar Setup] for details) and redirect user to calendar connection URLs (code example here).

Fetch Upcoming Meetings

Once a user's calendar is successfully connected. You can retrieve their upcoming meetings via List Calendar Meetings by passing the calendar auth token as x-recallcalendarauthtoken header in the request. The calendar integration automatically syncs updates to calendar events in near real-time, so every subsequent request to the list endpoint should give you the latest data.

For meetings that will be recorded by Recall, the meeting object would have bot_id attribute populated with the bot scheduled to join the meeting.

Update recording preferences

Allow user to Update Their Recording Preferences. See Auto Recording Logic & Preferences for more details

Configuring Calendar Bots


Updating your configuration

To update your Calendar V1 bot configuration, reach out to our team in Slack and include the JSON you'd like to update the configuration to.

Bots scheduled via the calendar integration derive their configuration for functionalities like real_time_transcription chat etc. from a pre-populated preset.

All options available in Create Bot endpoint are supported here.

Here are a few examples for reference:

Settings transcription provider for calendar bots

  "transcription_options": {
    "provider": "assembly_ai"

Enabling real time transcription for calendar bots

  "transcription_options": {
    "provider": "assembly_ai"
  "real_time_transcription": {
     "destination_url": <YOUR_WEBHOOK_URL>

Note: These apply to all calendar bots, incase you need more granular control over configuration(e.g per user/per event) please checkout Calendar V2 API


Patching not supported

Since Calendar V1 bots get their configuration from this preset as they join meetings, Patch requests to Update Scheduled Bot won't have an effect on the bot configuration.