Quickstart
Learn how to send a bot to a meeting and retrieve the recording.
1. Initial setup
Create an API Key in the Recall dashboard. This will be used for API authentication.
2. Create a meeting
We recommend using Google Meet for this quickstart. After you create the meeting, stay in the meeting you created, and save the meeting URL for the next step.
3. Send a bot to the meeting
Use the Create Bot endpoint to send a bot to a meeting.
- Swap the placeholder in
Authorization
with your API key - Swap the placeholder in
meeting_url
with the meeting URL from the previous step.
curl -X POST https://api.recall.ai/api/v1/bot \
-H 'Authorization: Token {{YOUR-TOKEN-HERE}}' \
-H 'Content-Type: application/json' \
-d '{"meeting_url": "{{MEETING-URL-HERE}}", "bot_name": "Bot"}'
The response will include a Bot ID (in id
). Save it for the next few steps.
If everything works, the command-line displays a response in the following shape.
{
"id": "5603dea-b633-4b35-995c-fec5415c8d",
"video_url": null,
"status_changes": [
{
"code": "ready",
"message": null,
"created_at": "2023-03-23T18:59:40.391872Z"
}
],
"meeting_metadata": null,
"meeting_participants": [],
"speaker_timeline": {
"timeline": []
},
"calendar_meeting_id": null,
"calendar_user_id": null,
"calendar_meetings": []
}
4. Talk for a little bit
While you and the bot are in the meeting, make sure to turn on your video or talk for a little bit. This way, there will be actual content in the video recording the bot produces for you to look at after.
5. End the meeting
Once you feel like there is enough content in the meeting, end the meeting. The bot will automatically leave.
6. Wait for done
done
Once the meeting is done, Recall begins processing the video recording. This typically takes less than 10 seconds no matter the length of the meeting.
When the recording is ready to be downloaded, the bot status changes to done
.
The best way to retrieve this is via webhooks. See the Webhook Overview for details.
If you can't use webhooks for some reason, you can manually poll Retrieve Bot to see the bot status.
7. Retrieve the recording
To retrieve the recording the bot created, use the Retrieve Bot endpoint.
- Swap the Bot ID with the
id
you saved in Step 3. - Swap the placeholder in
Authorization
with your API key
curl -X GET https://api.recall.ai/api/v1/bot/{{BOT-ID}} \
-H 'Authorization: Token {{YOUR-TOKEN-HERE}}'
The response will include a video url (in video_url
). Copy and paste this URL into your web browser to view.
Recall deletes the recording files after 7 days, indicated by media_retention_end
in the response. In practice, you should download the recording and upload to your own servers right after you receive the done
webhook event.
{
"id": "5603dea-b633-4b35-995c-fec5415c8d",
"video_url": "https://recallai-prod-bot-data.s3.amazonaws.com/5603dea6-b633-4b35-995c-f5ec5415c8d9/video.mp4?AWSAccessKeyId=ASIAVO7R4VZXGRMCWGEG&Signature=MAcf%2BT60SRkLWsJGpCQFByiWUIk%3D&x-amz-security-token=IQoJb3JpZ2luX2VjEPb%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaCXVzLWVhc3QtMSJHMEUCIAng4YEGGZ9OK804stMvVIp2AJTyBXshfAWnv9Hi7OQmcZSaIE3h8A36mZCNMRwi%2B6sixPO8%2BJ3izmtAwghcLnZLdK4v1xLhpWik0h8e1RVA2hb4t9KFmPKvAxecXc2KCONPYpUvF1V1KSmJzvYOBmcqAt7nKWZMjMWVW6C%2FcQPMo6tm65BlUdO8bSYpa6Wjs2CqfmytFpxxEr5RrFAG1NkMAKDZXvhcukjZfrJsC%2BppCOviIEGocdb6CtJTJrwFvuZ8DzRPmDiPemF2KLP2SA7nSiZH0UYgBmhokDT8Cjlc0B13Edf%2BrfH8xr8RlA5vFHKULYwi4O6Ls4YDD%2B7dMeDLjxC&Expires=1680203740",
"media_retention_end": "2023-03-30T19:15:38.453951Z",
"status_changes": [
{
"code": "ready",
"message": null,
"created_at": "2023-03-23T18:59:40.391872Z"
},
{
"code": "joining_call",
"message": null,
"created_at": "2023-03-23T19:05:33.221294Z"
},
{
"code": "in_waiting_room",
"message": null,
"created_at": "2023-03-23T19:05:36.773949Z"
},
{
"code": "in_call_not_recording",
"message": null,
"created_at": "2023-03-23T19:05:46.118246Z"
},
{
"code": "in_call_recording",
"message": null,
"created_at": "2023-03-23T19:05:46.129127Z"
},
{
"code": "call_ended",
"message": null,
"created_at": "2023-03-23T19:15:34.127658Z"
},
{
"code": "done",
"message": null,
"created_at": "2023-03-23T19:15:38.453951Z"
}
],
"meeting_metadata": null,
"meeting_participants": [
{
"id": 100,
"name": "John Doe",
"events": [
{
"code": "join",
"created_at": "2023-03-23T19:05:33.738402Z"
}
],
"is_host": true,
"platform": "unknown",
"extra_data": null
}
],
"calendar_meeting_id": null,
"calendar_user_id": null,
"calendar_meetings": []
}
Updated 28 days ago
This wraps up the quickstart. See the links below for a few different ways to add more functionality to your bot: