# Turn-taking

> When the agent decides the caller has finished, how quickly it answers, and how it handles being talked over.

Source: https://voxio.in/docs/turn-taking · voxioagent 2.0.0 · Index: https://voxio.in/docs/llms.txt

Good turn-taking is most of what makes an agent feel human: not cutting people off, not leaving long silences, and stopping when interrupted. These settings live on the flow's **Behaviour** tab; from code, send them in `runtime`. They apply from the next session.

```js
await voxio.flows.update(flowKey, {
  runtime: {
    "process-type": "speech-native",
    "speaker-turn-timeout-ms": 500,
    "pre-fire": true,
  },
});
```

## Conversation engine

- `process-type` (string): **Conversation engine**. How the agent decides the caller has finished. Hover each option to compare. One of: `speech-native` (Listens to how the caller speaks to know when they’ve finished, and can start replying early.), `stt-native` (Waits for the finished transcript before replying. Simpler, a little slower.). Default: `"stt-native"`.
- `warmup-agent` (boolean): **Warm up before the call**. Makes the first reply faster. Default: `false`.
- `first-chunk-fast` (boolean): **Speak the first words immediately**. Start talking as soon as the first words are ready. Default: `false`.

## When the agent replies

- `pre-fire` (boolean): **Reply early**. Starts answering before the silence ends; undone if the caller keeps talking. Default: `false`.
- `pre-fire-config` (object): **Early-reply window**. How early the agent may start replying; it adapts between the shortest and longest. Only used when `pre-fire` is on. Fields: `current` (Start at, ms), `min` (Shortest, ms), `max` (Longest, ms). Default: `{"min":50,"max":5000,"current":100}`.
- `streaming-grace-ms` (number (ms)): **Hold the floor after replying**. A late “uh” in this window isn’t treated as a new turn. From 0 to 5000. Default: `250`.
- `speaker-turn-timeout-ms` (number (ms)): **Caller’s pause before replying**. How long the caller can pause before the agent answers. From 100 to 5000. Default: `600`.
- `vad-threshold` (number): **Voice detection sensitivity**. Higher ignores background noise. Web calls only. Web sessions only. From 0 to 1. Default: `0.5`.

## Tuning

| If callers say… | Try |
| --- | --- |
| “It keeps cutting me off” | Raise `speaker-turn-timeout-ms` (e.g. 800). On Deepgram Flux, raise `eot-threshold`. |
| “There’s a long pause before it answers” | Lower `speaker-turn-timeout-ms`, turn on `pre-fire` and `first-chunk-fast`. |
| “It stops talking when I say hmm” | Add the filler words to `ignore-words` on the speaking steps. See [Interruptions](https://voxio.in/docs/turn-taking-interruptions.md). |
| “It reacts to noise” | Raise `vad-threshold` (web) or `voice-isolation`. |

## Next steps

- [Interruptions](https://voxio.in/docs/turn-taking-interruptions.md): what happens when the caller talks over the agent.
- [When the caller goes quiet](https://voxio.in/docs/turn-taking-quiet.md): nudges.
