Getting Started
Getting the data
Learn how to receive and process meeting data through webhooks, including live events and post-meeting recordings
To get your meeting data, listen for POST requests to the webhook URL you set up in your account.
You'll receive two types of data: live meeting events and post-meeting data.
1. Live Meeting Events
The events we send you during the meeting are in the following format:
Here's what each field means:
event
: The key-value pair for bot status events. Alwaysbot.status_change
.data.bot_id
: The identifier of the bot.data.status.code
: The code of the event. One of:joining_call
: The bot has acknowledged the request to join the call.in_waiting_room
: The bot is in the "waiting room" of the meeting.in_call_not_recording
: The bot has joined the meeting, however it is not recording yet.in_call_recording
: The bot is in the meeting and recording the audio and video.call_ended
: The bot has left the call.
data.status.created_at
: An ISO string of the datetime of the event.
2. Success webhook
To get the final meeting data, listen for POST requests to the webhook URL you set up in your account, or the webhook URL you used in your request.
You'll receive one of two events:
"event": "complete"
"event": "failed"
Here's an example for a complete
event:
Let's break this down:
bot_id
: The identifier of the bot.mp4
: A private AWS S3 URL of the mp4 recording of the meeting. Valid for one hour only.speakers
: The list of speakers in this meeting. Currently requires transcription to be enabled.transcript
(optional): The meeting transcript. Only given whenspeech_to_text
is set when asking for a bot. An array containing:transcript.speaker
: The speaker name.transcript.words
: The list of words, each containing: -transcript.words.start
: The start time of the word -transcript.words.end
: The end time of the word -transcript.words.word
: The word itself
3. Failed webhook
Here's an example of what you'll receive when a recording fails.
The failure types can be:
Error | Description |
---|---|
CannotJoinMeeting | The bot could not join the meeting URL provided. In most cases, this is because the meeting URL was only accessible for logged-in users invited to the meeting. |
TimeoutWaitingToStart | The bot has quit after waiting to be accepted. By default this is 10 minutes, configurable via automatic_leave.waiting_room_timeout or automatic_leave.noone_joined_timeout (both default to 600 seconds). |
BotNotAccepted | The bot has been refused in the meeting. |
InternalError | An unexpected error occurred. Please contact us if the issue persists. |
InvalidMeetingUrl | The meeting URL provided is not a valid (Zoom, Meet, Teams) URL. Please note Microsoft Live Meeting URLs (such as https://teams.live.com/meet/... ) are not supported. |