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 sample app for an example Calendar V1 integration.
Step 1: 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:
- The
user_idfield 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. - We recommend implementing a proxy endpoint on your servers for token generation. This ensures you do not expose your Recall API Key on the client.
Step 2: Initiate calendar connection
Setup OAuth clients on the calendar platforms and redirect user to calendar connection URLs (code example here)
Google Calendar Setup
- Go to Google API console
- Once inside, create a Google Project if you have not already
- Inside the Google Project, enable the Google Calendar API
- Once complete, follow this Google Calendar Setup guide
Microsoft Outlook Calendar Setup
- Follow this Microsoft Outlook Calendar Setup guide
Step 3: 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 will have the bot_id attribute populated with the bot scheduled to join the meeting.
Step 4: Update recording preferences
Allow user to Update Their Recording Preferences (see Auto Recording Logic & Preferences for more details)
Step 5: Configuring Calendar Bots
- Note that this step is optional if you just want to accept the default bot configuration initially.
- Bots scheduled via the calendar integration get their configuration from a pre-populated preset.
- Bots will join 2 minutes before the scheduled start time of the meeting.
Updating your bot configurationAll options available in the Create Bot endpoint are supported in Calendar V1
You can update your Calendar V1 Create Bot configuration under the "bot config" tab in the dashboard:
Bot config examples:
- In Calendar V1, any of these configurations below would apply to all calendar bots scheduled from this integration
- If you need more granular control over configuration, (e.g per user/per event) please checkout Calendar V2 API
Setting an image for calendar bots
{
"automatic_video_output": {
"in_call_recording": {
"kind": "jpeg",
"b64_data": "base64_jpeg_data"
},
"in_call_not_recording": {
"kind": "jpeg",
"b64_data": "base64_jpeg_data"
}
}
}Enabling real time transcription for calendar bots
{
"recording_config": {
"transcript": {
"provider": {
"recallai_streaming": {}
}
},
realtime_endpoints: [
{
"type": "webhook",
"events": ["transcript.data"],
"url": "..."
}
]
},
}
PATCHing not supportedSince 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.
