Skip to main content

Outbound: Tavus tells you when the replica has just started or stopped speaking—use stopped events for how long it spoke and whether the user interrupted.

message_type
string

conversation for conversation-layer app messages.

Example:

"conversation"

event_type
enum<string>

conversation.replica.started_speaking or conversation.replica.stopped_speaking.

Available options:
conversation.replica.started_speaking,
conversation.replica.stopped_speaking
Example:

"conversation.replica.stopped_speaking"

timestamp
number

Unix timestamp (seconds since epoch) indicating when this event was created. Use this to build timestamped transcripts or reconstruct the timeline of a conversation.

Example:

1746000000.123

seq
integer

Monotonic per event; a higher seq was emitted later. Use with turn_idx as in Event ordering and turn tracking.

Example:

201

conversation_id
string

Omitted when empty.

Example:

"your-conversation-id"

inference_id
string

UUID for the replica utterance when present at envelope level (matches transport id). Correlate with conversation.utterance and conversation.tool_call.

Example:

"550e8400-e29b-41d4-a716-446655440000"

turn_idx
integer

Turn index; increments when conversation.respond is processed. Groups utterances, tool calls, and speaking-state events for the same turn. See Event ordering and turn tracking.

Example:

4

properties
object

Omitted for started_speaking. On stopped_speaking, includes how long the replica spoke and whether stop was due to interruption.