Conversation Behavior
The conversation section of the agent config controls how calls sound and feel — when the agent speaks and listens, how interruptions are handled, and what background sounds are played.
Turn Detection
Turn detection determines when the agent decides the caller has finished speaking.
Code
| Mode | How it works | Best for |
|---|---|---|
vad | Silence-based detection — waits for a pause in speech | Fast, low-latency |
semantic_vad | ML model predicts whether the utterance is complete | More natural, handles partial sentences better |
Parameters:
| Field | Default | Description |
|---|---|---|
min_delay | 0.5s | Minimum silence before triggering (prevents cutting off fast speakers) |
max_delay | 6.0s | Maximum wait before the agent responds anyway |
endpointing_mode | dynamic | fixed uses a constant threshold; dynamic adapts to conversation pace |
First Message
Configure what the agent says when the call connects:
Code
| Field | Default | Description |
|---|---|---|
enabled | true | Whether the agent speaks first |
text | "Hello! How can I help you today?" | Opening message. Supports {{variables}}. |
delay_ms | 400 | Pause before speaking (ms). Gives caller time to settle. |
allow_interruptions | false | Whether the caller can cut off the greeting |
Interruption Handling
Controls what happens when the caller speaks while the agent is talking:
Code
| Field | Default | Description |
|---|---|---|
enabled | true | Allow callers to interrupt the agent |
min_duration | 0.5s | Minimum speech duration to count as an interruption |
min_words | 0 | Minimum words before interruption triggers |
false_interruption_timeout | 2.0s | If caller goes silent within this window, resume the interrupted response |
resume_false_interruption | true | Resume if the "interruption" was just background noise |
discard_audio_if_uninterruptible | true | Drop buffered audio when agent is mid-sentence and can't be interrupted |
Silence Timeout
Hang up if the caller goes silent:
Code
The agent sends up to warning_count messages before ending the call.
Call Duration Limit
Prevent calls from running indefinitely:
Code
Maximum supported: 7200 seconds (2 hours). Minimum: 60 seconds.
Backchannel Responses
Natural listening cues ("mm-hmm", "I see") inserted during long caller utterances:
Code
Background Audio
Play ambient sounds to make the call feel more natural:
Code
Available presets:
| Preset | Description |
|---|---|
office_ambience | Quiet office background |
city_ambience | Urban street sounds |
forest_ambience | Natural outdoor sounds |
crowded_room | Busy indoor environment |
keyboard_typing | Keyboard sounds during LLM processing |
keyboard_typing_2 | Alternate keyboard variant |
hold_music | Gentle hold music |
Set source to a URL to use a custom audio file.
Ambient plays continuously throughout the call. Thinking plays while the LLM is generating a response — helps mask latency.
Preemptive Generation
Start generating the next response before the caller finishes speaking:
Code
Disabled by default. Enable for lower perceived latency, but may result in responses that don't fully address the complete utterance.
TTS Text Transforms
Filter content before sending to the voice engine:
Code
filter_markdown removes **bold**, # headers, and similar markup.
filter_emoji removes emoji characters.
Both are enabled by default to prevent LLM-generated formatting from being read aloud.
Related
- Agents — full agent configuration
- Configuring Voice & Speech — TTS and STT provider settings
- Post-Call Analysis — analytics configuration
