meeting_id), the bot appears on it under recordings, and what the call produced is read from the meeting’s results. See Send bots.
The recording choices on the bot (language, recording_start, recording_mode, silence_alert, summary_language, summary_template) are the meeting’s: a value sent on POST /bots becomes the meeting’s own settings, a value left out follows the member’s and the workspace’s, and a later PATCH /settings/{id} of the meeting’s settings changes what the bot shows.
Attributes
string
Stable typed bot ID beginning with
bot_. Treat it as an opaque string.string
Always
bot.string
The meeting this bot records, beginning with
mtg_. It exists from the moment the bot is queued;
read its results with GET /meetings/{meeting_id}/results.string
Normalized URL supplied at creation. Treat as sensitive — it may contain credentials.
string | null
Requested ISO 8601 join time, or
null for an immediate dispatch.string
queued: Accepted, waiting to join now or atjoin_at.joining: Joining the call.in_call: In the call and recording.processing: The recording is being transcribed and summarized.completed: The transcript and summary are ready on the meeting.failed: Ended without a usable result.reasonsays why.cancelled: Cancelled before it finished.
string
Display name of the notetaker in the call.
string | null
Chat message the notetaker posts when it joins, or
null when it posts none.string
Transcription language as a BCP-47 code,
auto or multi. The meeting’s
settings.transcription.language.string
When the notetaker starts recording. The meeting’s
settings.recording.methods.bot.start.on_join: as soon as it joins the call.on_command: when someone in the call asks it to.
string
What the notetaker records. The meeting’s
settings.recording.methods.bot.mode.audio_and_video: audio and video.audio_only: audio only.
boolean
Whether the notetaker posts an audible and chat alert after a long silence, in case it is
recording nothing. The meeting’s
settings.recording.methods.bot.silence_detection.alert.string | null
Language of the summary as a BCP-47 code, or
null to follow the transcription. The meeting’s
settings.summary.language.string | null
The summary template that runs, a built-in slug or a custom template’s
tpl_ id. The meeting’s
settings.summary.template.object[]
Everyone invited to the meeting. Meeting rooms and the notetaker itself are excluded.
object
Your key-value pairs on this bot: a flat map of strings from 2026-10-12, merged by
PATCH /bots/ {id}. Before 2026-10-12, the JSON object stored at creation, returned as stored. See
metadata.string
When the bot was created.
string | null
When the recording first became available.
null until then, and for a bot that never recorded.
Reprocessing does not change it.string
Machine-readable failure reason. Present only for failed bots.
no_recording: the call ended without anything recorded.invalid_meeting_url: the meeting URL could not be joined.bot_error: the notetaker failed in the call.transcription_failed: the recording could not be transcribed.
string | null
Human-readable failure detail for debugging. Present only for failed bots. Do not match on its
text; use
reason.