Real-Time Event Payloads
Learn the real-time endpoint event payload schemas your application receives during a call (if configured) and behaviors
Participant events real-time event payload
{
"event": string,
"data": {
"data": {
"participant": {
"id": int,
"name": string | null,
"is_host": boolean,
"platform": string | null,
"extra_data": object,
"email": string | null
},
"timestamp": {
"absolute": string, // ISO86001 string
"relative": float
},
"data": null // Will always return null
},
"realtime_endpoint": { // Real-time endpoint artifact
"id": string,
"metadata": object,
},
"participant_events": { // Participant events artifact
"id": string,
"metadata": object
},
"recording": { // Recording artifact
"id": string,
"metadata": object
},
"bot": { // Bot artifact
"id": string,
"metadata": object
}
}
}Participant events payload events
If you're using Meeting Participant Emails, the
participant_events.joinevent.If you require the email early on the call, you should use the
participant_events.updateevent, which will be sent once the email has been matched to the corresponding calendar attendee.
| Event | Description |
|---|---|
participant_events.join | A participant joined. |
participant_events.leave | A participant left. |
participant_events.update | A participant updated their details. |
participant_events.speech_on | A participant started speaking. |
participant_events.speech_off | A participant stopped speaking. |
participant_events.webcam_on | A participant turned on their webcam. |
participant_events.webcam_off | A participant turned off their webcam. |
participant_events.screenshare_on | A participant started screen sharing. |
participant_events.screenshare_off | A participant stopped screen sharing. |
Chat message real-time event payload
{
"event": "participant_events.chat_message",
"data": {
"data": {
"participant": {
"id": int,
"name": string | null,
"is_host": boolean,
"platform": string | null,
"extra_data": object,
"email": string | null
},
"timestamp": {
"absolute": string, // ISO86001
"relative": float
},
"data": {
"text": string,
"to": string
}
},
"realtime_endpoint": { // Real-time endpoint artifact
"id": string,
"metadata": object,
},
"participant_events": { // Participant events artifact
"id": string,
"metadata": object
},
"recording": { // Recording artifact
"id": string,
"metadata": object
},
"bot": { // Bot artifact
"id": string,
"metadata": object
}
}
}Finalized transcript real-time event payload
{
"event": "transcript.data",
"data": {
"data": {
"words": {
"text": string,
"start_timestamp": {
"relative": float
},
"end_timestamp": {
"relative": float
} | null
}[],
"language_code": string,
"participant": {
"id": int,
"name": string | null,
"is_host": boolean,
"platform": string | null,
"extra_data": object,
"email": string | null
}
},
"realtime_endpoint": {
"id": string,
"metadata": object,
},
"transcript": {
"id": string,
"metadata": object
},
"recording": {
"id": string,
"metadata": object
},
"bot": {
"id": string,
"metadata": object
}
}
}Partial transcript real-time event payload
{
"event": "transcript.partial_data",
"data": {
"data": {
"words": [{
"text": string,
"start_timestamp": {
"relative": float
},
"end_timestamp": {
"relative": float
} | null
}],
"participant": {
"id": int,
"name": string | null,
"is_host": boolean,
"platform": string | null,
"extra_data": object,
"email": string | null
}
},
"realtime_endpoint": {
"id": string,
"metadata": object,
},
"transcript": {
"id": string,
"metadata": object
},
"recording": {
"id": string,
"metadata": object
},
"bot": {
"id": string,
"metadata": object
}
}
}Audio mixed raw data real-time event payload
{
"event": "audio_mixed_raw.data",
"data": {
"data": {
"buffer": string, // base64-encoded raw audio 16 kHz mono, S16LE(16-bit PCM LE)
"timestamp": {
"absolute": string, // ISO86001
"relative": float
}
},
"realtime_endpoint": {
"id": string,
"metadata": object,
},
"audio_mixed": {
"id": string,
"metadata": object
},
"recording": {
"id": string,
"metadata": object
},
"bot": {
"id": string,
"metadata": object
},
}
}Audio separate raw data real-time event payload
{
"event": "audio_separate_raw.data",
"data": {
"data": {
"buffer": string, // base64-encoded raw audio 16 kHz mono, S16LE(16-bit PCM LE)
"timestamp": {
"absolute": string, // ISO86001
"relative": float
},
"participant": {
"id": int,
"name": string | null,
"is_host": boolean,
"platform": string | null,
"extra_data": object,
"email": string | null
}
},
"realtime_endpoint": {
"id": string,
"metadata": object,
},
"audio_separate": {
"id": string,
"metadata": object
},
"recording": {
"id": string,
"metadata": object
},
"bot": {
"id": string,
"metadata": object
},
}
}Video separate PNG data real-time event payload
{
"event": "video_separate_png.data",
"data": {
"data": {
"buffer": string, // base64 encoded png at 2fps with resolution 360x640
"timestamp": {
"absolute": string, // ISO86001
"relative": float
},
"type": "webcam" | "screenshare",
"participant": {
"id": int,
"name": string | null,
"is_host": boolean,
"platform": string | null,
"extra_data": object,
"email": string | null
}
},
"realtime_endpoint": {
"id": string,
"metadata": object,
},
"video_separate": {
"id": string,
"metadata": object
},
"recording": {
"id": string,
"metadata": object
},
"bot": {
"id": string,
"metadata": object
},
}
}Video separate H264 data real-time event payload
{
"event": "video_separate_h264.data",
"data": {
"data": {
"buffer": string, // base64 h264 at a resolution and framerate set by the platform
"timestamp": {
"absolute": string, // ISO86001
"relative": float
},
"type": "webcam" | "screenshare",
"participant": {
"id": int,
"name": string | null,
"is_host": boolean,
"platform": string | null,
"extra_data": object,
"email": string | null
}
},
"realtime_endpoint": {
"id": string,
"metadata": object,
},
"video_separate": {
"id": string,
"metadata": object
},
"recording": {
"id": string,
"metadata": object
},
"bot": {
"id": string,
"metadata": object
},
}
}Updated 4 days ago