How-to guide

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

The default models

Every call runs a speech-to-text, LLM, text-to-speech pipeline. The defaults:

StageDefault
Speech-to-textDeepgram Nova-3
LLMOpenAI gpt-4o, with an Anthropic fallback
Text-to-speechCartesia 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."
Do not use SSML. Tags such as break or emotion tags are not supported and are read out or mangled. An ellipsis is your pause.

Step 3: Say numbers, dates and ids like a person

This one habit does more for realism than anything else:

WrittenSpoken
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"
+14155550100read 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:

PresetBehaviourUse it for
Patient callerWaits 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 lineAny word interrupts; a quick end of turn.Dispatch desks, expert users.
Announcements onlyThe 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

ProblemFix
The agent talks over the caller, or asks again while they are thinkingMove towards Patient caller.
The agent feels asleepMove towards Fast-paced line.
A proper noun comes out wrongSpeech-to-text guesses at unusual names. Confirm important values back to the caller instead of acting on one hearing.

Next steps

On this page