OpenViSTAI · Agents · Blockchain · Crypto
Menu
Voice Agents

Bolna

Bolna is an open-source Python framework that orchestrates voice-driven conversational applications by connecting speech recognition, language models and speech synthesis. It supports building agents through a JSON-based approach and includes examples for direct Python use and local telephony setups.

Independent OpenViST project profile, based on linked sources.

Bolna — OpenViST project profile in Voice Agents.
OpenViST project illustration. See the linked sources for product details.
Understand the project

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.
Before you choose

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.

Source-based practical guide

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

  1. Choose Twilio or Plivo as the telephony provider and configure its account.

  2. Populate the local setup environment file from .env.sample and add the ngrok authtoken to ngrok-config.yml.

  3. From local_setup, run chmod +x start.sh and ./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.
Source-based practical guide

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

  1. Create an Assistant instance and configure a Deepgram transcriber.

  2. Configure an LLM agent with an OpenAI model and an ElevenLabs synthesizer.

  3. 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.
Evidence and transparency

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