Skip to main content
The voice is set per agent: open the agent and go to the Voice tab. By default you can choose from the Brosbots-managed stack - female and male voices in various styles. Under the hood that is ElevenLabs on Eleven v4 turbo; you do not pick the model, only the voice. Among the advanced voice settings v4 reads only stability - speed, style and similarity apply to the older ElevenLabs models on your own key. On the Business plan all TTS providers are available (incl. ElevenLabs, Cartesia, Soniox, Deepgram, OpenAI), along with custom voices - after adding a provider key in Account → Provider keys. Pick the voice ID according to the provider’s documentation, matching the language of your calls.

Expression: a laugh, a sigh, warmth in the voice

Eleven v4 turbo (every managed Brosbots voice) and Eleven v3 understand short cues in square brackets and perform them instead of reading them: [laughs], [chuckles], [sighs], [exhales], [warmly], [excited], [curious], [hesitates], [whispers]. The agent is told about them automatically, during the call, and only when its voice supports them - an older ElevenLabs model or another provider would read the word “chuckles” aloud. The rules the agent gets with the list: at most one cue per turn and none in most turns, only where a person would genuinely react that way (a short laugh after the caller’s joke, warmer when reassuring), only from the list, and never inside details the agent repeats back. Cues do not show in the transcript - you hear them on the recording. Nor do they go anywhere outside the call: they are taken out of SMS, e-mails, Google Sheets notes and rows, CRM fields and tool arguments before anything is sent or saved. Prompts from the wizard now carry a paragraph on natural conversation: most replies open with a spoken reaction to what the agent just heard (“mhm”, “uh-huh”, “sure”, “oh, great”), matched to the situation and never the same one twice in a row; plus varied confirmations, the caller’s name once or twice, no echoing their words. Add that paragraph to an older agent’s prompt in the editor - an example is in CHANGELOG_2026-10-15-ekspresja.md. Before a tool call (a search, an order lookup, the calendar) the agent says no reaction and no “one moment” - every agent with tools gets this rule automatically. The tool starts at once, and the waiting line (“Let me check that for you.” or your own wait message) is said once, while it runs. If the model asks for a moment by itself anyway, there is no second “one moment”.

When speech synthesis fails

A single synthesis error (a dropped connection) costs one sentence: on the next one the agent connects to the provider afresh. A second error within 30 s, or an error that will not fix itself (characters used up, key rejected), ends the call instead of leaving the caller in silence: the agent plays a short apology recorded earlier in its own voice and hangs up with the service_failure disposition. The apology is recorded once per voice, on the first call that uses it, and kept on the server - so it still plays when the key has just run out of characters. This covers ElevenLabs voices (managed and on your own key); with another provider, or when the voice fails before the apology was recorded, the agent hangs up without it.

Soniox

Soniox is the one provider you can put on both sides of the call: transcription and voice on a single key (see Transcription).
  • Model - tts-rt-v2, the current real-time model. The previous tts-rt-v1 was retired on 2026-08-31 and now routes to v2 server-side.
  • Voice - picked from a list fetched live from your Soniox account (Maya among them); the field is the usual searchable voice picker.
  • Language - the language code of the text, e.g. pl.
  • Speed - 0.7-1.3, where 1.0 is the normal rate. Values outside that range are clamped, since the API rejects them.
  • Natural delivery - a toggle, off by default. With it on, every line is prefixed with a style tag (e.g. [conversational]) and v2 performs the line instead of reading it flat: natural hesitations, warmth, emphasis. The tag goes to synthesis only - it never appears in the transcript, the model’s context, or the call summary.
  • Delivery style - the tag used while natural delivery is on. The list suggests a few (conversational, warm, calm, empathetic, excited, whispering), but the field is free text, so you can use any tag from the Soniox docs without waiting for a code change.
Billing is about $0.70 per hour of generated speech, roughly half the ElevenLabs rate.