
# Turn-Taking, Interruptions and Dead Air

Three settings decide the rhythm of a call: how sensitive the agent is to
speech, how long a pause has to be before it takes its turn, and how much
speech a caller needs to produce to cut the agent off. Three more decide what
happens when nobody says anything at all.

All six live on the **Voice** tab under **Audio & Turn-Taking**, with **Quick
presets** above the manual fields. Most agents should use a preset.

## What you'll need

- The **`agents:voice:manage`** permission.
- A saved voice agent — see [Create a Voice Agent](/help/voice-agents/creating-campaigns).

## Start with a preset

**Voice → Audio & Turn-Taking → Quick presets** ("Pick a preset or fine-tune
manually"). Clicking one writes all six values at once; the active preset is
highlighted with a tick while the values still match it.

| Preset | For | Activation Threshold | Min Silence | Min Speech | No Response | Prompt After | Disconnect After |
|---|---|---|---|---|---|---|---|
| **Conversational** — *Balanced for everyday calls* | Most agents. The speech detector's own defaults. | 0.5 | 0.55 s | 0.05 s | 60 s | 150 s | 180 s |
| **Fast-paced** — *Snappy turn-taking* | Short transactional calls, confirmations, quick lookups | 0.3 | 0.35 s | 0.03 s | 30 s | 90 s | 120 s |
| **Patient (IVR)** — *Tolerates long pauses* | Callers reading a number off a document, navigating a menu, or thinking | 0.6 | 0.75 s | 0.1 s | 90 s | 240 s | 300 s |

A new agent starts on **Conversational**.

## What the three turn-taking fields do

All three are **in seconds**. The form's help text under each field says the
same thing.

**Activation Threshold** — *voice detection sensitivity*, between 0 and 1. How
confident the agent must be that it is hearing a human voice rather than
background noise. Lower is more sensitive: it picks up quiet speech, and also
picks up traffic, a television and a colleague two desks away. Raise it for
callers on speakerphone in loud places; lower it for soft-spoken callers on a
clean line.

**Min Silence Duration** — *the pause that ends the caller's turn*. The agent
waits this long after speech stops before treating the turn as finished and
starting to answer. This is the single biggest lever on how the call *feels*.
Too short and the agent talks over someone who was mid-thought; too long and
it seems slow.

**Min Speech Duration** — *speech needed before the caller can interrupt*. How
much continuous speech the caller must produce for the agent to stop talking
and listen. Low values let a "yes", "no" or "wait" cut the agent off; higher
values mean a cough, a "mm-hm" or a door closing will not.

```mermaid
flowchart LR
    A["Caller speaks"] --> B{"Loud enough?<br/>(Activation Threshold)"}
    B -- no --> A
    B -- yes --> C{"Long enough to<br/>interrupt?<br/>(Min Speech Duration)"}
    C -- yes --> D["Agent stops talking<br/>and listens"]
    C -- no --> A
    D --> E{"Silence held for<br/>Min Silence Duration?"}
    E -- no --> D
    E -- yes --> F["Caller's turn ends —<br/>agent answers"]
```

### Silence must be longer than speech

**Min Silence Duration should always be greater than Min Speech Duration.**
They measure different things — one is a pause, the other is continuous
speech — and if speech is the longer of the two, short replies stop working as
interruptions: the caller says "no" and the agent keeps going.

The form warns you inline when they are the wrong way round:

> *Min Speech Duration is longer than Min Silence Duration: short replies such
> as "yes" or "no" will not interrupt the agent. The presets set silence
> longer than speech.*

Every preset satisfies this. If you are typing values by hand and are not sure,
click **Conversational** and adjust from there.

### Values are checked, and the page tells you the truth

Each field accepts 0 to 10 seconds, and Activation Threshold accepts above 0
up to 1. A value outside those bounds is not silently honoured — calls fall
back to the default, and the form says so:

> *Min Silence Duration 500 is not a usable value in seconds (0–10); calls use
> the default 0.55s.*

The **View Voice Agent (Production)** page prints the **effective** value —
what a call will actually use — rather than the stored number, so a
substitution is visible rather than something you discover on a call:
`0.55s (stored 500 is out of range; default applied)`.

If turn-taking values on an agent were ever corrected for you, the same card
notes when, why, and what the previous values were.

> **If you had an editor tab open when values were corrected**, saving from it
> will not undo the correction: the save lands, and you are told *"Turn-taking
> values were left at their corrected settings; this tab was opened before
> they were corrected."* Reload the page and the fields are editable as
> normal.

## "The agent responds too slowly"

This is the most common tuning request, and the lever is almost always
**Min Silence Duration**. Work through it in this order:

1. **Lower Min Silence Duration.** This is the only one of the three that
   affects the gap before the agent answers. Going from 0.55 s to 0.35 s (the
   **Fast-paced** value) is a change callers notice. Below about 0.55 s the
   agent starts cutting off people who pause mid-sentence, so treat that as a
   practical floor for conversational calls and only go lower for short,
   transactional ones.
2. **Accept that some of the gap is fixed.** Endpointing adds roughly another
   0.6 s beyond your setting before the agent commits to answering. You cannot
   tune that away.
3. **Then look at the model, not the audio.** The remaining second or so is
   the model composing its reply. Lower **Thinking Level** on the **Setup**
   tab, and shorten the instructions — a long prompt costs time on every
   single turn. Cutting 1,000 words of instructions can help more than any
   audio setting.

**Do not raise or lower Min Speech Duration to fix latency.** It governs
interruptions only, and changing it will not make the agent answer sooner.

## "The agent talks over me" / "I can't interrupt it"

- **Talks over you** → raise **Min Silence Duration** (the caller's pauses are
  being read as the end of their turn), or raise **Activation Threshold** if
  background noise is being heard as speech.
- **Cannot interrupt it** → lower **Min Speech Duration**, and check it is not
  larger than Min Silence Duration. If a one-word interruption never lands,
  that is the setting.
- **Interrupts itself on noise** → raise **Activation Threshold** and
  **Min Speech Duration** together. This is the speakerphone-in-a-warehouse
  case.

## While the agent is thinking: filler speech

A reply usually starts within a couple of seconds. When the model takes longer, or a tool runs long, the agent does not leave the line silent: it says a short line in its own voice, such as "One moment.", and the reply follows as soon as it is ready. If the reply is ready while the filler is still playing, the agent finishes the filler first rather than talking over itself. That usually takes a fraction of a second. A long custom line is stopped cleanly instead of making the caller wait, and no filler starts once the reply is already on its way.

Two fillers exist, and both are yours to shape on the **Voice** tab's **Fillers** card:

| Field | What it does |
|---|---|
| **Slow reply: speak after (sec)** | How long the caller may wait for the agent's first word before it says a filler. Blank uses the platform default of 3.5 seconds; 0 turns it off. |
| **Slow-reply lines** | Up to three short lines, one per row, in the agent's language, rotated so a caller never hears the same one twice running. Blank uses the platform's line. |
| **Use my own wording for another language** (optional) | Your own slow-reply lines for a particular language, used instead of the translation. Most agents never need it. |
| **Tool wait: speak after (sec)** | How long a tool may run in silence before the agent says the tool-wait line. Blank uses each tool's own platform delay. |
| **Tool-wait line** | The general line spoken while a tool is still running, with per-tool overrides below it. |

**Write each line once, in the agent's language.** When a call is in another language (the caller switched, or **Auto-Detect Language** heard it), the agent says the line in that language, translated automatically when the call first needs it. It speaks in the voice the call is using for that language, so a language with its own voice under **Multi-Lingual Support** hears the filler in that voice. Until a translation is ready the agent says nothing rather than speak the wrong language, so the first filler after a switch to a new language may be skipped.

What the platform keeps fixed: a filler is never the agent's first words on a call, two fillers are at least eight seconds apart, a long wait is filled again after that gap, at most six fillers play per call, and nothing plays during a transfer or while the caller is on hold. Fillers play on phone calls only.

Every filler is written into the transcript as agent speech, and the call's **Latency** card shows **Fillers spoken** with how long the caller had waited before each one, so you can read whether the setting is doing its job.

## Ending the call: the agent listens after its goodbye

When the business is done and the caller signals they are finished, the agent says goodbye and hangs up. It does not hang up the instant its goodbye ends. It listens for about a second and a half, a little longer if the caller is mid-word.

- **The caller says anything** ("Oh, one more thing", "wait", even "bye"): the call stays open. The agent hears what they said and answers. If they were only saying goodbye, it ends the call without a second farewell.
- **Silence or background noise:** the call ends as normal.
- The line is held at most twice per call, so a noisy line cannot keep a finished call open.

Each time the agent ends a call, or keeps one open because the caller spoke, the call's transcript shows an **end_call** entry saying which happened. See [Calls, Transcripts and Recordings](/help/voice-agents/call-detail).

## Dead air: what happens on a silent line

**Voice → Audio & Turn-Taking → Dead-Air Timeout** ("Automatically prompt and
disconnect when prolonged silence is detected") has three whole-second fields:

| Field | Default | What it does |
|---|---|---|
| **No Response (sec)** | 60 | Disconnect if the caller never speaks at all after the greeting |
| **Prompt After (sec)** | 150 | Say "Are you still there?" after this much silence |
| **Disconnect After (sec)** | 180 | Disconnect after this much silence, once the caller had spoken |

They exist because a caller who puts the phone down without hanging up
otherwise holds the line — and the minutes — open indefinitely.

Set them longer for calls where silence is legitimate (someone fetching a
document, a caller on hold at their end) and shorter for high-volume lines
where an abandoned call is just cost.

**These rules are suspended while the caller is meant to be waiting:**

- **During a warm transfer.** The caller hears hold music, with their
  microphone off, from the moment the transfer starts until the agent comes
  back to them, so their silence is expected. A warm transfer that has not
  connected after 5 minutes ends, and the agent is back with the caller to
  offer the next step. See [Transfers and Escalation](/help/voice-agents/transfers-and-escalation).
- **While an agent timer runs.** If the agent has started a countdown for the
  caller — "take two minutes, I'll wait" — the silence timers do not fire
  while it runs. See [Tools, Knowledge and Memory](/help/voice-agents/tools-and-knowledge).
- **While the caller waits on your team in Microsoft Teams.**

### What the agent says when the caller goes quiet

By default the agent decides. When the prompt delay passes it checks in with one short question in its own words and in the language of the call, from what is actually happening on the line. If you would rather it say the same words every time, open the **Voice** tab's **What the agent says at fixed moments** card, set **When the caller goes quiet** to **Exact line**, and type the line. Leaving the line blank with **Exact line** selected uses the platform's "Are you still there?".

## Live-audio models: Google's turn detection

On **Gemini 3.8 Live** the presets and the three turn-taking fields above do
not apply — Google's own turn detection runs on the call. **Voice → Audio &
Turn-Taking** shows four settings instead, each blank for Google's default:
**Start of speech** and **End of speech** (High or Low sensitivity), **Silence
that ends a turn** (Google recommends 500–800 ms) and **Audio kept before
speech** (0 clips the first word). **Caller can interrupt** decides whether
the caller's speech cuts the agent off mid-sentence; off, the agent finishes
every sentence.

**Context compression** is always on — it is what lets a live-audio call run
past Google's 15-minute limit — and is tuned by Karmaflow; to try an agent
without it, contact support@karmaflow.ai. Fillers do not apply: what the
caller hears while a tool runs is set per tool under **Tools → Tools on
live-audio calls** (see [Tools and Knowledge](/help/voice-agents/tools-and-knowledge)).
Dead-air timeouts and background audio work as on any agent.

## Check your change on real calls

Turn-taking is not something to judge from one test call. After a change, let
the agent take a handful of real calls, then open **Agents → Agent Types →
Voice Agents**, click **⋯** on the agent's row and choose **Performance &
insights**. Four tiles there measure exactly what you just changed:

| Tile | What it tells you |
|---|---|
| **Interruptions / call** | How often callers successfully cut the agent off. A flat zero on calls where people plainly tried is the Min Speech Duration problem above. |
| **Response latency** | How long the agent waited before answering — what a caller experiences as "slow". |
| **LLM / TTS first byte** | How much of that wait is the model composing, not your audio settings. Compare the two before touching Min Silence Duration again. |
| **Tool success** | Unrelated to timing, but worth a glance: a failing tool stalls a call more than any setting here. |

The tiles only appear once calls have been taken on the current settings.

Then use **Simulate Call** on the **Test & Deploy** tab to hear it yourself
over a real phone path; the browser test panel is not a fair test of telephony
timing.

## Troubleshooting

- **An amber warning on the Voice tab that I don't understand.** It names the
  field, the stored value, and the value calls will use instead. Click a preset
  to clear it.
- **The View page shows a different number than the form.** The View page
  shows the effective value. If they differ, the stored value is out of range.
- **My change had no effect on live calls.** The **Voice** tab saves to the
  draft. Use **Save & Push Live**.
- **Callers get hung up on mid-thought.** **No Response** or **Disconnect
  After** is too short for your call type. Try the **Patient (IVR)** preset.
- **Nothing on this tab fixes a long pause before the answer.** Then it is not
  the audio settings — it is **Thinking Level** and prompt length. See the
  section above.

## Next steps

- [Voices, Greetings and Pronunciation](/help/voice-agents/voices-and-speech)
- [Calls, Transcripts and Recordings](/help/voice-agents/call-detail)
- [Testing, Drafts and Going Live](/help/voice-agents/testing-and-promotion)
