Interruptions, silence and goodbyes: tuning how a voice agent takes turns
Phone calls are full of coughs, horns, "haan" and long pauses. Here is how to set interruptions, silence and hang-ups so your agent sounds like it is listening.
The Vaakyo team3 min read
- Conversation design
- Engineering
Most of what makes a voice agent feel natural isn't the prompt. It's turn-taking: when the agent stops for the caller, when it carries on, and what it does when nobody speaks. Indian phone lines make this harder, with traffic behind the caller, a TV in the room, and listening sounds like "haan" and "accha" in every other sentence.
These are the settings on the agent's Call tab that decide it, and how we suggest setting them.
Let callers interrupt, but not for noise
With interruptions on (the default), a caller can talk over the agent. Vaakyo doesn't stop at the first sound. It pauses when the caller has said at least a couple of real words with a voice behind them, and only stops the reply once the caller's turn ends with real words. If it was a cough or a horn, the agent carries on from where it paused.
A few things never count as an interruption:
- listening sounds and fillers: "haan", "hmm", "ok", "theek hai";
- much quieter voices, such as a TV or people in the background;
- the agent's own voice coming back from a speakerphone.
Short stop phrases always work, however brief: "wait", "ruko", "ek minute", "nahi".
If your callers are often outside or on speaker (delivery partners, field staff, shopkeepers), turn on noisy line. It then takes a few more words and a stronger voice to stop the agent, so street noise doesn't keep cutting it off.
Protect the greeting
The first seconds of a call are messy: "hello? hello?" and line noise at pick-up. By default the welcome message plays to the end and anything the caller says meanwhile is answered right after. Keep it that way unless your greeting is long. If it is, shorten the greeting first.
Ask once, then let the call go
When the caller goes quiet, the agent can check once whether they're still there. Turn on the user online check, keep the message short ("Are you still there?" or "Aap line par hain?"), and ask after about 8 to 10 seconds of silence.
Then set hang up on silence a little later, for example 15 to 20 seconds, with a hang-up message that closes politely: "I'll let you go now. Thank you for your time, {name}." The check has to come before the hang-up, or it never runs.
End the call when the job is done
An agent that keeps talking after the caller has got what they needed wastes their time and your minutes. You can end calls in two ways:
- the agent decides in its own reply that the conversation is over and says goodbye;
- a hang-up prompt checks after each reply whether the call is complete, judged against your own rule. For example: "Complete once the caller has confirmed or cancelled the order, or asked not to be called again."
The hang-up prompt runs in the background and doesn't slow replies. It's an LLM's judgement, so test it on real calls and keep a maximum length as a hard limit.
Check it on real calls
Each call records how many times the agent was really interrupted, how many times it paused for noise and carried on, and how much noise it ignored. If you see many real interruptions on a script, the agent is probably talking too long in one go. Split its replies into shorter turns. If you see many pauses for noise, turn on noisy line for that agent.
Turn-taking is easiest to judge by listening. Make a few test calls from a quiet room and a few from a busy street before you put an agent in front of customers.