Create Bot

View as Markdown
This endpoint supports 20 different payload variations. Use the dropdown above the code panel to explore configurations for various use cases.

Authentication

AuthorizationToken

Format: Token <your_api_key>

Request

This endpoint expects an object.
bot_namestringRequired
The display name the bot will use in the meeting.
video_requiredbooleanOptionalDefaults to true
Whether the bot should record video.
zoomobjectOptional

Omit or use for guest join. For authenticated Zoom join, send exactly one of zak_url or obf_url. MeetStream fetches your HTTPS mint URL at join time; your server owns OAuth and refresh tokens. Fetch failure does not fall back to guest. Both URLs together return 400. The deprecated fields use_zoom_obf and zoom_oauth_connection_user_id are rejected. See /guides/app-integrations/zoom-authenticated-bots.

audio_separate_streamsbooleanOptional
Enable separate audio streams feature.
video_separate_streamsbooleanOptional
Enable separate video streams feature.
bot_messagestringOptional
An initial message for the bot to post in the meeting chat.
bot_image_urlstringOptional
URL for the bot's profile picture or avatar.
callback_urlstringOptional
A URL to receive webhook event callbacks.
join_atdatetimeOptional
ISO 8601 datetime to schedule the bot to join the meeting.
agent_config_idstringOptional
The ID of the agent configuration to enable agentic features.
custom_attributesmap from strings to anyOptional

Arbitrary key-value metadata attached to the bot.

socket_connection_urlobjectOptional

WebSocket URL for two-way audio/data bridge connection.

live_audio_requiredobjectOptional
WebSocket URL to stream live audio output from the meeting.
live_video_requiredobjectOptional
WebSocket URL to stream live video output from the meeting.
workflow_config_idslist of stringsOptional

List of workflow configuration IDs to trigger post-meeting.

live_transcription_requiredobjectOptional
Webhook URL to receive live transcription events.
automatic_leaveobjectOptional
Configure how long the bot should remain in the meeting under different conditions before leaving automatically. All timeout values are specified in seconds and accept integer values only.
recording_configobjectOptional

Bot media is retained for 30 days (720 hours) by default, included in the base rate. Retention beyond 30 days is billed at $0.05 per GB per month. Set retention.hours lower to delete media sooner.

Response

Created
bot_idstringOptional
transcript_idstring or nullOptional
meeting_urlstringOptional
statusstringOptional