Create a new bot
After being created, the bot will attempt to join the specified meeting.
- Type: string
Authorization requiredAPI key for authentication
- Type: string
Content - Type requiredShould always be application/json
Mixin class providing meeting URL validation for serializers.
- Type: string
bot _name min length:1requiredThe name of the bot to create, e.g. 'My Bot'
- Type: string
meeting _url min length:1requiredThe URL of the meeting to join, e.g. https://zoom.us/j/123?pwd=456
- Type: object
automatic _leave _settings - Type: object · BotChatMessageRequestRequest
bot _chat _message The chat message the bot sends after it joins the meeting
- Type: object · BotImageRequest
bot _image The image for the bot
- Type: string
calendar _event _id min length:1The ID of the calendar event the bot should join.
- Type: object
callback _settings Callback urls for the bot to call when it needs to fetch certain data.
- Type: object
debug _settings The debug settings for the bot, e.g. {'create_debug_recording': True}.
- Type: string
deduplication _key min length:1Optional key for deduplicating bots. If a bot with this key already exists in a non-terminal state, the new bot will not be created and an error will be returned.
- Type: object
external _media _storage _settings Settings that allow Attendee to upload the recording to an external storage bucket controlled by you. This relieves you from needing to download the recording from Attendee and then upload it to your own storage. To use this feature you must add credentials to your project that provide access to the external storage.
- Type: object
google _meet _settings The Google Meet-specific settings for the bot.
- Type: stringFormat: date-time
join _at The time the bot should join the meeting. ISO 8601 format, e.g. 2025-06-13T12:00:00Z
Mixin class providing meeting URL validation for serializers.
- application/json
400 Invalid input
curl https://app.attendee.dev/api/v1/bots \
--request POST \
--header 'Authorization: Token YOUR_API_KEY_HERE' \
--header 'Content-Type: application/json' \
--data '{
"meeting_url": "https://zoom.us/j/123?pwd=456",
"bot_name": "My Bot"
}'
{
"id": "bot_weIAju4OXNZkDTpZ",
"meeting_url": "https://zoom.us/j/123?pwd=456",
"state": "joining",
"events": [
{
"type": "join_requested",
"created_at": "2024-01-18T12:34:56Z"
}
],
"transcription_state": "not_started",
"recording_state": "not_started"
}