How-to

Interruption control

Decide whether and when users can interrupt the bot while it's speaking.

Interruption governs what happens when a user starts talking while the bot is speaking. The default is to let them interrupt freely. You can require a minimum number of words to trigger an interrupt, or disable interruption entirely for a specific node (legal disclaimers, verification prompts).

Prerequisites

Config fields

FieldTypeAllowed valuesDefaultBehaviour
modeenum"enabled", "disabled_discard""enabled"enabled lets the user interrupt. disabled_discard silently drops user speech while the bot is speaking — frames never reach the LLM.
min_wordsint | null1+nullWhen set with mode: enabled, the user must speak at least this many words for an interrupt to fire. When the bot is idle, 1 word is still enough so the agent stays responsive.

Both fields live under configurations.interruption on the template, and can be overridden per node.

Template-level config

template-interruption.json
json
{
  "configurations": {
    "interruption": {
      "mode": "enabled",
      "min_words": 3
    }
  }
}

This sets a sane default: short confirmations like “yeah” or “okay” don’t cut the bot off mid-sentence, but a full sentence does.

Per-node override

Use disabled_discard on nodes where the bot must finish speaking uninterrupted — legal disclaimers, Miranda-style warnings, regulated disclosures.

node-override.json
json
{
  "node_name": "legal_disclaimer",
  "interruption": {
    "mode": "disabled_discard"
  },
  "task_messages": [
    { "role": "system", "content": "Read the full compliance disclaimer without stopping." }
  ]
}

On node transition, template defaults reset first, then the node override applies. There is no stale state from the previous node’s override.

Edge cases

  • Barge-in while TTS — When mode: enabled and min_words is not met, user speech is detected but the turn continues. Once min_words is met, the interruption fires immediately — the bot’s TTS is cancelled mid-utterance.
  • Silent suppression in disabled_discard — User frames are dropped by the user-mute strategy inside the LLM aggregator. The LLM never sees them; no context pollution.
  • Responsiveness fallbackmin_words applies only during bot speech. When the bot is idle, one word is enough to start a turn so the agent doesn’t feel sluggish.
  • Word counting — Words are counted via a naive whitespace split on the transcription. “uh-huh yes please” counts as 3 words.

When to raise min_words

On phone calls with background chatter, set min_words: 3 or higher. On browser calls where mic isolation is better, min_words: 2 is usually plenty.

Next steps

Was this helpful?