Practical overview
When it fits
Use Bolna when you want an open-source orchestration layer for a voice agent and need to connect speech, LLM and audio-output providers. The repository includes both a direct Python example and a Docker-based local telephony setup.
Who it is for
- Developers building voice-first conversational assistants.
- Teams integrating speech recognition, LLMs and synthesized speech into voice applications.
- Developers prototyping agents that use telephony providers or direct Python execution.
Documented uses
- Compose a voice conversation pipeline from transcription, LLM response generation and speech synthesis.
- Configure a Python assistant and stream its results.
- Set up a local service stack for agents that initiate calls through Twilio or Plivo.
Requirements & limits
The repository is public and identifies the project as open source under the MIT license. Hosted APIs and the no-code playground are separate closed-source components.
- The repository documents integrations across telephony, transcription, LLM and speech-synthesis providers; select services and credentials to match the intended pipeline.
- Direct Python execution is documented separately from local telephony, so phone-call workflows add setup requirements including Twilio or Plivo, Docker Compose, ngrok and Redis.
- Bolna's open-source orchestration repository is distinct from its hosted APIs and no-code playground.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Run the local telephony setup
Build and start Bolna's documented local services for creating agents and initiating calls.
Before you start
- Docker with Docker Compose V2
- An environment file populated from
.env.sample - A Twilio or Plivo account for initiating calls
- An ngrok authtoken added to
ngrok-config.yml
Steps
Choose Twilio or Plivo as the telephony provider and configure its account.
Populate the local setup environment file from
.env.sampleand add the ngrok authtoken tongrok-config.yml.From
local_setup, runchmod +x start.shand./start.sh; alternatively, build and start the services with Docker Compose.
Expected outcome
The documented containers start, allowing agents to be created and instructed to initiate calls.
Guide limitations
- The local setup is described as a basic example and consists of the telephony web server, Bolna server, ngrok and Redis.
- The setup requires a configured Twilio or Plivo account for initiating calls.
Configure a Python voice conversation pipeline
Set up the documented assistant pipeline linking transcription, an LLM and speech synthesis.
Before you start
- Python environment able to run the repository example
- OpenAI API key
- Deepgram auth token
- ElevenLabs API key
Steps
Create an
Assistantinstance and configure a Deepgram transcriber.Configure an LLM agent with an OpenAI model and an ElevenLabs synthesizer.
Add the conversation task with the transcriber, LLM agent and synthesizer, then stream results from
assistant.execute().
Expected outcome
The example defines a streaming conversation pipeline that accepts audio, processes it with an LLM and produces synthesized audio.
Guide limitations
- The example's provider credentials and selected services are required for this particular configuration.
- This direct Python example does not use the local telephony setup.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 13 October 2026
- Original website title
- bolna-ai/bolna · Official homepage title · retained in its source language

