> ## Documentation Index
> Fetch the complete documentation index at: https://brosbots.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Backchannel

> Let the agent naturally acknowledge the caller while they speak.

### Introduction

Backchanneling ("filler words") makes the agent sound natural and
attentive. When enabled, the bot occasionally interjects short phrases
like "mhm", "I see", "right" while the caller speaks - exactly like a
human listening on the phone.

### How it works

The agent follows both sides of the conversation and interjects the way a
person does: at a natural break, not on a timer.

1. **When.** A nod lands on a micro-pause (the caller went quiet for a
   moment but has not finished) or at the end of a sentence or clause in the
   live transcript. Only when neither a pause nor punctuation shows up for a
   while does the agent fall back to a timed nod.
2. **Whether at all.** The agent stays silent when the caller:
   * has spoken for less than the minimum speech duration or said only a few
     words (a short answer, not a story),
   * asks a question or checks the line ("hello?", "are you there?"),
   * is answering a question the agent just asked - until the answer turns
     into a longer explanation,
   * has just interrupted the agent (a few seconds of silence, so the "mhm"
     is not heard as the bot trying to keep the floor),
   * and always while the agent itself is speaking.
3. **What.** The phrase follows what the caller is saying right now:
   * dictating a number, e-mail, address or spelling a name → a quiet "mhm",
     "uh huh",
   * describing a problem or a complaint ("doesn't work", "never arrived")
     → "I see",
   * enumerating ("and then", "apart from that") → "mhm", "uh huh",
   * otherwise mostly a short "mhm", longer words less often.
     The same phrase is never used twice in a row. The agent only ever uses
     the phrases from the settings list - if, say, "I see" is not on it, it
     picks from what it has.
4. The audio is injected into the stream without interrupting the caller
   and without involving the LLM.
5. A minimum gap is kept between consecutive interjections.

Short breathing pauses do not reset the caller's turn: speaking time and
word count run from the caller's first word until the agent replies.

### Configuration

Go to **Agent → Settings tab**:

| Setting | Description | Default |
| - | - | - |
| **Enabled** | Turns backchanneling on/off | Off |
| **Phrases** | Comma-separated list of phrases | Language defaults |
| **Probability** | Chance (0–1) of an interjection at each opportunity | 0.6 |
| **Min. speech duration** | Seconds of caller speech before the first interjection | 3.0 |
| **Gap** | Minimum gap between interjections (s) | 5.0 |

Content recognition covers Polish, English, German, Spanish, French and
Italian. In other languages the agent still nods at breaks, but without
matching the phrase to the content.

### Default phrases per language

| Language | Phrases |
| - | - |
| Polish | mhm, rozumiem, aha, ok, tak, jasne |
| English | mhm, I see, uh huh, okay, right, got it |
| German | mhm, verstehe, aha, okay, ja, genau |
| Spanish | mhm, entiendo, ajá, vale, sí, claro |
| French | mhm, je vois, ah oui, d'accord, oui, bien sûr |
| Italian | mhm, capisco, ah sì, ok, sì, certo |

### Best practices

* **Short phrases**: 1–2 syllables work best ("mhm", "uh huh", "ok").
* **Don't overdo it**: high probability + short gaps sound artificial.
* **Brand consistency**: match the phrases to the agent's personality.
* **Language culture**: use acknowledgments natural for the region.

### Technical details

* Sounds are generated by TTS ahead of time and cached.
* Backchannel uses the same voice as the agent.
* It doesn't interfere with STT transcription or the LLM.
* It works alongside noise reduction and VAD settings.

### Limitations

* Interjections don't appear in the transcript (they're injected past it).
* Too-frequent short phrases can sound repetitive.
* Requires correctly working VAD. Micro-pauses are detected best with Smart
  Turn enabled; without it the agent relies on punctuation from the transcript.
* Matching the phrase to the content is simple dictionary rules, not a
  language model - on purpose, since a nod has to land within a fraction of
  a second.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.