multilingual_config object.
This page documents the object: where it lives, every field, its validation rules, and how Bolna expands it for the call.
Where it lives
multilingual_config sits inside tools_config on the first task of the agent payload you send to POST /v2/agent:
transcriber and synthesizer act as the base. Each language in multilingual_config.languages starts from that base and applies its own overrides on top. The agent opens the call in active_language.
Top-level fields
Per-language entry
Each value inlanguages is keyed by an ISO 639-1 code and has this shape:
How overrides layer onto the base
- Transcriber: the per-language
transcriberis merged onto the base transcriber, then thelanguagefield is resolved to the provider’s expected format (for example Sarvamhibecomeshi-IN). If you omittranscriber, the base transcriber is reused with the language code set to the entry’s key. - Synthesizer: if the per-language
providermatches the base, only the differing keys (including a shallow merge ofprovider_config) are applied. If theproviderdiffers, the per-language synthesizer replaces the base entirely. Forsarvam,smallest,cartesia,openai,pixa, andpolly, the language is resolved intoprovider_config.languageautomatically.
Language switching
Oncemultilingual_config is enabled, Bolna injects a switch_language tool so the LLM can change language mid-call, and runs language detection in parallel so the agent can follow the caller automatically.
- Prompt-driven: describe when to switch in your prompt (for example “switch to Hindi if the user speaks Hindi”). The LLM calls
switch_languageand the transcriber, synthesizer, and active system prompt all switch together. - Auto-detection: after a few conversation turns Bolna identifies the dominant language and switches system messages to match. See Auto-Switch Languages.
switch_tool_description: customize how the switch tool is described to the LLM when you need tighter control over switching behavior.
Full example
A two-language agent (English primary, Hindi secondary) with a different STT and TTS provider per language:Supported languages
Provider support varies by language. Pick an STT and TTS provider per language that covers it. For Indian languages, Sarvam covers the widest set.
Next Steps
Multilingual Support
Set up the same agent from the dashboard
Auto-Switch Languages
Auto-detect and switch system messages by language
Non-English Prompts
Write per-language prompts in native scripts
Create Agent API
Full agent creation API reference

