Logo
Search
API Docs

Interruption Handling & Barge-In Sensitivity

Voice & Audio Tuning

Interruption Handling & Barge-In Sensitivity

Overview

When a caller starts talking while your assistant is mid-sentence, the assistant needs to decide whether that's a real interruption (stop talking now) or just a brief acknowledgment like "okay" or "mhm" that shouldn't cut it off. This is controlled by stopSpeakingPlan, along with two phrase lists that override its normal evaluation.


The stopSpeakingPlan Parameters

FieldControlsNotes
numWordsHow many words the caller must say before the assistant stops speaking0 stops immediately on any voice activity (most sensitive). Higher values let short acknowledgments finish without triggering a stop.
voiceSecondsHow long the caller must be continuously speaking before the assistant stopsDefault 0.2s. Lower is more responsive; higher reduces false positives from background noise.
backoffSecondsHow long the assistant waits before resuming speech after being interruptedDefault 1.0s. Lower resumes faster; higher gives the caller more room before the assistant speaks again.
{
  "stopSpeakingPlan": {
    "numWords": 0,
    "voiceSeconds": 0.2,
    "backoffSeconds": 1.0
  }
}

Evaluation Order: Interruption vs. Acknowledgement Phrases

When the caller starts speaking during assistant speech, three checks happen in order:

  1. interruptionPhrases – if what the caller said matches one of these, the assistant's pipeline is cleared instantly, bypassing the numWords/voiceSeconds thresholds entirely. Use this for phrases that should always interrupt, regardless of length ("stop", "wait", "hold on").
  2. acknowledgementPhrases – if it matches one of these instead, the interruption is ignored altogether and the assistant keeps talking. Use this for backchanneling words callers say without meaning to interrupt ("okay", "right", "got it").
  3. Threshold evaluation – if neither list matches, the normal numWords/voiceSeconds thresholds decide whether the assistant stops.

If the threshold is met (or an interruption phrase matched), the pipeline clears and backoffSeconds is applied before the assistant is ready to speak again.


High-Sensitivity Configuration

A high-sensitivity setup stops the assistant on almost any sound, giving the caller maximum control over the conversation:

{
  "stopSpeakingPlan": {
    "numWords": 0,
    "voiceSeconds": 0.2,
    "backoffSeconds": 1.0
  }
}

Good for banking, urgent transactional flows, or any scenario where a caller correcting or stopping the assistant quickly matters more than avoiding accidental interruptions from background noise.


Low-Sensitivity Configuration

A lower-sensitivity setup requires a bit more from the caller before treating it as a real interruption, which helps avoid false triggers from brief clarifications or noisy environments:

{
  "stopSpeakingPlan": {
    "numWords": 2,
    "voiceSeconds": 0.5,
    "backoffSeconds": 1.0
  }
}

Good for clinic appointment bots or similar flows where callers commonly say a short word or two mid-response without meaning to cut the assistant off.


Krisp and Audio-Based Endpointing

If your assistant uses audio-based background noise filtering, endpointing works purely off detected audio activity — it will notify the pipeline of any detected speech, without first checking whether that speech matches your phrase lists. In practice, this means your interruptionPhrases and acknowledgementPhrases configuration needs extra care: build your phrase lists and thresholds assuming that any background noise or brief utterance the audio layer picks up as speech will reach the threshold evaluation step, not just clean, intentional interruptions.