Voice and turn-taking
Make an agent sound human by writing for the ear and tuning how it takes turns.
What you'll learn
How to write lines that sound natural when spoken, and how to tune interruptions and pauses. Both are settings you control; neither needs a better model.
Prerequisites
- An agent you can call. See Your first voice agent.
The default models
Every call runs a speech-to-text, LLM, text-to-speech pipeline. The defaults:
| Stage | Default |
|---|---|
| Speech-to-text | Deepgram Nova-3 |
| LLM | OpenAI gpt-4o, with an Anthropic fallback |
| Text-to-speech | Cartesia Sonic (Inworld as an alternative) |
You can change them per workspace, with your own provider keys, or per agent.
Step 1: Write for the ear
Everything you type is spoken aloud. Left alone, a model writes prose: correct, complete and robotic. Show it examples of what you want instead of asking it to "be conversational".
Written (reads badly out loud)
"I have verified that access point AP-CEDAR-204 is back online
with a signal strength of -57 dBm."
Spoken (what you want)
"Okay, good news... your Wi-Fi box just came back up, and the
signal's looking strong."Step 2: Control the pace with punctuation
Punctuation is your only timing control, and the one you need.
Use an ellipsis where a person would pause:
"Alright... give me one second while I pull that up."
Short sentences. One idea each.
And it's fine to start a sentence with And, But or So.
One light filler per turn, never stacked:
"Okay, so... let me take a look."Step 3: Say numbers, dates and ids like a person
This one habit does more for realism than anything else:
| Written | Spoken |
|---|---|
| Ticket TKT-5001 | "ticket five thousand one" |
| -57 dBm | "a strong signal" |
| 90 seconds | "about a minute and a half" |
| 2026-07-30 | "this Thursday" |
| +14155550100 | read one digit at a time |
Step 4: Tune turn-taking
Two behaviours, tuned together: how easily the caller can interrupt (barge-in), and how long the agent waits after the caller stops before it speaks (end of turn). Set them in Capabilities → Voice & turn-taking:
| Preset | Behaviour | Use it for |
|---|---|---|
| Patient caller | Waits out pauses mid-thought; small words like "mm-hm" do not cut the agent off. | Older or distressed callers, anyone reading a number off a screen. |
| Fast-paced line | Any word interrupts; a quick end of turn. | Dispatch desks, expert users. |
| Announcements only | The agent cannot be interrupted while speaking. | Confirmations and compliance lines that must be heard in full. |
In the voice agent SDK, the same settings are on the agent:
speech: {
interruption: { minWords: 2, minDuration: 600 },
endpointing: { minDelay: 900, maxDelay: 4000 }
}minWords: 2 means "mm-hm" does not cut the agent off, but "wait, stop" does. minDelay is how long silence must last before the caller's turn counts as over.
Test it
Judge it by ear, on a real call: a transcript tells you nothing about pacing. Call the agent, interrupt it on purpose, and pause mid-sentence to see whether it waits. See Testing.
Common problems
| Problem | Fix |
|---|---|
| The agent talks over the caller, or asks again while they are thinking | Move towards Patient caller. |
| The agent feels asleep | Move towards Fast-paced line. |
| A proper noun comes out wrong | Speech-to-text guesses at unusual names. Confirm important values back to the caller instead of acting on one hearing. |