# Recall.ai

> **INFO:** Looking for a fully managed solution?

Take a look at [Cronofy Meeting Agents](/developers/meeting-agents/index.md).

[Recall.ai](https://recall.ai/?utm_source=cronofy&utm_medium=partnership&utm_campaign=cronofy-docs) allows you to add customizable conferencing bots to video conferencing calls.

However, keeping bots in sync with the current state of a calendar event is a challenge in itself.

Using Cronofy's integration will create bots as needed and automatically keep Recall.ai in sync with any changes to events like reschedules. Meaning you don't have to build anything to ensure that the bot will join at the right time.

## Setting up your Recall.ai integration
Please contact [support@cronofy.com](mailto:support@cronofy.com) or click on the
"Support" widget in the bottom right of this page and ask for Recall to be
enabled so that you can get started.

You will need to generate a Recall.ai API key and add it to Cronofy:

### Provision a Recall.ai API key
- Log in to your Recall.ai dashboard for [the appropriate region](https://docs.recall.ai/docs/regions)

- From the menu, choose your API Keys page

- Select "Generate API key"

- Give your key a meaningful name such as "Cronofy Integration"

- Save your new key

### Add the key to your Recall.ai Integration in Cronofy
- Sign in to your [Cronofy Dashboard](https://app.cronofy.com/)

- From the menu, choose your Organization Settings page

- Select "Manage Integrations" and choose to "Set Up New Integration"

- Select "Recall.ai"

- Choose the matching region and paste in the key from your Recall.ai dashboard

- Save the configuration

- Choose which applications you want to use Recall.ai with

## Adding Recall.ai to your calendar events
Recall.ai is added to a calendar event through the `extensions` attribute when creating or updating the event.

The `profile_id` to use is shown as the `Cronofy Extension Profile ID` on your Recall.ai integration configuration page:

![](/integrations/recall/recall-integration.4bf31739e2565a386f5a6f4c268df175b16e0a40064548c74d9cae4369b617ed.png)
This is then used as the `profile_id` in the `extension` object when [creating an event](/developers/api/events/upsert-event/index.md).

```json
{
  "event_id": "qTtZdczOccgaPncGJaCiLg",
  "summary": "Recall test",
  "start": "2026-05-11T16:00:00Z",
  "end": "2026-05-11T17:00:00Z",
  "tzid": "Europe/Berlin",
  "conferencing": {
    "profile_id": "default"
  },
  "extensions": [
    {
      "provider": "recall",
      "profile_id": "int_YOUR-ID-FROM-THE-DASHBOARD-HERE_0000000000"
    }
  ]
}
```

Also on the configuration page you can set default options for the bot name and the recording mode.

## Recall.ai metadata
One the bot is provisioned Cronofy will add metadata to the event to allow you to reference the associated bot via the Recall.ai API.

`event.metadata.recall` - will contain Recall.ai specific values.

```json
{
  ...,
  "metadata": {
    "recall": {
      "bot_id": "02263898-51b1-43ff-8649-2ac71251ea83"
    }
  }
}
```

## Cancelling an already scheduled bot
In situations where you want cancel a scheduled bot, for example when someone decides they don't want the session recorded you can [update the calendar event](/developers/api/events/upsert-event/index.md) by setting the Recall.ai extension `profile_id` to `none`.

```json
{
  ...,
  "extensions": [
    {
      "provider": "recall",
      "profile_id": "none"
    }
  ]
}
```

This will then cancel the bot with Recall.ai.


---
[Read in HTML](/integrations/recall/)
