Skip to main content
This guide builds a working English + Hindi agent over the API in a few steps. Prefer clicking through a UI instead? Use the dashboard guide — it covers the exact same setup without any code.
Don’t have a key yet? Follow Generate an API key first. Telephone calls consume wallet credits, so keep a test number handy.

Prerequisites

  • A Bolna API key (export BOLNA_API_KEY="bn-xxxx")
  • A recipient phone number in E.164 format, e.g. +919876543210
  • A voice and transcription provider for each language — this guide uses ElevenLabs (English) and Sarvam (Hindi); see supported providers for other options
1

Start from a single-language agent

This is the same minimal body as the API Quickstart — nothing multilingual yet:
2

Add a multilingual_config block

Add multilingual_config inside the same tools_config, with an entry for each language. The top-level transcriber/synthesizer from Step 1 become the English entry’s base:
enabled: true and at least two entries in languages are required. See the Config Reference for every field, how per-language overrides layer onto the base, and language_switch_trigger.
3

Create the agent

Nest the block from Step 2 into Step 1’s tools_config and create the agent:
201 Response
4

Place a test call

Call it exactly as in the API Quickstart, using this agent_id. Answer in English, then reply in Hindi — the agent should switch recognition, voice, and replies together within that turn. See How Language Switching Works for exactly what should (and shouldn’t) trigger a switch, and pull the transcript from GET /executions/{id} to confirm.

Adding this to an existing agent

multilingual_config lives under tools_config, which isn’t in the PATCH endpoint’s updatable-attributes list. To add multilingual support to an agent you already have, use PUT /v2/agent/{agent_id} with your full existing config plus the multilingual_config block from Step 2 — PUT replaces the whole agent, so include everything, not just what changed.

Next steps

How Language Switching Works

The decision engine behind mid-call switching, and what triggers it

Config Reference (API)

Every multilingual_config field, in depth

Auto-Switch System Messages

Localize the hangup, user-online, and tool-call messages too

Non-English Prompts

Write each language’s prompt well — native script, code-mixing, register