Live Transcription and Audio Streaming
The bot creation API supports real-time transcription and audio streaming through webhooks and WebSocket connections.Live Transcription Configuration
To enable live transcription, include thelive_transcription_required field:
Live Audio Streaming Configuration
To enable live audio streaming, include thelive_audio_required field:
Recording Configuration
Therecording_config parameter allows you to configure transcription providers, data retention policies, and real-time event webhooks.
Transcription Provider Configuration
Configure your preferred transcription provider within therecording_config.transcript.provider field. You can choose from multiple providers:
Deepgram (Post-Processing)
Deepgram Streaming
AssemblyAI (Post-Processing)
AssemblyAI Streaming
Data Retention Policy
Configure how long the bot’s data should be retained using theretention field:
type:"timed"(data deleted after specified hours) or (Data will be deleted after 7days )hours: Number of hours to retain data (only applicable whentypeis"timed")
Real-time Event Webhooks
Subscribe to real-time events during the meeting using therealtime_endpoints array:
participant_events.join- Triggered when a participant joins the meetingparticipant_events.leave- Triggered when a participant leaves the meeting
Complete Recording Config Example
Automatic Leave Configuration
Theautomatic_leave parameter configures conditions under which the bot will automatically exit the meeting. All timeout values are specified in seconds.
Timeout Parameters
| Parameter | Description | Example |
|---|---|---|
waiting_room_timeout | Seconds to wait if bot is stuck in waiting room | 600 (10 minutes) |
everyone_left_timeout | Seconds to wait after all participants have left | 600 (10 minutes) |
in_call_recording_timeout | Maximum recording duration in seconds | 14400 (4 hours) |
recording_permission_denied_timeout | Seconds to wait if recording permission is denied (Zoom only) | 60 (1 minute) |
Use Cases
- Waiting Room Protection: Prevent bot from waiting indefinitely if not admitted
- Empty Meeting Cleanup: Automatically exit when meeting is empty
- Recording Limits: Enforce maximum recording duration for cost control (Default 4Hrs)
- Permission Handling: Handle scenarios where recording permission is denied
Callback Events
When acallback_url is provided in the request, the API will send POST requests to notify you about various bot status changes. Here are the events you can expect:
Bot Joining Event
Bot Successfully Joined Event
Bot Stopped Event
Audio Processing Completed Event
Transcript Processing Completed Event
Data Deletion Event
Callback Event Fields
| Field | Type | Description |
|---|---|---|
bot_id | string | The unique identifier of the bot |
bot_status | string | Current status of the bot (joining, InMeeting, Stopped) |
message | string | Human-readable status message |
status_code | integer | HTTP-style status code indicating the event type |
audio_status | string | Status of audio processing (Success) |
transcript_status | string | Status of transcript processing (Success) |
event | string | Event type identifier (e.g., data_deletion) |
status | string | Operation status (success, failed) |
deleted_objects | integer | Number of objects deleted (data_deletion event only) |
timestamp | string | ISO 8601 formatted timestamp of the event |
Status Codes
102: Bot is in the process of joining the meeting200: Successful operation (joined meeting, audio/transcript processing completed, data deletion succeeded)500: Bot has stopped/exited the meeting, or data deletion failed
Authorizations
All API endpoints are authenticated using API Keys. The key should be included in the 'Authorization' header, prefixed with 'Token '. Example: 'Authorization: Token YOUR_API_KEY'.
Body
Meeting URL to join.
Whether audio is required.
Whether video is required.
Message for the bot to say on join.
Live audio streaming config.
Live transcription config.
URL to the bot's profile image. Should be in the format jpeg,png,jpg,gif.
URL to the bot's socket connection. Should be in the format wss://.
The date and time the bot will join the meeting. YYYY-MM-DD HH:MM:SS Ex:2024-01-15T14:30:00Z
Callback URL for bot events.
Configuration for recording, transcription, and data retention.
Configure automatic bot exit conditions with timeout values in seconds.
Response
Bot creation initiated successfully.
Unique identifier for the created bot.