Calendar V1 FAQ

Calendar V1 FAQ

When do I have to call the Refresh Calendar Meetings endpoint?

When you update calendar preferences or a calendar event, you don't need to manually call the Refresh Calendar Meetings endpoint. Recall handles updating any relevant bots when changes are made to these.

Linking bots to calendar user/meetings

Bots scheduled via the calendar integration produce the status change events. On receiving these events, one common requirement is to link the bot back to a specific calendar meeting/user. Below are the steps for the same

  1. Fetch bot data via Retrieve Bot endpoint using bot_id from the event payload

  2. The calendar_meetings array will contain all the meeting instances which were recorded by this specific bot. Use calendar_user.external_id to fetch Get Calendar Auth Token.

  3. Use the auth token to fetch details for the meeting object via Retrieve Calendar Meeting endpoint.

How to detect if a user connected their calendar successfully or not ? OAuth callbacks are redirected to Recall's server.

When building the oAuth URL, you can add success_url and/or error_url to the pass through state object. Recall will redirect the user to these depending on a successful/unsuccessful connection attempt. The query parameters attached to these are preserved allowing you to pass user context in these.

What's the best way to allow users to disable a single calendar integration? Delete Calendar User disconnects all calendars.

This is a limitation of the Calendar Integration V1 APIs. The only way to disconnect calendars is to destroy the user. Disconnecting individual calendar accounts will be available in the V2 API (expected to be in beta by early May)

What is REACT_APP_AUTH_URL in the demo app source code ?

The Calendar Integration V1 APIs are designed to be directly integrated into the client. Due to this, there is need on your end to setup a server endpoint which token exchange (by calling the endpoint on Recall's server). This needs to be a server endpoint to avoid exposing your Recall API Key on the client. The REACT_APP_AUTH_URL variable should contain the value for the endpoint. The demo code includes a Cloudflare worker to allow setting this up on your end without having to deploy a new endpoint on your backend.

Common Errors

Refresh token missing from OAuth response

Calendar connection failed! (reason: refresh_token missing from oAuth response)

There are a couple of cases related to the setup of Microsoft Outlook Calendar Setup which can lead to the above error.

  1. Incorrect/Misconfigured OAuth credentials in dashboard - client id, client secret (verify steps 3, 5, 6).
  2. Supported Account Type not set to Accounts in any organizational directory (Any Azure AD directory - Multitenant) and personal Microsoft accounts (e.g. Skype, Xbox) (step 1). For this step, if you've already created an app registration without Multitenant support, we recommend to create a new registration from scratch as updating the existing one can still lead to above error.

Incase neither of the above help, please try connecting the same calendar account on the demo app here and report the error to us in Slack.

Invalid Recall calendar auth token supplied

Calendar connection failed! (Invalid ‘recall_calendar_auth_token’ supplied)

This error occurs for one of two reasons:

  • The auth token supplied is invalid: Either the token is invalid and couldn't be decoded
  • The auth token has expired: Tokens have an expiry of 24h.