conversation-update event is triggered whenever a message occurs during the call - both user messages (from speech-to-text) and assistant messages (generated responses).
Each event includes the complete conversation history from the start of the call, not just the latest message. This ensures you never miss context even if some events are lost.
When It’s Triggered
This event is sent for:- User Messages: When user speech is transcribed by STT
- Assistant Messages: When the assistant generates and speaks a response
- Welcome Messages: When the assistant plays the initial greeting
Event Structure
Key Fields
Messages Object
Themessages array contains the conversation history between the user and assistant.
Each
conversation-update event includes all messages from the start of the call up to that point, not just the latest message. This ensures that if any individual event is missed, you still have the complete conversation context.Message Structure
Message Metrics
Each message includes detailed performance metrics:Timeline Metrics
totalElapsedTimeMs: Total time since call startoffsetFromPreviousTurnMs: Time gap from previous message
Audio Metrics
totalAudioReceivedMs: Total audio duration receivedaudioDelayPerTurnMs: Audio processing delay for this turndelayedPacketsPerTurnCount: Count of delayed network packets
Speech-to-Text (STT) Metrics
timestampMs: When transcription was completedstartOffsetMs/endOffsetMs: Audio segment boundariesconfidence: Transcription confidence score (0.0 to 1.0)vadMs: Voice activity detection duration
Text-to-Speech (TTS) Metrics
audioDurationMs: Duration of generated audiogenerationTimeMs: Time to generate audioqueueLatencyMs: Processing queue delayisCachePlaying: Whether audio was served from cache
LLM Metrics
responseLatencyMs: Time for LLM to generate responsequeueLatencyMs: Processing queue delay
Message Types
- Welcome Messages: Have
messageIdstarting with “welcome-” - User Messages: Have
messageIdstarting with “user-” - Assistant Messages: Have complex
messageIdwith user reference and timestamp
Call Object
Thecall object contains comprehensive information about the call session.
Assistant Object
Theassistant object contains the configuration and settings of the assistant handling the call.
In some webhook events, the assistant object may be truncated for brevity. The full assistant configuration is typically included in
status-update events.Key Subobjects
assistantAnalysis: Contains settings for summary generation, success evaluation, and structured data extractionassistantServer: The webhook configuration that triggered this eventconfig.speech: STT/TTS vendor settings, voice configuration, and language options
Message Flow Pattern
Events are triggered in this typical sequence:- Welcome Message →
conversation-updatewith assistant greeting - User Speaks →
conversation-updatewith transcribed user message - Assistant Responds →
conversation-updatewith assistant reply - User Replies →
conversation-updatewith new user message - Cycle Continues until call ends
Example Payload
Common Use Cases
Real-Time Conversation Display
Live Transcription Storage
Sentiment Analysis Pipeline
Message Metrics Tracking
Message Interruptions
When users interrupt assistant responses, theskippedAssistantMessages field contains messages that were cut off:
Performance Considerations
Since conversation-update events can contain large message arrays:- Incremental Processing: Only process new messages since your last update
- Message Deduplication: Use
messageIdto avoid processing duplicates - Efficient Storage: Consider storing messages individually rather than entire payloads
- Pagination: For long conversations, implement message pagination in your UI