# Write Voice AI Agent Prompts
Source: https://www.bolna.ai/docs/agent-setup/agent-tab
Configure your Bolna Voice AI agent's personality and welcome message. Write effective prompts, use dynamic variables, and set up call hangup conditions.
## What is the Agent Tab?
The Agent Tab is where you define your voice AI agent's personality, welcome message, and conversation behavior. This is the core configuration that controls how your agent greets callers and responds during conversations.
***
## Configuration Options
### Agent Welcome Message
The welcome message is the first thing callers hear when they connect.
A brief, friendly greeting works best—avoid long announcements
Personalize with `{variable_name}` syntax (e.g., `{customer_name}`)
A simple "Hello, thanks for calling!" works well for most use cases. Longer greetings can feel robotic.
***
### Agent Prompt
Define your agent's personality, behavior, and instructions. This is the brain of your voice AI.
| Section | Purpose | Example |
| ---------------- | -------------------------- | ------------------------------------------------------- |
| **Personality** | How the agent should sound | "warm, empathetic, and grounded customer support agent" |
| **Context** | Background about the role | "You are calling on behalf of Acme Corp..." |
| **Instructions** | Specific tasks and flow | "Ask for their order number first..." |
| **Guardrails** | What NOT to do | "Never discuss competitor products..." |
Use `{variable_name}` for dynamic content and `@` to mention [function calling](/tool-calling/introduction) tools in your prompt.
***
### AI Edit Feature
Use AI to refine and improve your prompts automatically.
Click the **AI Edit** button in the top-right of the Agent Prompt section.
Tell the AI what you want to add, remove, or modify in your prompt.
Click **Re-generate Prompt** to apply AI-powered improvements.
Be specific in your change descriptions—for example: "Make the agent more empathetic when handling complaints" or "Add a step to verify the caller's email address."
***
### Prompt Variables
Make your prompts dynamic with personalized data.
| Setting | Description |
| -------------------- | ---------------------------------------------------------------------- |
| **Define Variables** | Use `{variable_name}` syntax in your prompt |
| **Test Variables** | Fill in values for testing before live calls |
| **Timezone** | Set timezone for time-based variables (e.g., `Asia/Kolkata UTC+05:30`) |
Learn more about [using context and variables](/using-context) to personalize calls with caller data.
***
### Hangup Using Prompt
Let your agent intelligently decide when to end calls based on conversation context.
Turn on **Hangup using a prompt** to activate intelligent hangup.
Write conditions that determine when a conversation is complete (e.g., "customer confirmed their order" or "all questions answered").
Without this feature, calls rely on silence detection or timeouts to end. Enable it for more natural conversation endings.
***
## Next Steps
Configure language model and knowledge base
Set up voice and transcription
Best practices for writing prompts
Dynamic personalization with context
# Set Up Webhooks and Post-Call Analytics
Source: https://www.bolna.ai/docs/agent-setup/analytics-tab
Configure webhooks, call summarization, and data extraction for Bolna Voice AI. Push data to your CRM and create custom analytics from every call.
## What is the Analytics Tab?
The Analytics Tab is where you configure webhooks for real-time data, post-call processing tasks, and custom analytics extraction. Automatically summarize conversations, extract structured data, and push execution data to your systems.
***
## Configuration Options
### Push Execution Data to Webhook
**Don't miss real-time updates!** Configure a webhook to receive all execution data as calls happen — essential for CRM integrations and live dashboards.
Enter your webhook URL to automatically receive all execution data for this agent.
Click **[See all events](/polling-call-status-webhooks)** to view the complete list of webhook event types you can receive.
***
### Post Call Tasks
Choose tasks to execute after the agent conversation is complete.
Automatically generate a summary of every conversation. Great for quick review and logging.
Toggle on to enable automatic conversation summarization.
Extract structured data from conversations using custom prompts.
**Example extraction rules:**
```
user_name: Yield the name of the user.
payment_mode: If user is paying by cash, yield cash. If card, yield card.
```
Define clear extraction rules to get consistent, structured data from every call.
Use preset extraction templates for common scenarios.
| Preset | Use Case |
| --------------------------- | ----------------------------- |
| **Candidate Overview** | General conversation summary |
| **Hard skill assessment** | Technical skills evaluation |
| **Per question assessment** | Question-by-question analysis |
| **Custom disposition** | Outcome classification |
| **Soft skill assessment** | Communication skills |
| **Logistical assessment** | Scheduling evaluation |
| **Eligibility assessment** | Qualification check |
| **call\_status** | Call outcome status |
Add **Custom Questions** to extend any preset with your own analysis criteria.
***
### Custom Analytics
Create custom post-call tasks to extract specific data points.
Open the custom analytics modal.
Define an identifier (e.g., `user_interested`).
Select: Freeflow, Numeric, List, Advanced List, or Advanced Boolean.
Describe what to extract (e.g., "Yield whether the user is interested").
Choose output format (String, etc.).
***
## Use Cases
Automatically update customer records after calls
Extract qualification data from sales calls
Capture required data points for regulations
Analyze conversation outcomes and metrics
***
## Next Steps
Configure inbound call settings
Add function tools and APIs
View call logs and transcripts
Learn about webhook events
# Configure Voice and Transcription Settings
Source: https://www.bolna.ai/docs/agent-setup/audio-tab
Set up speech-to-text and text-to-speech for Bolna Voice AI agents. Choose providers like Deepgram and ElevenLabs, and fine-tune voice quality.
## What is the Audio Tab?
The Audio Tab is where you configure how your agent listens and speaks. Set up language preferences, choose transcription providers for speech-to-text, and select voice synthesizers for natural-sounding responses.
***
## Configuration Options
### Configure Language
Set your agent's primary language and enable multilingual support.
Choose primary language (English, Hindi, Spanish, etc.)
Automatically detect and switch languages during calls
Enable **Auto Language Switch** for multilingual support. Your agent will detect the caller's language and respond accordingly.
***
### Speech-to-Text (Transcription)
Configure how your agent converts spoken words into text.
Choose your transcription provider (e.g., Deepgram, Azure).
Pick the model (e.g., `nova-3` for best accuracy).
Boost recognition of specific terms like names or brand words.
**Keywords help accuracy!** Add names, brand terms, or technical words with boost values. Format: `word:boost_value` (e.g., `Bruce:100`).
***
### Text-to-Speech (Voice)
Configure how your agent sounds with voice synthesis settings.
Choose your voice synthesis provider (e.g., ElevenLabs, Azure).
Pick the model (e.g., `eleven_turbo_v2_5` for low latency).
Select a specific voice. Click ▶️ to preview!
Click **"Add voices"** to import or clone custom voices for a unique brand experience.
***
### Voice Tuning
Fine-tune your agent's voice quality with these settings.
| Setting | Description | Recommended |
| ---------------------- | ------------------------------- | ------------------------------------ |
| **Buffer Size** | Audio buffering before playback | 200 (balance of quality and speed) |
| **Speed Rate** | Speaking speed | 1.0 (natural pace) |
| **Similarity Boost** | Voice matching accuracy | 0.75 (close to original voice) |
| **Stability** | Voice consistency | 0.5 (balanced expression) |
| **Style Exaggeration** | Voice characteristics | 0 (neutral, increase for expressive) |
**Balance is key!** High buffer size improves quality but increases latency. Test different settings to find the right balance for your use case.
***
## Next Steps
Configure prompts and welcome message
Configure transcription and latency
Create custom voice clones
Learn about transcription options
# Configure Telephony and Call Settings
Source: https://www.bolna.ai/docs/agent-setup/call-tab
Set up telephony providers, noise cancellation, voicemail detection, and call management for Bolna Voice AI. Configure timeouts and call restrictions.
## What is the Call Tab?
The Call Tab is where you configure how your agent handles phone calls. Set up your telephony provider, enable call features like noise cancellation and voicemail detection, and manage call timing and hangup behavior.
***
## Configuration Options
### Telephony Provider & Call Features
Configure your telephony provider and toggle powerful call capabilities.
Filter background noise for clearer calls (adjustable intensity)
Detect voicemail systems to avoid awkward messages
Accept touch-tone input for IVR-style menus
Automatically retry failed calls later
Connect your own telephony provider in [Providers](/getting-started/providers) for more control and cost savings.
***
### Final Call Message
Configure the last message your agent says before disconnecting.
Choose the language for your final message (supports multi-language).
Enter a warm, professional closing (e.g., "Thank you for your time. Goodbye!")
Click **+ Add** to include final messages in other languages.
A warm, professional final message leaves a positive lasting impression on callers.
***
### Call Management
Configure how and when calls should end.
| Setting | Description | Recommended |
| -------------------------- | -------------------------------------- | ------------------------------------------ |
| **Hangup on User Silence** | Auto-hangup after X seconds of silence | 6-10 seconds |
| **Total Call Timeout** | Maximum call duration in seconds | 300s (5 min) for support, higher for sales |
**Set reasonable timeouts** to manage costs and prevent stuck calls. Very long calls can indicate issues or abandoned calls.
***
### Outbound Call Timing Restrictions
**Compliance matters!** Many regions have laws restricting when you can make outbound calls. Enable timing restrictions to stay compliant with local regulations.
Toggle on to restrict outbound calls to specific time windows and avoid calling during prohibited hours.
***
## Next Steps
Add function tools and APIs
Configure latency and interruptions
Connect Twilio, Plivo, or Exotel
Set up inbound call routing
# Configure Voice AI Latency and Interruptions
Source: https://www.bolna.ai/docs/agent-setup/engine-tab
Fine-tune your Bolna Voice AI agent's performance. Configure transcription accuracy, interruption thresholds, response latency, and user detection.
## What is the Engine Tab?
The Engine Tab controls the core performance settings of your voice AI agent. Fine-tune transcription accuracy, interruption behavior, response timing, and user presence detection for optimal conversation quality.
***
## Configuration Options
### Transcription & Interruptions
Control how speech is captured and processed during conversations.
Enable for higher accuracy transcription. Essential for compliance and call analytics.
Number of words to wait before considering user input as an interruption.
**Stopwords like "Stop", "Wait", "Hold On"** will always pause the agent immediately, regardless of the interruption threshold.
***
### Response Latency
Configure how quickly your agent responds to user input.
| Setting | Description | Impact |
| --------------------- | ------------------------------------ | ----------------------------------- |
| **Response Rate** | Choose preset or Custom | Balanced, Fast, or Custom timing |
| **Endpointing (ms)** | Wait time before generating response | Lower = faster but may cut off user |
| **Linear Delay (ms)** | Accounts for mid-sentence pauses | Prevents premature responses |
**Lower latency isn't always better!** Setting values too low may cause the agent to interrupt users mid-sentence. Start with defaults and adjust based on testing.
For **natural conversations**, use Endpointing around 200-300ms and Linear Delay around 400-500ms.
***
### User Online Detection
Detect when users go silent and automatically re-engage them.
Toggle **User Online Detection** to check if the user is still on the call.
Customize the prompt (e.g., "Hey, are you still there?") with multi-language support.
Set **Invoke message after (seconds)** to control when the check triggers.
Set the timer between **8-15 seconds** to give users enough time to respond without seeming impatient.
***
## Best Practices
Use default settings initially and adjust based on real call feedback
Make test calls to experience the timing and interruption handling
Customer support may need longer pauses; sales may prefer faster responses
Review call recordings to identify timing issues
***
## Next Steps
Configure telephony and call features
Set up voice and transcription providers
Configure language model settings
Review call logs and recordings
# Set Up Inbound Calls & Caller Matching
Source: https://www.bolna.ai/docs/agent-setup/inbound-tab
Configure inbound call settings for Bolna Voice AI. Match callers using CSV, Google Sheets, or API. Set up spam prevention and preload customer data.
## What is the Inbound Tab?
The Inbound Tab is where you configure settings for receiving incoming calls. Match callers to your database, preload user data before the call starts, and set up spam prevention to protect your agents from abuse.
***
## Database for Inbound Phone Numbers
Match incoming calls to users and preload their data before the call starts. Choose from three data source options:
Connect your own API to fetch user data dynamically when a call comes in.
Choose **"Use your internal APIs"** from the dropdown.
Provide your API endpoint that will receive the caller data request.
Enter your Bearer token for secure authentication.
### Query Parameters
Bolna automatically passes these parameters to your API:
| Parameter | Description |
| ---------------- | ------------------------------- |
| `contact_number` | The caller's phone number |
| `agent_id` | Your agent's identifier |
| `execution_id` | Unique identifier for this call |
**Your API must return a JSON response** with user details. Bolna will inject this data directly into your agent's prompt for personalized conversations.
### Example API Request
```bash theme={"system"}
curl -X GET "https://your-api.com/user-data?contact_number=+919876543210&agent_id=abc123&execution_id=xyz789" \
-H "Authorization: Bearer YOUR_AUTH_TOKEN" \
-H "Content-Type: application/json"
```
### Example API Response
```json theme={"system"}
{
"user_name": "John Doe",
"account_status": "premium",
"last_purchase": "2026-01-15"
}
```
Authentication uses Bearer token and is stored securely by Bolna.
Upload a CSV file containing your user database.
Choose **"Use a CSV"** from the dropdown.
Click **Upload CSV File** and select your file.
The CSV file **must include a `contact_number` column** containing phone numbers. These numbers will be matched against the caller's phone number.
### CSV Format Example
```csv theme={"system"}
contact_number,user_name,account_type
+919876543210,John Doe,premium
+918765432109,Jane Smith,basic
```
Connect a public Google Sheet as your user database.
Choose **"Use a public Google Sheet"** from the dropdown.
Paste the URL of your public Google Sheet.
Specify the exact name of the sheet tab to use.
The sheet **must be public** and should include a `contact_number` column containing phone numbers.
***
## Call Restrictions
Toggle on **"Allow Calls Only from Database"** to restrict incoming calls to only phone numbers found in your chosen database. Unknown callers will be rejected.
***
## Spam Prevention Settings
Protect your agent from spam and abuse.
| Setting | Description |
| ---------------------------------- | ------------------------------------------------------------ |
| **Maximum Calls per Phone Number** | Limit calls from a single number. Set to `-1` for unlimited. |
| **Always-Allow List** | Phone numbers that bypass all call limits. |
Add your support team and VIP customers to the Always-Allow List to ensure they're never blocked.
***
## Use Cases
Only allow calls from registered customers
Preload customer data for personalized service
Limit repeated calls from the same number
Fetch real-time customer data via API
***
## Next Steps
Configure prompts and welcome message
Set up telephony and call management
Complete inbound setup guide
Purchase and manage phone numbers
# Choose and Configure LLM Models for Voice AI
Source: https://www.bolna.ai/docs/agent-setup/llm-tab
Select and configure the language model for your Bolna Voice AI agent. Choose from OpenAI, Azure, Anthropic, connect knowledge bases, and set up guardrails.
## What is the LLM Tab?
The LLM Tab is where you select and configure the intelligence behind your voice AI agent. Choose your language model provider, adjust response parameters, and connect knowledge bases for enhanced conversations.
***
## Configuration Options
### Choose LLM Model
Select your AI provider and model for conversation intelligence.
Choose from Azure, OpenAI, Anthropic, Groq, and more
Pick the specific model (e.g., `gpt-4.1-mini cluster`)
Connect your own provider keys in [Providers](/getting-started/providers) to reduce costs and access more models.
***
### Model Parameters
Fine-tune how your agent generates responses.
| Parameter | Description | Recommended |
| -------------------- | ------------------------------ | ------------------------------ |
| **Tokens Generated** | Max tokens per LLM output | 300-500 for concise responses |
| **Temperature** | Controls creativity/randomness | 0.3-0.5 for balanced responses |
**Keep temperature low** (0.3-0.5) if you want consistent, controlled responses. Higher temperature increases creativity but may cause deviation from your prompt instructions.
***
### Add Knowledge Base
Connect your knowledge bases to give your agent accurate, contextual information.
Open the **"Select knowledge bases"** multi-select dropdown.
Check one or more knowledge bases (PDFs, URLs) to connect.
Click **"Add new knowledgebase"** to create and upload new content.
Knowledge bases enable your agent to answer questions with accurate, up-to-date information from your documents and URLs. Connect multiple knowledge bases for comprehensive coverage.
Create knowledge bases in the [Knowledge Base](/getting-started/knowledge-base) section by uploading PDFs or adding URLs.
***
### Add FAQs & Guardrails
Create structured responses and safety controls for your agent.
Pre-defined answers to common questions that bypass LLM generation for faster, consistent responses
Safety rules that control inappropriate content and maintain professional boundaries
Click **"Add a new block for FAQs & Guardrails"** to open the configuration modal:
Give a descriptive name (e.g., "Pricing Questions", "Off-Topic Deflection").
Define the forced response when this rule triggers.
Set matching sensitivity (0.9 = strict, lower = more matches but may trigger unintentionally).
Add up to 20 example phrases that should trigger this response.
**Lower thresholds** increase matching likelihood but may cause false triggers. Start with 0.8-0.9 and adjust based on testing.
**[Learn more about Guardrails →](/guardrails)** to understand how to maintain professionalism, ensure compliance, and protect your brand during AI conversations.
***
## Next Steps
Create and manage knowledge bases
Learn guardrails best practices
Configure prompts and welcome message
Connect your own LLM provider
# Configure Voice AI Agents in Bolna
Source: https://www.bolna.ai/docs/agent-setup/overview
Complete guide to configuring Bolna Voice AI agents. Customize prompts, test conversations, and deploy agents for inbound and outbound calls.
## What is Agent Setup?
Agent Setup is where you configure and fine-tune your Voice AI agents. Access it from the [Bolna Platform](https://platform.bolna.ai/) after creating or selecting an agent.
***
## Your Agents Sidebar
The left sidebar shows all your agents and provides quick access to create or import agents.
| Action | Description |
| --------------- | ------------------------------------------------------------------------------ |
| **+ New Agent** | Create a new agent using Auto Build, Pre-built templates, or from scratch |
| **Import** | Import an existing agent configuration using an [agent ID](/copy-import-agent) |
| **Search** | Quickly find agents by name |
| **Agent List** | Click any agent to open its configuration |
New agents are created in **draft** status until you save them.
***
## Agent Header
The header bar displays key information and quick actions for your selected agent.
| Element | Description |
| ------------------- | -------------------------------------------------------- |
| **Agent Name** | Your agent's display name |
| **Agent ID** | Copy for API integrations |
| **Share** | Generate a shareable link for team collaboration |
| **Cost per min** | Estimated cost breakdown per minute |
| **Routing** | Active routing region (e.g., India routing) |
| **Provider Status** | Status indicators for Transcriber, LLM, Voice, Telephony |
Receive a test call on your phone number
Configure this agent for inbound calls
***
## Configuration Tabs
Configure every aspect of your agent using the **8 specialized tabs**.
Prompts & welcome message
Model & knowledge base
Voice & transcription
Latency & interruptions
Telephony & voicemail
Functions & APIs
Webhooks & extraction
Caller matching
***
## Testing & Saving
Test your agent before deploying and save your changes.
### Testing Options
| Method | Description | Best For |
| ----------------------- | ------------------------------------- | ------------------------------------ |
| **Chat with agent** | Text-based conversation testing | Quick prompt iteration and debugging |
| **Get call from agent** | Receive a test call on your phone | Real-world voice experience |
| **Test via browser** | Make calls directly from your browser | Testing without using phone minutes |
**Pro tip:** Use "Chat with agent" for quick iterations, then validate with a real phone call before deploying!
### Save & Manage
| Action | Description |
| --------------------- | ---------------------------------------------------------------- |
| **Save agent** | Save your configuration — changes only take effect after saving! |
| **See all call logs** | View [call history](/call-history), recordings, and transcripts |
| **Delete** | Remove the agent (use with caution) |
**Remember to save!** Your changes won't apply until you click **Save agent**.
***
## Quick Links
Step-by-step guide to creating your first agent
Import existing agent configurations
Purchase phone numbers for inbound calls
View call logs, recordings, and transcripts
***
## Next Steps
Configure prompts and welcome message
Choose your language model and knowledge base
Set up voice and transcription
Upload documents for context-aware responses
# Function Tools and API Integrations
Source: https://www.bolna.ai/docs/agent-setup/tools-tab
Connect external APIs and function tools to your Bolna Voice AI agent. Enable CRM lookups, Cal.com booking, call transfers, and custom integrations.
## What is the Tools Tab?
The Tools Tab is where you connect external tools and APIs that your language model can call during conversations. This allows the LLM to retrieve real-time data, perform calculations, or trigger actions dynamically.
***
## Configuration Options
### Choose Functions
Select from pre-built functions or create your own custom tools.
Check available slots using Cal.com integration
Book appointments directly using Cal.com
Route calls to human agents or other numbers
Add your own custom API integrations
Check out **[Examples & Docs](/tool-calling/custom-function-calls)** for function tool templates and implementation guides.
***
### Add Transfer Call
**Transfer Call** enables routing calls to human agents or other phone numbers during a conversation. Essential for escalation scenarios where AI needs to hand off to a human.
Click **"Add Transfer Call"** to configure call transfer. Learn more in the [Tool Calling Guide](/tool-calling/introduction).
***
### Managing Tools
Once you add functions, they appear as configurable tool cards:
| Element | Description |
| -------------------- | ----------------------------------------------------------------- |
| **Tool Name** | Identifier for the function (e.g., `check_availability_of_slots`) |
| **Configure Button** | Click to set up the tool's parameters and API connection |
| **Delete Button** | Remove the tool from your agent |
***
## Use Cases
Look up customer data during calls
Schedule appointments in real-time with Cal.com
Check order information from your database
Trigger payment flows securely
Query external knowledge bases
Route to human agents when needed
***
## Next Steps
Learn about function tools and call transfer
Create your own function tools
Configure webhooks and post-call tasks
Configure inbound call settings
# Agents Library
Source: https://www.bolna.ai/docs/agents-library
Browse Bolna's Voice AI agent templates for quick and efficient setup. Customize pre-built agents to create powerful, AI-driven voice agents seamlessly.
## What is the Agents Library?
The Bolna Agents Library provides ready-to-use Voice AI agent templates that you can import and customize for your specific use case. Each template comes pre-configured with optimized prompts, workflows, and settings, allowing you to deploy production-ready agents in minutes rather than hours.
## How to use agent templates?
1. Click the "Import this agent →" link for any template below
2. The agent will be imported into your [Playground](/agent-setup/agent-tab)
3. Customize the prompts, [context variables](/using-context), and settings to match your needs
4. Test using the Playground chat or by [making test calls](/making-outgoing-calls)
5. Deploy for [inbound](/receiving-incoming-calls) or [outbound](/making-outgoing-calls) calling
## Featured agents
AI agents that screen, interview, and onboard candidates at scale
Languages: `English`
Import this agent →
Provides 24/7 inbound call answering for FAQs and customer triage
Languages: `English`
Import this agent →
Calls customers with abandoned items in carts, recovering sales
Languages: `English + Hindi`
Import this agent →
Calls every lead to ask qualifying questions, answer FAQs, and warmly introduce the business
Languages: `Hindi`
Import this agent →
Conducts personalized guidance calls to warmly onboard users
Languages: `English`
Import this agent →
Answers every call to handle clinic, hotel, and office scheduling
Languages: `English`
Import this agent →
## Additional agent templates
| Agent name | Learn More | Import Agent | Description |
| ------------------------------------------------------------------ | -------------------------------------------------- | ------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
| [COD Confirmation Agent](/voice-agents/cod-confirmation-agent) | [Details →](/voice-agents/cod-confirmation-agent) | [Import →](https://bolna.ai/a/42a04bee-a4e9-442c-bf85-c6e6064ad976) | Handles a variety of last mile logistics tasks, saving human effort |
| [Announcements Agent](/voice-agents/announcements-agent) | [Details →](/voice-agents/announcements-agent) | [Import →](https://bolna.ai/a/09344ad0-0991-440b-89ff-51ba4fe7d7b1) | Keeps users engaged with all feature upgrades and product launches |
| [Reminders Agent](/voice-agents/reminders-agent) | [Details →](/voice-agents/reminders-agent) | [Import →](https://bolna.ai/a/88bb2f3c-cfc0-4f3d-b0a2-6ac962ba9737) | Automates all reminders, from EMIs and collections to form filling deadlines |
| [Surveys Agent](/voice-agents/surveys-agent) | [Details →](/voice-agents/surveys-agent) | [Import →](https://bolna.ai/a/e3f31313-c28c-452e-9026-70edd7042691) | Automated NPS, feedback & product surveys with detailed personalised questioning |
| [Property Tech Agent](/voice-agents/property-tech-agent) | [Details →](/voice-agents/property-tech-agent) | [Import →](https://bolna.ai/a/d3dbc421-b964-4c12-8afa-e087e440cb3e) | Lead Qualification of Owner or Broker and asks further details about property |
| [Customer Support Agent](/voice-agents/customer-support-agent) | [Details →](/voice-agents/customer-support-agent) | [Import →](https://bolna.ai/a/4f0d937f-3d07-479b-9352-9f3271285d8a) | Demo support agent (English + Hindi) ; Handles order queries, tracking, and product issues empathetically |
| [Salon Booking Agent](/voice-agents/salon-booking-agent) | [Details →](/voice-agents/salon-booking-agent) | [Import →](https://bolna.ai/a/547e8f2d-d231-4fc6-a9f1-b90801d672b8) | Front Desk for Salon ; Schedules appointment and collects information |
| [Weekend Planner Agent](/voice-agents/weekend-planner-agent) | [Details →](/voice-agents/weekend-planner-agent) | [Import →](https://bolna.ai/a/00b05a0f-d451-4afe-b55f-7e2a3fa4896d) | Plan your weekend with Samantha ; Helps users make weekend and vacation plans |
| [Sales - Credit Card Agent](/voice-agents/sales-credit-card-agent) | [Details →](/voice-agents/sales-credit-card-agent) | [Import →](https://bolna.ai/a/68762ade-7e39-4b06-96e6-0d98863fbd0b) | Sales agent for credit cards (Hindi) ; Helps fintech companies sell credit cards |
| [Sales - Loans Agent](/voice-agents/sales-loans-agent) | [Details →](/voice-agents/sales-loans-agent) | [Import →](https://bolna.ai/a/29780b7b-876e-40a6-96bd-069b8409dedb) | Sales agent for Loans (Hindi) ; Helps fintech companies sell loans |
# Create Voice AI Agent API (deprecated)
Source: https://www.bolna.ai/docs/api-reference/agent/create
POST /agent
Learn how to create new agents with Bolna APIs, enabling customized tasks, prompts, and configurations for Bolna voice AI agents.
These APIs have now been deprecated.
Please use the latest [**v2 APIs**](/api-reference/agent/v2/overview).
# Retrieve Voice AI Agent Details API (deprecated)
Source: https://www.bolna.ai/docs/api-reference/agent/get
GET /agent/{agent_id}
Retrieve detailed Voice AI agent information, including configuration, status, and tasks, using Bolna APIs.
These APIs have now been deprecated.
Please use the latest [**v2 APIs**](/api-reference/agent/v2/overview).
# List all Voice AI Agents API (deprecated)
Source: https://www.bolna.ai/docs/api-reference/agent/get_all
GET /agent/all
List all Voice AI agents under your account, along with their names, statuses, and creation dates, using Bolna APIs.
These APIs have now been deprecated.
Please use the latest [**v2 APIs**](/api-reference/agent/v2/overview).
# Get All Voice AI Agent Executions API
Source: https://www.bolna.ai/docs/api-reference/agent/get_all_agent_executions
GET /agent/{agent_id}/executions
Access all execution records for a specific agent, providing insights into performance and past interactions with Bolna APIs.
# Bolna Voice AI Agent APIs Overview (deprecated)
Source: https://www.bolna.ai/docs/api-reference/agent/overview
Explore Bolna Voice AI Agent APIs overview, featuring endpoints for creating, managing, and executing autonomous voice agents.
These APIs have now been deprecated.
Please use the latest [**v2 APIs**](/api-reference/agent/v2/overview).
## Endpoints
```
POST /agent
GET /agent
PUT /agent/:agent_id
PATCH /agent/:agent_id
GET /agent/all
```
## Agent Object Attributes
### `agent_config`
* `agent_name` *string* **(required)**
Name of the agent
* `agent_welcome_message` *string* **(required)**
Initial agent welcome message. you can pass dynamic values here using variables encloed within `{}`
* `webhook_url` *string* **(required)**
Get real-time details of the call progress and call data on a webhook. All supported events are listed in [Poll call data using webhooks](/polling-call-status-webhooks)
* `tasks` *array* **(required)**
Definitions and configuration for the agentic tasks
### `agent_prompts`
Prompts to be provided to the agent.
# Patch Update to Voice AI Agent API (deprecated)
Source: https://www.bolna.ai/docs/api-reference/agent/patch_update
PATCH /agent/{agent_id}
Learn how to partially update properties. Update Bolna Voice AI agent name, welcome message, webhook URL, voice settings, and prompts, using this endpoint.
These APIs have now been deprecated.
Please use the latest [**v2 APIs**](/api-reference/agent/v2/overview).
# Update Voice AI Agent API (deprecated)
Source: https://www.bolna.ai/docs/api-reference/agent/update
PUT /agent/{agent_id}
Update agent configurations, tasks, and prompts to refine behavior and capabilities using Bolna Voice AI agent APIs.
These APIs have now been deprecated.
Please use the latest [**v2 APIs**](/api-reference/agent/v2/overview).
# Create Voice AI Agent API
Source: https://www.bolna.ai/docs/api-reference/agent/v2/create
POST /v2/agent
Learn how to create new agents with Bolna APIs, enabling customized tasks, prompts, and configurations for Bolna voice AI agents.
# Delete Voice AI Agent API
Source: https://www.bolna.ai/docs/api-reference/agent/v2/delete
DELETE /v2/agent/{agent_id}
Use Bolna APIs to delete agents and their related data, ensuring proper cleanup of batches, executions, and configurations.
This deletes **ALL** agent data including all batches, all executions, etc.
# Retrieve Voice AI Agent Details API
Source: https://www.bolna.ai/docs/api-reference/agent/v2/get
GET /v2/agent/{agent_id}
Retrieve detailed Voice AI agent information, including configuration, status, and tasks, using Bolna APIs.
# Retrieve Voice AI Agent Execution API
Source: https://www.bolna.ai/docs/api-reference/agent/v2/get_agent_execution
GET /agent/{agent_id}/execution/{execution_id}
Fetch specific execution details of a Voice AI agent, including conversation times, statuses, and metrics, via Bolna APIs.
# List all Voice AI Agents API
Source: https://www.bolna.ai/docs/api-reference/agent/v2/get_all
GET /v2/agent/all
List all Voice AI agents under your account, along with their names, statuses, and creation dates, using Bolna APIs.
# Get All Voice AI Agent Executions API
Source: https://www.bolna.ai/docs/api-reference/agent/v2/get_all_agent_executions
GET /v2/agent/{agent_id}/executions
Access all execution records for a specific agent, providing insights into performance and past interactions with Bolna APIs.
## Pagination
This API supports pagination using the `page_number` and `page_size` query parameters. You can utilize `has_more` in the API response to determine if you should fetch the next page. You can learn more about it from the [pagination documentation](/api-reference/pagination).
# Bolna Voice AI Agent APIs Overview
Source: https://www.bolna.ai/docs/api-reference/agent/v2/overview
Explore Bolna Voice AI Agent APIs overview, featuring endpoints for creating, managing, and executing autonomous voice agents.
## Endpoints
```
POST /v2/agent
GET /v2/agent
PUT /v2/agent/:agent_id
GET /v2/agent/all
```
## Agent Object Attributes
### `agent_config`
* `agent_name` *string* **(required)**
Name of the agent
* `agent_welcome_message` *string* **(required)**
Initial agent welcome message. you can pass dynamic values here using variables encloed within `{}`
* `webhook_url` *string* **(required)**
Get real-time details of the call progress and call data on a webhook. All supported events are listed in [Poll call data using webhooks](/polling-call-status-webhooks)
* `tasks` *array* **(required)**
Definitions and configuration for the agentic tasks
### `agent_prompts`
Prompts to be provided to the agent.
# Patch Update to Voice AI Agent API
Source: https://www.bolna.ai/docs/api-reference/agent/v2/patch_update
PATCH /v2/agent/{agent_id}
Learn how to partially update properties. Update Bolna Voice AI agent name, welcome message, webhook URL, voice settings, and prompts, using this endpoint.
Currently, only the following agent attributes can be updated for the `PATCH` update.
* `agent_name`
* `agent_welcome_message`
* `webhook_url`
* `synthesizer`
* `agent_prompts`
* `ingest_source_config`
* `telephony_provider`
If you are patching with `telephony_provider` set to `sip-trunk`, the next step is to [set the inbound agent](/api-reference/inbound/agent) to map your SIP trunk phone number to an agent for receiving inbound calls.
# Stop Agent Queued Calls API
Source: https://www.bolna.ai/docs/api-reference/agent/v2/stop
POST /v2/agent/{agent_id}/stop
Use Bolna APIs to stop all queued calls for a specific agent, preventing any pending calls from being executed.
This stops **ALL** the queued calls for a given agent.
This endpoint stops all queued calls for the specified agent. Any calls that are currently in the queue waiting to be executed will be cancelled and will not be processed.
# Update Voice AI Agent API
Source: https://www.bolna.ai/docs/api-reference/agent/v2/update
PUT /v2/agent/{agent_id}
Update agent configurations, tasks, and prompts to refine behavior and capabilities using Bolna Voice AI agent APIs.
# Create Batch API
Source: https://www.bolna.ai/docs/api-reference/batches/create
POST /batches
Discover how to create a batch for Bolna Voice AI agent by uploading a CSV file containing user contact numbers and prompt variable details for users.
# Delete Batch API
Source: https://www.bolna.ai/docs/api-reference/batches/delete
DELETE /batches/{batch_id}
Understand how to delete a specific batch using its ID, effectively removing it from your scheduled or active batches.
# List Batch Executions API
Source: https://www.bolna.ai/docs/api-reference/batches/executions
GET /batches/{batch_id}/executions
Learn how to retrieve all executions from a batch, providing detailed information on each call's outcome and metrics.
# Get Batch API
Source: https://www.bolna.ai/docs/api-reference/batches/get_batch
GET /batches/{batch_id}
Find out how to retrieve details of a specific batch, including its creation time, status, call status and scheduled execution time.
# List All Batches API
Source: https://www.bolna.ai/docs/api-reference/batches/get_batches
GET /batches/{agent_id}/all
Explore how to list all batches associated with a particular Bolna Voice AI agent, providing an overview of their statuses, schedules and other relevant details
# Batch APIs Overview
Source: https://www.bolna.ai/docs/api-reference/batches/overview
Understand how to create and schedule multiple Bolna Voice AI calls together using Bolna Batch APIs for efficient call management.
## Endpoints
```
POST /batches
POST /batches/schedule
POST /batches/:batch_id/stop
GET /batches/:batch_id
GET /batches/:batch_id/executions
GET /batches/:agent_id
DELETE /batches/:batch_id
```
# Schedule Batch API
Source: https://www.bolna.ai/docs/api-reference/batches/schedule
POST /batches/{batch_id}/schedule
Learn how to schedule a batch for calling via Bolna Voice AI agent by specifying the batch ID and the desired execution time.
# Stop Batch API
Source: https://www.bolna.ai/docs/api-reference/batches/stop
POST /batches/{batch_id}/stop
Understand how to stop a running batch using its ID, allowing you to halt ongoing calls in the batch.
# Make Voice AI Call API
Source: https://www.bolna.ai/docs/api-reference/calls/make
POST /call
Learn how to initiate outbound phone calls using Bolna Voice AI agents. Start making phone calls using the agent ID and recipient's phone number.
# Calling APIs overview
Source: https://www.bolna.ai/docs/api-reference/calls/overview
Explore Bolna Calling APIs to invoke outbound Voice AI phone calls from your agents. This overview provides the available endpoints and their functionalities.
## Endpoints
```
POST /call
```
# Stop a Previously Initiated Voice AI Call API
Source: https://www.bolna.ai/docs/api-reference/calls/stop_call
POST /call/{execution_id}/stop
Learn how to stop a call when its status is `queued` or `scheduled` This API allows you to cancel pending calls before they are executed.
# Get Batch Executions API
Source: https://www.bolna.ai/docs/api-reference/executions/get_batch_executions
GET /batches/{batch_id}/executions
Retrieve all executions for specific batches using Bolna APIs. This endpoint provides detailed information on each call's outcome and metrics within the batch.
# Retrieve Voice AI Execution API
Source: https://www.bolna.ai/docs/api-reference/executions/get_execution
GET /executions/{execution_id}
Fetch details of a specific phone call execution by its ID using Bolna APIs. This includes information such as conversation time, status, and telephony data.
# Retrieve Voice AI Execution Raw Logs API
Source: https://www.bolna.ai/docs/api-reference/executions/get_execution_raw_logs
GET /executions/{execution_id}/log
Fetch raw logs of a specific phone call execution by its ID using Bolna APIs. This includes information such as prompts, requests & responses by the models
# Get All Voice AI Agent Executions API
Source: https://www.bolna.ai/docs/api-reference/executions/get_executions
GET /v2/agent/{agent_id}/executions
Retrieve all executions performed by a specific agent using Bolna APIs. This endpoint provides a comprehensive history of the agent's calls and conversations.
## Pagination
This API supports pagination using the `page_number` and `page_size` query parameters. You can utilize `has_more` in the API response to determine if you should fetch the next page. You can learn more about it from the [pagination documentation](/api-reference/pagination).
# Executions APIs overview
Source: https://www.bolna.ai/docs/api-reference/executions/overview
Access your Voice AI agents call and conversation history using Bolna Executions APIs. This page details the available endpoints for managing call executions.
## Endpoints
```
GET /executions/:execution_id
GET /batch/:batch_id/executions
GET /v2/agent/:agent_id/executions
GET /executions/:execution_id/log
```
# Set Inbound Agent API
Source: https://www.bolna.ai/docs/api-reference/inbound/agent
POST /inbound/setup
Configure Bolna Voice AI agent to handle inbound calls automatically by associating it with a specific phone number using Bolna APIs.
# Inbound Bolna Voice AI Agent APIs Overview
Source: https://www.bolna.ai/docs/api-reference/inbound/overview
Discover how to set up Bolna Voice AI agents to answer inbound calls, enabling responsive communication channels.
## Endpoints
```
POST /inbound/setup
POST /inbound/unlink
```
# Remove Inbound Agent API
Source: https://www.bolna.ai/docs/api-reference/inbound/unlink
POST /inbound/unlink
Remove and unlink a Bolna Voice AI agent from a specific phone number to disable automated inbound voice call answering by AI agents.
# Bolna API Documentation
Source: https://www.bolna.ai/docs/api-reference/introduction
Use and leverage Bolna Voice AI using APIs through HTTP requests from any language in your applications and workflows.
## What is the Bolna API?
The Bolna API enables you to programmatically create, configure, and manage Voice AI agents from your applications. Build voice AI capabilities into your products using simple HTTP requests from any programming language.
Bolna API features consistent, resource-oriented URLs, handles application/json request bodies, returns responses in JSON format, and utilizes standard HTTP response codes, authentication methods, and HTTP verbs.
You must have a valid Bolna account to generate and use APIs
## How do I authenticate with the Bolna API?
* Login to the dashboard at [https://platform.bolna.ai](https://platform.bolna.ai)
* Navigate to [Developers](https://platform.bolna.ai/developers) tab from the left menu bar after login
* Click the button `Generate a new API Key` to generate a key
* Save your API Key
The API Key will be shown only once. Hence, please save it somewhere secure.
## Using the API Key
To authenticate your API requests, you must include your `API Key` in the Authorization header of HTTP requests made as a `Bearer` token
```
Authorization: Bearer
```
## Example of an Authenticated API Request
Following is an example of making a GET request to Bolna API using the API key:
```http theme={"system"}
GET https://api.bolna.ai/agent/all
Headers:
Authorization: Bearer
```
## Next steps
Ready to integrate Bolna into your application? Explore the API endpoints:
* [Create an agent](/api-reference/agent/create) programmatically
* [Make outbound calls](/api-reference/calls/make) from your application
* [Get execution details](/api-reference/executions/get_execution) to retrieve call results
* Review [agent configuration options](/agent-setup/agent-tab) to understand available parameters
For advanced integrations, explore [custom function calls](/tool-calling/custom-function-calls) and [webhook configuration](/agent-setup/analytics-tab).
# Create Knowledgebase API
Source: https://www.bolna.ai/docs/api-reference/knowledgebase/create
POST /knowledgebase
Upload a PDF document or provide a URL to create a knowledgebase, enhancing your Bolna Voice AI agent's information base and response accuracy.
# Delete Knowledgebase API
Source: https://www.bolna.ai/docs/api-reference/knowledgebase/delete
DELETE /knowledgebase/{rag_id}
Remove and delete an existing knowledgebase from your Bolna account maintaining your Bolna Voice AI agents upto date.
# Get Knowledgebase API
Source: https://www.bolna.ai/docs/api-reference/knowledgebase/get_knowledgebase
GET /knowledgebase/{rag_id}
Retrieve details of a specific knowledgebase, including its ID, file name, creation time, and status, using Bolna APIs.
# List All Knowledgebases API
Source: https://www.bolna.ai/docs/api-reference/knowledgebase/get_knowledgebases
GET /knowledgebase/all
Retrieve all knowledgebases associated with your account, including their status and creation dates.
# Knowledgebases Overview
Source: https://www.bolna.ai/docs/api-reference/knowledgebase/overview
Learn how to ingest PDFs and URLs as knowledgebases for your Bolna Voice AI agents. Agents can use multiple knowledgebases simultaneously.
## Endpoints
```
POST /knowledgebase
GET /knowledgebase/:rag_id
GET /knowledgebase/all
DELETE /knowledgebase/:rag_id
```
# Pagination for Bolna APIs
Source: https://www.bolna.ai/docs/api-reference/pagination
Learn how to use pagination in Bolna Voice AI APIs using `page_number` and `page_size` to fetch results efficiently and build scalable workflows.
The endpoints also support pagination using the `page_number` and `page_size` query parameters. This allows you to fetch large sets of results in smaller, manageable chunks.
## Query Parameters
* `page_number` (integer, optional): The page of results to retrieve. Defaults to `1`. The first page starts at `1`.
* `page_size` (integer, optional): The number of results per page. Defaults to `20`. You can request up to `50` results per page.
## How it works
The API uses offset-based pagination under the hood. For example:
| page\_number | page\_size | Returned records |
| ------------ | ---------- | ---------------- |
| 1 | 10 | Records 1–10 |
| 2 | 10 | Records 11–20 |
| 3 | 5 | Records 11–15 |
## Example Request
```curl example-request theme={"system"}
GET /v2/agent/1234/executions?page_number=2&page_size=5
```
```json example-response theme={"system"}
{
"total": 38,
"page": 2,
"page_size": 5,
"has_more": true,
"data": [
{ "id": "ex_101", "status": "success", "created_at": "..." },
{ "id": "ex_102", "status": "failed", "created_at": "..." },
...
]
}
```
## Tips
* Use `has_more` to determine if you should fetch the next page.
* Combine pagination with filters supported in the API to narrow results efficiently.
# Buy Phone Numbers API
Source: https://www.bolna.ai/docs/api-reference/phone-numbers/buy
POST /phone-numbers/buy
Buy virtual phone numbers with full purchase, pricing, and provider details to use with Bolna Voice agents for outbound and inbound calls.
# Delete Phone Numbers API
Source: https://www.bolna.ai/docs/api-reference/phone-numbers/delete
DELETE /phone-numbers/{phone_number_id}
Delete a purchased phone number to stop billing and remove it permanently from your active inventory.
# List Phone Numbers API
Source: https://www.bolna.ai/docs/api-reference/phone-numbers/get_all
GET /phone-numbers/all
Retrieve all phone numbers associated with your account, including details like creation date and telephony provider like Twilio, Plivo, etc.
# Phone Numbers APIs Overview
Source: https://www.bolna.ai/docs/api-reference/phone-numbers/overview
Manage your phone numbers effectively using Bolna APIs, including buying, listing, deleting and associating numbers with Bolna Voice AI agents.
## Endpoints
```
POST /phone-numbers/all
GET /phone-numbers/search
POST /phone-numbers/buy
DELETE /phone-numbers/delete
```
# Search Phone Numbers API
Source: https://www.bolna.ai/docs/api-reference/phone-numbers/search
GET /phone-numbers/search
Search available phone numbers by region, locality, or pattern, with price to use them with Bolna Voice agents.
# Add a New Provider API
Source: https://www.bolna.ai/docs/api-reference/providers/add
POST /providers
Learn how to securely add a new provider to your Bolna account by specifying the provider's name and associated credentials.
You can add your own providers securely in Bolna. Please [read this page](/providers) for more information about all current supported providers.
# List Providers API
Source: https://www.bolna.ai/docs/api-reference/providers/get
GET /providers
Retrieve all providers associated with your Bolna account, including their IDs, names, and creation timestamps.
# Providers APIs overview
Source: https://www.bolna.ai/docs/api-reference/providers/overview
Add and manage your own providers securely in Bolna, supporting various telephony and voice services.
You can add your own providers securely in Bolna.
Please [read this page](/providers) for more information about all current supported providers.
## Endpoints
```
POST /providers
GET /providers
DELETE /providers/:provider_key_name
```
# Remove a Provider API
Source: https://www.bolna.ai/docs/api-reference/providers/remove
DELETE /providers/{provider_key_name}
Delete a previously added provider from your Bolna account, ensuring your integrations remain current.
# Rate Limiting for Bolna APIs
Source: https://www.bolna.ai/docs/api-reference/rate-limiting
Understand the API rate limits applied to Bolna API endpoints to ensure fair usage and platform stability.
All Bolna API endpoints are subject to rate limiting to ensure fair usage and maintain platform stability. Rate limits are applied per **organization** (if the user belongs to one) or per **user** otherwise.
## Rate Limits
### Endpoint-Specific Limits
The following endpoints have specific rate limits:
| Endpoint | Rate Limit |
| ------------------------------------------------------------------------- | ------------------- |
| [/v2/agent//executions](/api-reference/agent/v2/get_all_agent_executions) | 500 requests/minute |
| [/v2/agent/](/api-reference/agent/v2/get) | 500 requests/minute |
| [/call](/api-reference/calls/make) | 500 requests/minute |
### Default Limit
All other API endpoints are subject to a default rate limit of **1000 requests per minute**.
## How Rate Limits Are Applied
* If your account is part of an **organization**, the rate limit is shared across all users within that organization.
* If your account is **not** part of an organization, the rate limit applies to your individual user account.
## Exceeding the Rate Limit
If you exceed the rate limit for an endpoint, the API will return an **HTTP 429 (Too Many Requests)** response. When this happens:
* Wait before retrying the request.
* Implement exponential backoff in your application to gracefully handle rate limit responses.
## Best Practices
* **Cache responses** where possible to reduce the number of API calls.
* **Use webhooks** instead of polling for call status updates to minimize requests to execution endpoints.
* **Spread requests** evenly over time rather than sending them in bursts.
* **Monitor your usage** and implement client-side rate limiting to stay within the allowed limits.
# Add Phone Number to Trunk
Source: https://www.bolna.ai/docs/api-reference/sip-trunks/add_number
POST /sip-trunks/trunks/{trunk_id}/numbers
Add a DID phone number to your SIP trunk using the Bolna API. Assign numbers for inbound and outbound voice calling on your trunk.
**SIP Trunking** is currently in Beta.
Please reach out to us at [enterprise@bolna.ai](mailto:enterprise@bolna.ai) or schedule a call at [https://www.bolna.ai/meet](https://www.bolna.ai/meet) for more information and access.
## Next steps
After adding a phone number, [patch your agent's telephony provider to `sip-trunk`](/api-reference/agent/v2/patch_update).
# Create SIP Trunk
Source: https://www.bolna.ai/docs/api-reference/sip-trunks/create
POST /sip-trunks/trunks
Create a new SIP trunk on Bolna and register it with your gateway details. Set up your trunk for inbound and outbound voice calling.
**SIP Trunking** is currently in Beta.
Please reach out to us at [enterprise@bolna.ai](mailto:enterprise@bolna.ai) or schedule a call at [https://www.bolna.ai/meet](https://www.bolna.ai/meet) for more information and access.
## Next steps
After creating your trunk, [add a phone number to it](/api-reference/sip-trunks/add_number).
# Delete SIP Trunk
Source: https://www.bolna.ai/docs/api-reference/sip-trunks/delete
DELETE /sip-trunks/trunks/{trunk_id}
Permanently delete a SIP trunk and all associated resources including gateways, IP identifiers, and phone numbers.
**SIP Trunking** is currently in Beta.
Please reach out to us at [enterprise@bolna.ai](mailto:enterprise@bolna.ai) or schedule a call at [https://www.bolna.ai/meet](https://www.bolna.ai/meet) for more information and access.
# Get SIP Trunk
Source: https://www.bolna.ai/docs/api-reference/sip-trunks/get
GET /sip-trunks/trunks/{trunk_id}
Get a single SIP trunk with full details including gateways, IP identifiers, and phone numbers. Look up any trunk by its ID.
**SIP Trunking** is currently in Beta.
Please reach out to us at [enterprise@bolna.ai](mailto:enterprise@bolna.ai) or schedule a call at [https://www.bolna.ai/meet](https://www.bolna.ai/meet) for more information and access.
# List SIP Trunks
Source: https://www.bolna.ai/docs/api-reference/sip-trunks/get_all
GET /sip-trunks/trunks
List all SIP trunks configured in your Bolna account. Filter by active status and view trunk details including gateways and phone numbers.
**SIP Trunking** is currently in Beta.
Please reach out to us at [enterprise@bolna.ai](mailto:enterprise@bolna.ai) or schedule a call at [https://www.bolna.ai/meet](https://www.bolna.ai/meet) for more information and access.
# List Phone Numbers on Trunk
Source: https://www.bolna.ai/docs/api-reference/sip-trunks/list_numbers
GET /sip-trunks/trunks/{trunk_id}/numbers
List all phone numbers associated with a SIP trunk. View assigned DID numbers and manage your trunk number inventory.
**SIP Trunking** is currently in Beta.
Please reach out to us at [enterprise@bolna.ai](mailto:enterprise@bolna.ai) or schedule a call at [https://www.bolna.ai/meet](https://www.bolna.ai/meet) for more information and access.
# SIP Trunk API Reference
Source: https://www.bolna.ai/docs/api-reference/sip-trunks/overview
API endpoints for managing SIP trunks, gateways, and phone numbers on Bolna. Create, update, list, and delete trunks programmatically.
**SIP Trunking** is currently in Beta.
Please reach out to us at [enterprise@bolna.ai](mailto:enterprise@bolna.ai) or schedule a call at [https://www.bolna.ai/meet](https://www.bolna.ai/meet) for more information and access.
## Endpoints
### Trunks
| Method | Endpoint | Description |
| -------- | ------------------------------------------------------------------- | ---------------------- |
| `POST` | [`/sip-trunks/trunks`](/api-reference/sip-trunks/create) | Create a new SIP trunk |
| `GET` | [`/sip-trunks/trunks`](/api-reference/sip-trunks/get_all) | List all SIP trunks |
| `GET` | [`/sip-trunks/trunks/{trunk_id}`](/api-reference/sip-trunks/get) | Get a single SIP trunk |
| `PATCH` | [`/sip-trunks/trunks/{trunk_id}`](/api-reference/sip-trunks/update) | Update a SIP trunk |
| `DELETE` | [`/sip-trunks/trunks/{trunk_id}`](/api-reference/sip-trunks/delete) | Delete a SIP trunk |
### Phone Numbers
| Method | Endpoint | Description |
| -------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------- |
| `POST` | [`/sip-trunks/trunks/{trunk_id}/numbers`](/api-reference/sip-trunks/add_number) | Add a phone number to a trunk |
| `GET` | [`/sip-trunks/trunks/{trunk_id}/numbers`](/api-reference/sip-trunks/list_numbers) | List phone numbers on a trunk |
| `DELETE` | [`/sip-trunks/trunks/{trunk_id}/numbers/{phone_number_id}`](/api-reference/sip-trunks/remove_number) | Remove a phone number from a trunk |
# Remove Phone Number from Trunk
Source: https://www.bolna.ai/docs/api-reference/sip-trunks/remove_number
DELETE /sip-trunks/trunks/{trunk_id}/numbers/{phone_number_id}
Remove a phone number from a SIP trunk. If the number was mapped to an agent, the mapping is also removed.
**SIP Trunking** is currently in Beta.
Please reach out to us at [enterprise@bolna.ai](mailto:enterprise@bolna.ai) or schedule a call at [https://www.bolna.ai/meet](https://www.bolna.ai/meet) for more information and access.
# Update SIP Trunk
Source: https://www.bolna.ai/docs/api-reference/sip-trunks/update
PATCH /sip-trunks/trunks/{trunk_id}
Partially update an existing SIP trunk on Bolna using a PATCH request. Only the fields you include in the request body will be changed.
**SIP Trunking** is currently in Beta.
Please reach out to us at [enterprise@bolna.ai](mailto:enterprise@bolna.ai) or schedule a call at [https://www.bolna.ai/meet](https://www.bolna.ai/meet) for more information and access.
# Get All Sub-Accounts Usage API
Source: https://www.bolna.ai/docs/api-reference/sub-accounts/all_usage
GET /sub-accounts/all/usage
Retrieve usage, consumption, and billing details for all sub-accounts under the authenticated organization.
This is an `enterprise` feature.
You can read more about our enterprise offering here [Bolna enterprise](/enterprise/plan).
## Summary
This endpoint returns aggregated usage data for **all sub-accounts** associated with the authenticated user's organization.\
It provides fine-grained insight into usage, consumption, and cost breakdowns for each sub-account.
## Endpoint
```yaml theme={"system"}
GET /sub-accounts/all/usage
```
# Create a new Sub-Account API
Source: https://www.bolna.ai/docs/api-reference/sub-accounts/create
POST /sub-accounts/create
Create a new sub-account using the Bolna API to define separate workspaces with custom configurations for enterprise-level management.
This is an `enterprise` feature.
You can read more about our enterprise offering here [Bolna enterprise](/enterprise/plan).
# Deleting a Sub-account
Source: https://www.bolna.ai/docs/api-reference/sub-accounts/delete
DELETE /sub-accounts/{sub_account_id}
Use Bolna APIs to delete a sub-account and their related data, ensuring proper cleanup of agents, batches, executions, and configurations.
This deletes **ALL** the data for that sub-account's batches, executions and agents.
# List all Sub-Accounts API
Source: https://www.bolna.ai/docs/api-reference/sub-accounts/get_all
GET /sub-accounts/all
Retrieve all sub-accounts linked to your main account enabling centralized visibility and management.
This is an `enterprise` feature.
You can read more about our enterprise offering here [Bolna enterprise](/enterprise/plan).
# Sub accounts APIs overview
Source: https://www.bolna.ai/docs/api-reference/sub-accounts/overview
Manage multiple customers or business units with Bolna Sub-Accounts API. Create, list, and track usage with clear data separation and control.
This is an `enterprise` feature.
You can read more about our enterprise offering here [Bolna enterprise](/enterprise/plan).
## Endpoints
```
POST /sub-accounts/create
GET /sub-accounts/all
GET /sub-accounts/:sub_account_id/usage
```
# Patch Update a Sub-account
Source: https://www.bolna.ai/docs/api-reference/sub-accounts/patch_update
PATCH /sub-accounts/{sub_account_id}
Use this Bolna API endpoint to partially modify and update sub-account properties, including its name, concurrency limits, and call capacity settings.
Currently, only the following agent attributes can be updated for the `PATCH` update.
* `allow_concurrent_calls`
* `name`
# Track Sub-Account Usage API
Source: https://www.bolna.ai/docs/api-reference/sub-accounts/usage
GET /sub-accounts/{sub_account_id}/usage
Track usage for a specific sub-account giving you fine-grained insights into usage, consumption and billing.
This is an `enterprise` feature.
You can read more about our enterprise offering here [Bolna enterprise](/enterprise/plan).
# Add a New Custom LLM Model
Source: https://www.bolna.ai/docs/api-reference/user/add_model
POST /user/model/custom
Learn how to integrate your custom Large Language Model (LLM) with Bolna Voice AI agents using Bolna APIs.
This request specifies how to add your own Custom LLM Models and use it with Bolna Voice AI agents. Please read about it more from [using-custom-llm](/customizations/using-custom-llm)
# User information
Source: https://www.bolna.ai/docs/api-reference/user/info
GET /user/me
Get details like name, email, current wallet balance, concurrency limits using this API
# User APIs Overview
Source: https://www.bolna.ai/docs/api-reference/user/overview
Explore APIs related to user and account information for Bolna Voice AI agents, including endpoints for adding custom LLM models.
## Endpoints
```
GET /user/me
POST /user/model/custom
```
# List Violations API
Source: https://www.bolna.ai/docs/api-reference/violations/list
GET /violations/list
Retrieve a paginated list of violations, optionally filtered by status. Use this endpoint to monitor and manage call violations across your account.
## Pagination
This API supports pagination using the `page_number` and `page_size` query parameters. You can utilize `has_more` in the API response to determine if you should fetch the next page. You can learn more about it from the [pagination documentation](/api-reference/pagination).
# Violations APIs Overview
Source: https://www.bolna.ai/docs/api-reference/violations/overview
Manage and track call violations using the Bolna Violations APIs. List violations with filtering and pagination, and submit violation evidence.
## Endpoints
```
GET /violations/list
POST /violations/submit
```
# Submit Violation API
Source: https://www.bolna.ai/docs/api-reference/violations/submit
POST /violations/submit
Submit a violation along with an evidence file (e.g., a screenshot or document). This endpoint updates the violation status and attaches the uploaded file.
# List All Voices API
Source: https://www.bolna.ai/docs/api-reference/voice/get_all
GET /me/voices
Retrieve a list of all available voices for your account, including details like provider, language, and accent.
# Voice APIs Overview
Source: https://www.bolna.ai/docs/api-reference/voice/overview
APIs for accessing voices and generating test transcripts which can be utilized for Bolna Voice AI agents.
## Endpoints
```
GET /me/voices
```
# Auto-Retry for Failed Calls
Source: https://www.bolna.ai/docs/auto-retry
Automatically retry calls that fail due to no-answer, busy signals, or errors to improve contact rates.
## What is Auto-Retry?
Auto-retry automatically reschedules calls that fail to connect. When a call ends with statuses like `no-answer` or `busy`, Bolna retries the call after a configurable delay, improving your overall contact rates without manual intervention.
***
## How to Enable Auto-Retry
Add the `retry_config` object when making a call via the [Make Call API](/api-reference/calls/make) or [Create Batch API](/api-reference/batches/create).
```bash Single Call theme={"system"}
curl -X POST 'https://api.bolna.ai/call' \
-H 'Authorization: Bearer ' \
-H 'Content-Type: application/json' \
-d '{
"agent_id": "your-agent-id",
"recipient_phone_number": "+1234567890",
"retry_config": {
"enabled": true,
"max_retries": 3,
"retry_on_statuses": ["no-answer", "busy", "failed"],
"retry_intervals_minutes": [30, 60, 120]
}
}'
```
```bash Batch Call theme={"system"}
curl -X POST 'https://api.bolna.ai/batches' \
-H 'Authorization: Bearer ' \
-F 'agent_id=your-agent-id' \
-F 'file=@contacts.csv' \
-F 'retry_config={"enabled":true,"max_retries":2,"retry_intervals_minutes":[15,30]}'
```
***
## Configuration Options
| Parameter | Type | Default | Description |
| ------------------------- | ------- | --------------------------------- | -------------------------------------------- |
| `enabled` | boolean | `false` | Enable auto-retry |
| `max_retries` | integer | `3` | Maximum retry attempts (1–3) |
| `retry_on_statuses` | array | `["no-answer", "busy", "failed"]` | Statuses that trigger a retry |
| `retry_on_voicemail` | boolean | `false` | Retry if voicemail is detected |
| `retry_intervals_minutes` | array | `[30, 60, 120]` | Delay (in minutes) before each retry attempt |
### Supported Retry Statuses
| Status | Description |
| ----------- | ------------------------------ |
| `no-answer` | Call rang but was not answered |
| `busy` | Line was busy |
| `failed` | Call failed to connect |
| `error` | Technical error occurred |
***
## Monitoring Retries via Webhook
When auto-retry is configured, your webhook receives retry information with each status update:
```json theme={"system"}
{
"id": "execution-id",
"status": "scheduled",
"retry_count": 1,
"retry_config": {
"enabled": true,
"max_retries": 3
},
"retry_history": [
{
"attempt": 1,
"status": "no-answer",
"at": "2026-01-26T10:00:00Z"
}
],
"scheduled_at": "2026-01-26T10:30:00Z"
}
```
***
## Best Practices
Start with 30+ minute intervals to avoid annoying contacts with rapid retries
Keep `retry_on_voicemail: false` (default) to avoid repeated voicemail deposits
Track `retry_count` in webhooks to measure retry effectiveness over time
Use 1–2 retries for time-sensitive calls, 3 for lead outreach campaigns
***
## Related Features
Run campaigns with thousands of contacts
Get real-time call status updates
View execution history and outcomes
# Automate and schedule calls using Batches
Source: https://www.bolna.ai/docs/batch-calling
Learn how to schedule and manage batch calls using Bolna's Voice AI agents. Upload CSV files, set call parameters, and monitor execution for efficient outreach.
## What is Batch Calling?
Batch calling lets you automate outbound calls to hundreds or thousands of contacts by uploading a CSV file with phone numbers and custom data. Ideal for lead qualification, customer outreach, appointment reminders, and other high-volume calling campaigns.
***
## CSV File Format
Your CSV file must follow these rules:
All phone numbers must include the country prefix in [E.164](https://en.wikipedia.org/wiki/E.164) format (e.g., `+11231237890`).
The phone number column must use `contact_number` as the header.
Include any additional variables (name, address, etc.) as separate columns. These are passed to the agent as context.
```csv example_batch_file.csv theme={"system"}
contact_number,first_name,last_name
+11231237890,Bruce,Wayne
+91012345678,Bruce,Lee
+00021000000,Satoshi,Nakamoto
+44999999007,James,Bond
```
In Excel, typing `+` at the beginning of a cell is interpreted as a formula. **Add an apostrophe (`'`) before the plus sign** to retain it.
[Download an example CSV file](https://bolna-public.s3.amazonaws.com/Bolna+batch+calling+example+csv.csv)
Only the **`contact_number`** column is validated for correctness. Other columns (custom variables like `first_name`, `address`, etc.) are passed through as-is without any validation.
***
## Using the Dashboard
You can upload batches, schedule them, and configure auto-retry directly from the Bolna dashboard.
Navigate to **your agent → Batches** tab. You'll see a list of all your past batches along with their status, execution details, and actions like Run Now, Stop, Download, and Delete.
Click **Upload Batch** to get started.
Drag and drop your CSV file or click to browse. After uploading, you'll see how many rows were parsed and how many contacts have valid phone numbers.
In this dialog you can:
* **Select a phone number** to make calls from (Bolna managed or your own)
* **Choose to Run Now or Schedule** the batch for a future date and time
* **Enable auto-retry** for failed calls
* **Set a webhook URL** to receive real-time call status updates
Select **Run Now** to start calls immediately, or click **Schedule** to pick a future date and time. Use the quick-select buttons to schedule 10 minutes, 30 minutes, or 1 hour from now.
Enable **Auto-retry failed calls** to automatically re-attempt calls that didn't connect. You can configure:
* **Retry on**: Select which call outcomes trigger a retry (No Answer, Busy, Failed, Error, Voicemail)
* **Maximum retry attempts**: Set up to 3 retry attempts per contact
* **Retry intervals**: Define increasing delays between attempts (e.g., 30 min, 60 min, 120 min)
Click **Upload this batch** to confirm. Your batch will appear in the batches list with its scheduled time and status.
### Webhook Notifications
You can provide a **Webhook URL** in the upload dialog to receive real-time updates as each call in the batch completes. Bolna sends a POST request to your webhook endpoint with the call's execution data, including the call status, transcript, extracted data, and cost breakdown.
This is useful for syncing call results to your CRM, triggering follow-up workflows, or logging outcomes in real time without polling the API.
If you don't set a webhook, you can still retrieve all results later using the [List Batch Executions API](/api-reference/batches/executions).
***
## Using the Batch API
Upload your CSV file using the [Create Batch API](/api-reference/batches/create):
```bash request theme={"system"}
curl --location 'https://api.bolna.ai/batches' \
--header 'Authorization: Bearer ' \
--form 'agent_id="aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"' \
--form 'file=@"/my-first-batch.csv"'
```
```json response theme={"system"}
{
"batch_id": "abcdefghijklmnopqrstuvwxyz012345",
"state": "created"
}
```
Use the `batch_id` to schedule via the [Schedule Batch API](/api-reference/batches/schedule). The date and time must be in **ISO 8601** format with timezone:
```bash request theme={"system"}
curl --location 'https://api.bolna.ai/batches/abcdefghijklmnopqrstuvwxyz012345/schedule' \
--header 'Authorization: Bearer ' \
--form 'scheduled_at="2024-03-20T04:05:00+00:00"'
```
```json response theme={"system"}
{
"message": "success",
"state": "scheduled at 2024-03-20T04:10:00+00:00"
}
```
Monitor progress using the [Get Batch API](/api-reference/batches/get_batch):
```bash request theme={"system"}
curl --location 'https://api.bolna.ai/batches/abcdefghijklmnopqrstuvwxyz012345' \
--header 'Authorization: Bearer '
```
```json response theme={"system"}
{
"batch_id": "abcdefghijklmnopqrstuvwxyz012345",
"humanized_created_at": "19 minutes ago",
"created_at": "2024-03-13T14:12:50.596315",
"updated_at": "2024-03-13T14:19:13.115411",
"status": "scheduled",
"scheduled_at": "2024-03-20T04:10:00+05:30"
}
```
After the batch completes, fetch all execution results using the [List Batch Executions API](/api-reference/batches/executions):
```bash request theme={"system"}
curl --location 'https://api.bolna.ai/batches/abcdefghijklmnopqrstuvwxyz012345/executions' \
--header 'Authorization: Bearer '
```
```json response theme={"system"}
[
{
"id": 7432382142914,
"conversation_time": 123,
"total_cost": 123,
"transcript": "",
"createdAt": "2024-01-23T01:14:37Z",
"updatedAt": "2024-01-29T18:31:22Z",
"usage_breakdown": {
"synthesizerCharacters": 123,
"synthesizerModel": "polly",
"transcriberDuration": 123,
"transcriberModel": "deepgram",
"llmTokens": 123,
"llmModel": {
"gpt-3.5-turbo-16k": {
"output": 28,
"input": 1826
}
}
}
}
]
```
***
## Complete Example
```python batch_script.py theme={"system"}
import asyncio
import os
from dotenv import load_dotenv
import aiohttp
# Load environment variables from .env file
load_dotenv()
# Load from .env
host = "https://api.bolna.ai"
api_key = os.getenv("api_key", None)
agent_id = 'ee153a6c-19f8-3a61-989a-9146a31c7834' # Agent to create batch for
file_path = '/path/of/csv/file'
schedule_time = '2024-06-01T04:10:00+05:30'
async def schedule_batch(api_key, batch_id, scheduled_at):
print("Scheduling batch for batch_id: {}".format(batch_id))
url = f"{host}/batches/{batch_id}/schedule"
headers = {'Authorization': f'Bearer {api_key}'}
data = {'scheduled_at': scheduled_at}
try:
async with aiohttp.ClientSession() as session:
async with session.post(url, headers=headers, data=data) as response:
response_data = await response.json()
if response.status == 200:
return response_data
else:
raise Exception(f"Error scheduling batch: {response_data}")
except aiohttp.ClientError as e:
print(f"HTTP Client Error: {str(e)}")
except Exception as e:
print(f"Unexpected error: {str(e)}")
async def get_batch_status(api_key, batch_id):
print("Getting batch status for batch_id: {}".format(batch_id))
url = f"{host}/batches/{batch_id}"
headers = {'Authorization': f'Bearer {api_key}'}
try:
async with aiohttp.ClientSession() as session:
async with session.get(url, headers=headers) as response:
response_data = await response.json()
if response.status == 200:
return response_data
else:
raise Exception(f"Error getting batch status: {response_data}")
except aiohttp.ClientError as e:
print(f"HTTP Client Error: {str(e)}")
except Exception as e:
print(f"Unexpected error: {str(e)}")
async def get_batch_executions(api_key, batch_id):
print("Getting batch executions for batch_id: {}".format(batch_id))
url = f"{host}/batches/{batch_id}/executions"
headers = {'Authorization': f'Bearer {api_key}'}
try:
async with aiohttp.ClientSession() as session:
async with session.get(url, headers=headers) as response:
response_data = await response.json()
if response.status == 200:
return response_data
else:
raise Exception(f"Error getting batch executions: {response_data}")
except aiohttp.ClientError as e:
print(f"HTTP Client Error: {str(e)}")
except Exception as e:
print(f"Unexpected error: {str(e)}")
async def create_batch():
url = f"{host}/batches"
headers = {'Authorization': f'Bearer {api_key}'}
with open(file_path, 'rb') as f:
form_data = aiohttp.FormData()
form_data.add_field('agent_id', agent_id)
form_data.add_field('file', f, filename=os.path.basename(file_path))
async with aiohttp.ClientSession() as session:
async with session.post(url, headers=headers, data=form_data) as response:
response_data = await response.json()
if response_data.get('state') == 'created':
batch_id = response_data.get('batch_id')
res = await schedule_batch(api_key, batch_id, scheduled_at=schedule_time)
if res.get('state') == 'scheduled':
check = True
while check:
# Check status every 1 minute
await asyncio.sleep(60)
res = await get_batch_status(api_key, batch_id)
if res.get('status') == 'completed':
check = False
break
if not check:
res = await get_batch_executions(api_key, batch_id)
print(res)
return res
if __name__ == "__main__":
asyncio.run(create_batch())
```
***
## Next Steps
Understand outbound calling concurrency limits
Set up dedicated phone numbers for campaigns
Personalize each call with dynamic data
Automatically retry failed calls
# Acquire Dedicated Phone Numbers through Bolna
Source: https://www.bolna.ai/docs/buying-phone-numbers
Purchase and manage phone numbers directly from Bolna's dashboard. Follow step-by-step instructions to secure numbers for your Voice AI agents.
Buy and view your Phone numbers on [https://platform.bolna.ai/phone-numbers](https://platform.bolna.ai/phone-numbers).
## Detailed steps to purchase phone numbers
All phone numbers are purchased for a monthly recurring cost and the amounts are deducted from the Bolna wallet balance. View [call pricing](/pricing/call-pricing) for more details on costs.
## What can I do with my purchased phone numbers?
Once you've purchased phone numbers, you can:
* [Make outbound calls](/making-outgoing-calls) from your dedicated numbers
* [Receive inbound calls](/receiving-incoming-calls) to your Voice AI agents
* [Configure telephony providers](/supported-telephony-providers) like Twilio or Plivo
* [Run batch calling campaigns](/batch-calling) at scale
# Extract Structured Data from Conversations
Source: https://www.bolna.ai/docs/call-details
Access detailed insights into call logs and data with Bolna Voice AI. Learn how to analyze and utilize call details for better decision-making.
## What is data extraction in Bolna?
Data extraction allows you to automatically capture specific information from voice conversations in a structured JSON format. This is essential for CRM integration, lead qualification, appointment booking, and post-call analysis.
## How to extract call details in structured JSON format?
By defining any relevant information you wish to extract from the conversation, you can use `Extraction prompt`.
Post every call, you'll get this data in the [Execution](/api-reference/executions/get_execution) payload in `extracted_data` key.
### Example
```text extraction prompt theme={"system"}
user_name : Yield the name of the user.
payment_mode : If user is paying by cash, yield cash. If they are paying by card yield card. Else yield NA
payment_date: yield payment date by the user in YYYY-MM-DD format
```
```json response theme={"system"}
...
...
"extracted_data": {
"user_name": "Bruce",
"payment_mode": "paypal,
"payment_date": "2024-12-30"
},
...
...
```
## What can I extract from calls?
You can extract any information discussed during the conversation:
* **Customer information**: Names, email addresses, phone numbers
* **Appointment details**: Dates, times, preferences
* **Lead qualification data**: Budget, timeline, decision-maker status
* **Payment information**: Payment method, amount, date
* **Product preferences**: Sizes, colors, quantities
* **Feedback and sentiment**: Satisfaction scores, complaints, compliments
## Next steps
Ready to implement data extraction? Configure extraction prompts in your agent or explore related features:
* Use [context variables](/using-context) to pre-fill known information
* Access extraction data via the [Executions API](/api-reference/executions/get_execution)
* Integrate with [custom functions](/tool-calling/custom-function-calls) for real-time actions
* Set up [batch calling](/batch-calling) with personalized context per call
For advanced use cases, combine extraction with [multi-agent workflows](/multi-agent-prompt) for complex conversations.
# Agent Conversations, Metrics & Logs
Source: https://www.bolna.ai/docs/call-history
Access Voice AI agent conversations, recordings, transcripts, and execution data. Monitor performance metrics, debug with logs, and export data for analysis.
## What is Call History?
Call History (Agent Conversations) displays all historical conversations with your agents. View performance metrics, listen to recordings, read transcripts, and access raw execution data for debugging and analysis.
***
## How to Access Call History
Click **Call History** in the left navigation menu.
Click **See all call logs** in the actions panel.
***
## Performance Metrics
The top section displays **real-time metrics** for your selected agent and date range. Use these to monitor campaign performance at a glance.
| Metric | Description |
| -------------------- | ---------------------------------------------- |
| **Total Executions** | Total number of call attempts |
| **Total Cost** | Total campaign spend |
| **Total Duration** | Total call time in seconds |
| **Status Breakdown** | Count of Error, Completed, and No-Answer calls |
| **Avg Cost** | Average cost per call |
| **Avg Duration** | Average call length |
***
## Filtering Calls
| Filter | Description |
| -------------- | ----------------------------------------- |
| **Agent** | Select a specific agent to view its calls |
| **Batch** | Filter by batch campaign |
| **Date Range** | Choose a date range for the calls |
| **Group By** | Group calls by different criteria |
| **Call Type** | Filter by inbound or outbound calls |
| **Status** | Filter by Completed, Error, or No-Answer |
| **Provider** | Filter by telephony provider |
Use the **search by execution ID** box to quickly find a specific call.
***
## Call Table
Each call is displayed with the following information:
| Column | Description |
| --------------------- | --------------------------------------------------- |
| **Execution ID** | Unique identifier for the call |
| **User Number** | Phone number of the caller/recipient |
| **Conversation Type** | Type of call (plivo outbound, twilio inbound, etc.) |
| **Duration (s)** | Call duration in seconds |
| **Hangup By** | Who ended the call (Callee, Carrier, Plivo, etc.) |
| **Batch** | Batch campaign if applicable |
| **Timestamp** | When the call occurred |
| **Cost** | Cost of the call |
| **Status** | Call status (Completed, No-answer, Error) |
***
## Call Details
Click **Recordings, transcripts, etc** to view the full conversation data.
| Section | Description |
| -------------- | ----------------------------------------------------- |
| **Recording** | Audio waveform with play, copy, and download options |
| **Transcript** | Full conversation showing Assistant and User messages |
Use the copy button to quickly copy the recording URL or transcript text.
Click the **Trace Data** icon to view detailed execution logs for debugging.
| Column | Description |
| ------------- | ---------------------------------------------------------- |
| **Timestamp** | Exact time of each log entry |
| **Log Data** | The actual request or response content |
| **Direction** | Whether it's a request or response |
| **Component** | Which component handled it (synthesizer, transcriber, llm) |
| **Provider** | Provider used (elevenlabs, deepgram, azure, etc.) |
**Trace data is essential for debugging!** Use it to identify latency issues, transcription errors, or unexpected LLM responses.
Click **Download logs** to export all trace data for detailed analysis.
Click the **Raw Data** icon to view the complete JSON execution data.
The raw data format matches the [Get Execution API](/api-reference/executions/get_execution) response, making it easy to integrate with your systems programmatically.
***
## Quick Actions
| Action | Description |
| --------------------- | --------------------------------- |
| **Refresh** | Reload the call list |
| **Stop Queued Calls** | Cancel pending calls in the queue |
| **Download Records** | Export call data as CSV |
Export call data as CSV for analysis in spreadsheet tools or to share with your team.
***
## Next Steps
Configure webhooks and post-call tasks
Access call data programmatically
Configure your agent settings
Set up automated calling campaigns
# Understanding Call Latency Metrics in Bolna Voice AI
Source: https://www.bolna.ai/docs/call-latencies
Analyze call latency across transcription, LLM, and synthesis in Bolna Voice AI. Identify bottlenecks and optimize response times.
## Introduction
Bolna provides detailed latency metrics for every Voice AI execution, helping you monitor and optimize agent response speed. These metrics break down timing across the entire voice pipeline, from speech recognition to LLM processing to audio synthesis.
Access latency data via the [Get Execution API](/api-reference/executions/get_execution) in the `latency_data` object.
***
## Latency Data Overview
### Top-Level Metrics
```json theme={"system"}
{
"latency_data": {
"stream_id": 129.56,
"time_to_first_audio": 130.84,
"region": "in",
"transcriber": { ... },
"llm": { ... },
"synthesizer": { ... }
}
}
```
| Field | Type | Description |
| --------------------- | -------- | --------------------------------------------------------------------- |
| `stream_id` | `float` | Time (ms) to establish the audio stream connection |
| `time_to_first_audio` | `float` | Total time (ms) from call start to first audio played to the user |
| `region` | `string` | Geographic region code (e.g., `in` for India, `us` for United States) |
`time_to_first_audio` is the most important metric for perceived responsiveness. It represents how long the caller waits before hearing the agent speak.
***
## Pipeline Component Metrics
Converts spoken audio into text. Tracks how quickly speech is being transcribed.
```json theme={"system"}
{
"transcriber": {
"time_to_connect": 226,
"turns": [
{
"turn": 1,
"turn_latency": [
{
"sequence_id": 1,
"audio_to_text_latency": 20.12,
"text": "hello who is there"
},
{
"sequence_id": 2,
"audio_to_text_latency": 19.96,
"text": "hello who is this"
}
]
}
]
}
}
```
| Field | Type | Description |
| ----------------------- | --------- | ------------------------------------------------------ |
| `time_to_connect` | `integer` | Time (ms) to establish connection with the transcriber |
| `turn` | `integer` | Sequential conversation turn number (starting at 1) |
| `sequence_id` | `integer` | Incremental transcription update ID within a turn |
| `audio_to_text_latency` | `float` | Time (ms) from audio input to transcribed text |
| `text` | `string` | Transcribed text for this sequence |
Multiple sequences per turn represent **incremental refinements**. The transcriber provides partial results that improve over time. The final sequence is the most accurate.
Generates the agent's response based on transcribed input.
```json theme={"system"}
{
"llm": {
"time_to_connect": null,
"turns": [
{
"time_to_first_token": 1633.04,
"time_to_last_token": 1691.53,
"turn": 1
},
{
"time_to_first_token": 737.80,
"time_to_last_token": 777.49,
"turn": 2
}
]
}
}
```
| Field | Type | Description |
| --------------------- | ----------------- | ---------------------------------------------------------------------- |
| `time_to_connect` | `integer \| null` | Time (ms) to connect to the LLM provider (`null` if not applicable) |
| `turn` | `integer` | Sequential turn number |
| `time_to_first_token` | `float` | Time (ms) to receive the **first token**, critical for perceived speed |
| `time_to_last_token` | `float` | Time (ms) to receive the **last token**, total generation time |
**Time to First Token (TTFT)** is the key metric here. With streaming, the synthesizer starts converting text to speech as soon as the first tokens arrive, reducing overall latency.
Converts LLM text responses into spoken audio.
```json theme={"system"}
{
"synthesizer": {
"time_to_connect": 271,
"turns": [
{
"time_to_first_token": 599,
"time_to_last_token": 800,
"turn": 1
},
{
"time_to_first_token": 317,
"time_to_last_token": 518,
"turn": 2
}
]
}
}
```
| Field | Type | Description |
| --------------------- | --------- | ----------------------------------------------- |
| `time_to_connect` | `integer` | Time (ms) to connect to the TTS service |
| `turn` | `integer` | Sequential turn number |
| `time_to_first_token` | `integer` | Time (ms) to generate the **first audio chunk** |
| `time_to_last_token` | `integer` | Time (ms) to complete **all audio generation** |
Modern TTS systems stream audio. Playback begins before the entire response is synthesized, keeping the conversation flowing naturally.
***
## Identifying Bottlenecks
Use these thresholds to pinpoint performance issues across the pipeline:
**Possible causes:**
* Network issues with the transcription service
* Need for a different transcription provider
* Poor audio quality or background noise
**Fix:** Try a different transcriber provider in your [Audio Tab](/agent-setup/audio-tab) configuration, or improve audio input quality.
**Possible causes:**
* LLM model is too large or complex
* Prompts need optimization (too long or unstructured)
* High load on the LLM service
**Fix:** Consider a faster LLM model, optimize your prompt length, or try a different provider in your [LLM Tab](/agent-setup/llm-tab).
**Possible causes:**
* Network issues with the TTS service
* Voice model is computationally expensive
* Provider experiencing high load
**Fix:** Try a different voice or TTS provider in your [Audio Tab](/agent-setup/audio-tab) configuration.
***
## Related Pages
Retrieve execution details with latency data
Track the full lifecycle of your calls
Understand call termination reasons
# Call Guardrails
Source: https://www.bolna.ai/docs/calling-guardrails
Control when your agent makes outbound calls with time-based restrictions to ensure compliance with calling regulations and respect recipient time zones.
## What are Call Guardrails?
Call guardrails help you control when your agent makes outbound calls by enforcing time-based restrictions. This ensures compliance with calling regulations and respects recipient time zones.
With call guardrails, you can define allowed calling hours (e.g., 9 AM - 5 PM) for your agents. Calls outside these hours are automatically rescheduled to the next available time window. For emergency or priority calls, you can use the bypass flag to override these restrictions.
## How It Works
1. **Configure guardrails** on your agent with allowed calling hours (`call_start_hour` and `call_end_hour`)
2. **Initiate a call** via API (optionally with `bypass_call_guardrails` flag)
3. **Timezone detection** - System automatically detects recipient's timezone from phone number
4. **Time validation** - If bypass is false, checks if current time in recipient's timezone is within allowed window
5. **Execute or reschedule** - Call is made immediately if within hours, or automatically rescheduled if outside
The hours are interpreted in the **recipient's local timezone**, not yours. For example, if `call_start_hour=9`, the call can be made at 9 AM Indian time for an Indian number.
## Configuration
Configure guardrails when creating or updating an agent via the `/v2/agent` API:
| Field | Type | Required | Default | Description |
| ----------------- | ------- | -------- | ------- | ------------------------------------------------------ |
| `call_start_hour` | integer | No | - | Start of allowed calling window (0-23, 24-hour format) |
| `call_end_hour` | integer | No | - | End of allowed calling window (0-23, 24-hour format) |
**Example: Business hours (9 AM - 5 PM)**
```bash theme={"system"}
curl --request POST \
--url https://api.bolna.ai/v2/agent \
--header 'Authorization: Bearer YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"agent_config": {
"agent_name": "Sales Agent",
"agent_welcome_message": "Hello, how can I help you?",
"calling_guardrails": {
"call_start_hour": 9,
"call_end_hour": 17
},
"tasks": [...]
},
"agent_prompts": {...}
}'
```
Hours use 24-hour format where 0 = midnight, 9 = 9 AM, 17 = 5 PM, 23 = 11 PM. `call_end_hour` must be greater than or equal to `call_start_hour`.
## Making Calls
### Standard Call (With Guardrails)
When you initiate a call, the agent's guardrails are automatically applied:
```bash theme={"system"}
curl --request POST \
--url https://api.bolna.ai/call \
--header 'Authorization: Bearer YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"agent_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"recipient_phone_number": "+14155551234",
"user_data": {...}
}'
```
**What happens:**
* If within allowed hours → Call is made immediately
* If outside allowed hours → Call status is set to `rescheduled` and automatically rescheduled to next `call_start_hour`
### Bypass Call Guardrails
The `bypass_call_guardrails` parameter allows you to skip all time validation checks for specific calls. When set to `true`, calls are made immediately regardless of configured time windows.
**When to use bypass:**
* Emergency calls or critical notifications
* VIP/priority calls that can't wait
* Testing call flows in development
* Time-sensitive notifications or alerts
**Single call with bypass:**
```bash theme={"system"}
curl --request POST \
--url https://api.bolna.ai/call \
--header 'Authorization: Bearer YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"agent_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"recipient_phone_number": "+14155551234",
"bypass_call_guardrails": true,
"user_data": {...}
}'
```
Use the bypass flag responsibly. Bypassing guardrails may violate calling regulations or disturb recipients.
## Common Use Cases
### Business Hours Only
Configure standard 9-5 business hours:
```json theme={"system"}
{
"calling_guardrails": {
"call_start_hour": 9,
"call_end_hour": 17
}
}
```
Calls are only made between 9:00 AM and 5:00 PM in the recipient's timezone.
## Important Notes
* **Time format**: Use 24-hour format (0-23).
* **Timezone behavior**: Time validation uses the **recipient's timezone**, automatically detected from phone number.
* **Automatic rescheduling**: Calls outside allowed hours are automatically rescheduled to the next `call_start_hour`. No manual intervention required.
* **Bypass flag**: For single calls (`POST /call`) use flag bypass\_call\_guardrails. Default is `false`.
* **status**: The status is updated to `rescheduled` when the call is triggered outside allowed hours
## Next Steps
* [Make outbound calls](/making-outgoing-calls) - Learn the basics of making calls
* [Batch calling](/batch-calling) - Schedule calls in bulk
* [Auto-retry](/auto-retry) - Automatically retry failed calls
* [API reference for making calls](/api-reference/calls/make) - Full API documentation
# Bolna AI Updates for April, 2025
Source: https://www.bolna.ai/docs/changelog/april-2025
Explore the latest features, improvements, and API updates introduced in April 2025 for Bolna Voice AI agents.
## Call Frequency Limiting
* Set a limit on the maximum number of inbound calls allowed from a unique phone number to a given destination number. Call frequency limiting helps prevent spam, abuse, or unintended repeated calls.
## Improvements
* All inbound and outbound calls to have a maximum limit of `25KB` for injecting context.
* Learn more on [injecting context for inbound calls](/customizations/identify-incoming-callers) for inbound calls.
* Learn more on [injecting context for outbound calls](/using-context) for outbound calls).
## Inbound Whitelist Control
* Configure inbound rules to allow calls only from specific whitelisted phone numbers. Inbound whitelist control ensures that only trusted callers can initiate conversations with your agents.
## Improvements
* Latency improvements for agents using [guardrails](/guardrails).
* Tool information will now be available in the post call analysis like [extraction](/call-details) & summarization.
## Deepgram Aura-2 TTS Support
* Added support for [Deepgram's](/providers/voice/deepgram) Aura-2 TTS model `aura-2`.
## Improvements
* Transcripts will now be more [accurate by incorporating interruptions](/customizations/capturing-precise-transcripts).
## OpenAI GPT-4.1 Model Support
* Added support for OpenAI's **GPT-4.1** family of models: `gpt-4.1`, `gpt-4.1-mini` & `gpt-4.1-nano`.
## Improvements
* Ability to remove voices from your account
* Audio recordings are now stored in `dual` (stereo) mode for both inbound & outbound calls.
# Bolna AI Updates for August, 2025
Source: https://www.bolna.ai/docs/changelog/august-2025
Explore the latest features, improvements, and API updates introduced in August 2025 for Bolna Voice AI agents.
## Support for scheduling calls at a future timestamp in `/call` endpoint.
* If `scheduled_at` is provided, the call will be queued and executed at that timestamp. Refer [docs](https://www.bolna.ai/docs/api-reference/calls/make#body-scheduled-at).
## Instantly Clone Voices with a Single Click
* You can now create high-quality AI clones of any voice directly from the Voice Lab.
* Simply provide a name and a 1-2 minute audio sample to generate a new, unique voice for your agents.
* Voice cloning is powered by leading providers like ElevenLabs to ensure top-tier quality. Learn more in our [new guide to cloning voices](https://www.bolna.ai/docs/clone-voices).
## Added `OpenRouter` support
* Support for the following models via [OpenRouter](/providers/llm-model/openrouter). Learn more about OpenRouter from their [official website](https://openrouter.ai).
1. `gpt-4.1` OpenRouter OpenAI
2. `gpt-4.1-mini` OpenRouter OpenAI
3. `gpt-4.1-nano` OpenRouter OpenAI
4. `gpt-4o` OpenRouter OpenAI
5. `gpt-4o-mini` OpenRouter OpenAI
6. `gpt-4` OpenRouter OpenAI
## Add your own `OpenRouter` API keys
* Use your own OpenRouter account by adding your API Key to the [OpenRouter provider](https://www.bolna.ai/docs/providers).
# Bolna AI Updates for December, 2024
Source: https://www.bolna.ai/docs/changelog/december-2024
Explore the latest features, improvements, and API updates introduced in December 2024 for Bolna Voice AI agents.
## Batch Management Enhancements
* Download batches that have been uploaded
* Display batch call status breakdown for better tracking
## API Updates
* Batches APIs - Added breakdown for batches executions ([API doc](/api-reference/batches/get_batch))
## New Features
* Added Cartesia TTS support for voice synthesis
* Implemented voicemail detection for Twilio & Plivo calls
* Enabled call hangup using prompts (see [hangup live calls on Bolna](/hangup-calls))
* Introduced multi-agent prompt building (see [multi-agent prompt](/multi-agent-prompt))
## Major Platform Updates
* Added support for over 40+ languages (see [supported languages](/customizations/multilingual-languages-support))
* Knowledgebases are now functional in all supported languages and work together with LLM-driven context (see [ingesting and using KBs](/getting-started/knowledge-base))
* Revamped batches for simpler processing and management (see [using batches](/batch-calling))
* Added call hangup information for all calls
## Improvements & Migrations
* Changed `execution_id` notation from `{agent_id}#{timestamp}` to a unique `{uuid}` format.
* The execution ID overhaul addresses previous scaling issues and product complications.
## API Updates
#### New APIs
* Get call details using only `execution_id` ([API doc](/api-reference/executions/get_execution))
* Set inbound agent programmatically ([API doc](/api-reference/inbound/agent))
* Get a list of all added voices for your account ([API doc](/api-reference/voice/get_all))
#### API changes
* Call APIs - Outbound calls will now return the unique `execution_id` ([API doc](/api-reference/calls/make))
* Batches APIs - removed redundant need of `agent_id` wherever applicable ([API doc](/api-reference/batches/overview))
* Execution APIs - removed redundant need of `agent_id` wherever applicable ([API doc](/api-reference/executions/overview))
# Bolna AI Updates for December, 2025
Source: https://www.bolna.ai/docs/changelog/december-2025
Explore the latest features, improvements, and API updates introduced in December 2025 for Bolna Voice AI agents.
## Mention function calls using '@' in agent prompts
You can now mention function calls directly in your agent prompt using the `@` symbol. Simply type `@` followed by the function name to reference it in your instructions, making it easier to guide your agent on when to use specific functions.
## New Transcriber Integration: Pixa
Bolna's transcriber lineup grows with **[Pixa](/providers/transcriber/pixa)**. Use it as an additional transcription backend to pick the provider that best matches your agent's domain and reliability needs.
## New Transcriber Integration: Gladia
You can now plug **[Gladia](/providers/transcriber/gladia)** into Bolna for speech-to-text. This adds another strong choice for teams that want flexibility across languages and scenarios.
## New Transcriber Integration: ElevenLabs Scribe
**[ElevenLabs Scribe](/providers/transcriber/elevenlabs)** is now available as a transcriber option in Bolna. This provides more flexibility for building voice AI agents across different languages and use cases.
## URL support for Knowledgebases
Knowledgebases now support [website URLs](/getting-started/knowledge-base) as data sources, allowing you to ingest and reference content directly from web links.
## Improved Knowledgebase support
* Added support for multiple PDF documents which can be used together.
* Fixed issues with function calls while using knowledgebases.
* Improved retrieval accuracy and reduced response latency.
# Bolna AI Updates for February, 2025
Source: https://www.bolna.ai/docs/changelog/february-2025
Explore the latest features, improvements, and API updates introduced in February 2025 for Bolna Voice AI agents.
## Webcall Support
* Added webcall support to help users build and test their Bolna Voice AI agents directly in the browser.
## Voice Import Integration
* Integrated support for [importing voices](/import-voices) from multiple providers like ElevenLabs and Cartesia, along with custom voice options — making voice agent personalization on Bolna AI smoother and more flexible than ever.
## Deepgram Nova-3 Model Support
* Added [Deepgram `nova-3` model](/providers/transcriber/deepgram#4-list-of-deepgram-models-supported-on-bolna-ai) for speech to text capabilities.
## ElevenLabs Flash v2.5 Model Support
* Added [ElevenLabs `eleven_flash_v2_5` model](/providers/voice/elevenlabs#4-list-of-elevenlabs-models-supported-on-bolna-ai) for text to speech capabilities.
## Improvements
* Hangup live calls automatically on [detecting silence](/hangup-calls#1-using-time-based-call-hangup) and [using LLM prompts](/hangup-calls#2-using-prompts-to-hangup-calls).
* Add a [hangup message](/hangup-calls#adding-a-hangup-message) to be spoken while disconnecting the call
# Bolna AI Updates for February, 2026
Source: https://www.bolna.ai/docs/changelog/february-2026
Explore the latest features, improvements, and API updates introduced in February 2026 for Bolna Voice AI agents.
## Override Agent Config in /call API
The `/call` API now supports an `agent_data` parameter that lets you override agent configuration properties at call time. Currently, overriding the `voice_id` (for the same provider) is supported.
This allows you to dynamically change the voice used for a specific call without modifying the agent's default configuration.
```json Example theme={"system"}
{
"agent_id": "123e4567-e89b-12d3-a456-426655440000",
"recipient_phone_number": "+919876543210",
"agent_data": {
"voice_id": "Sam"
}
}
```
Learn more in the [Make a Phone Call API documentation](/api-reference/calls/make).
## Sarvam v3 Models Support
Bolna now supports **Sarvam v3** models:
* **saaras:v3** — New transcriber model configured for direct transcription in the original spoken language. Supports all 11 Indian languages.
* **bulbul:v3** — New Sarvam TTS voice model for improved Indian language speech synthesis.
Learn more about Sarvam transcriber models in the [Sarvam STT documentation](/providers/transcriber/sarvam) and voice models in the [Sarvam TTS documentation](/providers/voice/sarvam).
## Deepgram: New Indian Languages Added
Bolna now supports additional **Deepgram** Indian languages for speech recognition:
* **bn** — Bengali
* **kn** — Kannada
* **mr** — Marathi
* **te** — Telugu
## API Rate Limiting
Bolna APIs now enforce rate limits to ensure fair usage and platform stability. Rate limits are applied per **organization** (if the user belongs to one) or per **user** otherwise.
**Endpoint-specific limits:**
| Endpoint | Rate Limit |
| --------------------------------- | ------------------- |
| `/v2/agent/{agent_id}/executions` | 500 requests/minute |
| `/v2/agent/{agent_id}` | 500 requests/minute |
| `/call` | 500 requests/minute |
All other API endpoints are subject to a default rate limit of **1000 requests per minute**.
Requests exceeding the limit will receive an HTTP 429 response. Learn more in the [rate limiting documentation](/api-reference/rate-limiting).
## Truecaller Verification
Bolna now supports **Truecaller Verification** — users can get their phone numbers **verified on Truecaller**, so your calls show a verified identity to recipients. This helps build trust and can improve answer rates by making it clearer who’s calling.
Learn more in the [Truecaller Verification documentation](https://www.bolna.ai/docs/truecaller-verification).
# Bolna AI Updates for January, 2025
Source: https://www.bolna.ai/docs/changelog/january-2025
Explore the latest features, improvements, and API updates introduced in January 2025 for Bolna Voice AI agents.
## Bug fixes
* Execution `status` wasn't getting updated for few incoming calls with connected Twilio telephony
## API Updates
* Agent APIs - Added functionality to programmatically delete agents via APIs ([API doc](/api-reference/agent/v2/delete))
## Bug fixes
* Few executions were erroneously loosing the `batch_id` mapping
# Bolna AI Updates for January, 2026
Source: https://www.bolna.ai/docs/changelog/january-2026
Explore the latest features, improvements, and API updates introduced in January 2026 for Bolna Voice AI agents.
## Vobiz Telephony Integration
* Introducing native Vobiz integration for Voice AI calling in India and global markets
* Connect your existing Vobiz account securely to Bolna for complete control over your telephony infrastructure
* Make outbound AI calls and receive inbound calls using your own Vobiz phone numbers
* Support for both dashboard-based calling and programmatic API integration
* Learn more in the [Vobiz integration documentation](/vobiz)
## Auto-Retry for Failed Calls
Automatically retry calls that fail due to no-answer, busy signals, or errors. Configure retry attempts, delays, and which statuses trigger retries.
**Key features:**
* Up to 3 automatic retry attempts
* Configurable delays between retries
* Works with single calls and batch campaigns
* Webhook notifications include retry status
Learn more in the [auto-retry documentation](/auto-retry).
## IVR Support for Inbound Calls
Bolna now supports IVR (Interactive Voice Response) for Plivo inbound calls. Route callers to different Voice AI agents based on their menu selections.
**Key features:**
* **Menu steps** - Present options and route based on digit pressed
* **Collect steps** - Gather multi-digit input (account numbers, PINs)
* **Multi-agent routing** - Different agent per menu option
* **Conditional branching** - Build complex flows with language selection
* **Context passing** - All collected data sent to agent as context
Configure IVR via the `/inbound/setup` API by adding `ivr_config` to your request. Learn more in the [IVR documentation](/ivr-inbound-calls).
```json theme={"system"}
{
"ivr_config": {
"enabled": true,
"voice": "Polly.Aditi",
"welcome_message": "Welcome to Acme Corp.",
"steps": [
{
"step_id": "department",
"type": "menu",
"prompt": "Press 1 for Sales. Press 2 for Support.",
"field_name": "department",
"options": [
{"digit": "1", "label": "Sales", "agent_id": "sales-agent-id"},
{"digit": "2", "label": "Support", "agent_id": "support-agent-id"}
]
}
]
}
}
```
## Multilingual Message Auto Switching
Bolna now automatically detects the language your users speak and adapts system messages accordingly. Bolna agents analyze conversation patterns and intelligently switche messages to match the detected language.
Bolna agents are now able to identify the dominant language while handling real-world conversational scenarios where users mix languages. This ensures messages are delivered in the language users actually prefer for substantive communication.
**Currently supported message types:**
* **User online check message** - The "are you still there?" prompt when checking if users are on the call
* **Call hangup message** - Closing messages when the agent ends a call
* **Pre-function call message** - Brief wait messages while executing custom tools or API calls
Configure multilingual variants using language codes (e.g., `en`, `hi`, `ta`, etc) and Bolna handles the rest. Learn more in the [language detection documentation](/customizations/auto-switch-multilingual-messages).
## Noise Cancellation During Calls
Bolna now supports noise cancellation during calls, providing clearer audio quality by filtering out background noise for both the agent and the caller.
## Auto Reschedule
Automatically reschedule calls when a user asks to be called at a specific time. The agent will intelligently detect scheduling requests and handle the rescheduling process seamlessly.
# Bolna AI Updates for July, 2025
Source: https://www.bolna.ai/docs/changelog/july-2025
Explore the latest features, improvements, and API updates introduced in July 2025 for Bolna Voice AI agents.
## Bolna AI Data Residency
* [Introducing India Data Residency](/enterprise/data-residency) for enterprise-grade Voice AI, now hosted in India for compliance and improved performance.
## Phone Number Management APIs
* Search available phone numbers [using APIs](/api-reference/phone-numbers/search).
* Buy available phone numbers [using APIs](/api-reference/phone-numbers/buy).
* Delete and remove phone numbers [using APIs](/api-reference/phone-numbers/delete).
## Rime TTS Voice Support
* Added [Rime TTS](/providers/voice/rime) voices and models:
* `arcana` models and voices
* `mistv2` models and voices
## Sarvam Bulbul v2 WebSocket Integration
* Incorporated websockets for Sarvam `bulbul:v2` model to improve real-time performance.
# Bolna AI Updates for June, 2025
Source: https://www.bolna.ai/docs/changelog/june-2025
Explore the latest features, improvements, and API updates introduced in June 2025 for Bolna Voice AI agents.
## Bolna AI On-Premise Offering
* Rolling out Bolna AI [On-Premise offering](/enterprise/on-premise-deployments) in Private Beta for enterprise customers.
## Agent Data Ingestion Configuration
* Exposed `ingest_source_config` for agents, enabling inbound calls to ingest user data via APIs.
* The following APIs have been updated to reflect these changes:
* Get Agent API [API reference doc](/api-reference/agent/v2/get)
* Create Agent API [API reference doc](/api-reference/agent/v2/create)
* Update Agent API [API reference doc](/api-reference/agent/v2/update)
* Patch update Agent API [API reference doc](/api-reference/agent/v2/patch_update)
* List Agents API [API reference doc](/api-reference/agent/v2/get_all)
## TTS Model Switching in UI Dashboard
* Enabled TTS model switching directly from the UI Dashboard for easier voice model management.
## Sub-Account API Endpoints
* Added the following APIs for sub-account management:
* Create sub-account API [API reference doc](/api-reference/sub-accounts/create)
* List all sub-accounts API [API reference doc](/api-reference/sub-accounts/get_all)
* Track sub-accounts usage API [API reference doc](/api-reference/sub-accounts/usage)
# Bolna AI Updates for March, 2025
Source: https://www.bolna.ai/docs/changelog/march-2025
Explore the latest features, improvements, and API updates introduced in March 2025 for Bolna Voice AI agents.
## Improvements
* Enabling `strict` mode for custom tools to ensure function calls reliably adhere to the function schema, instead of being best effort.
* Updating the UI for the custom tools and improving the [documentation with examples](/tool-calling/custom-function-calls).
## Dynamic Caller Identification
* Bolna Voice AI agents can now dynamically identify incoming callers in real time via:
1. using [your internal APIs](/customizations/identify-incoming-callers#1-internal-api-integration-real-time-lookup) which returns records mapped to a phone number,
2. using uploaded [CSV files](/customizations/identify-incoming-callers#2-csv-uploads) or
3. using publicly linked [Google Sheets](/customizations/identify-incoming-callers#3-google-sheets-integration).
## Azure Transcriber Support
* Added Azure's transcriber models for speech to text.
## Improvements
* Infrastructure changes & updates to improve initial conversational latencies.
## Bolna Status Page Launch
* Launched the [Bolna Status page](https://status.bolna.ai) where you can track real-time system updates, maintenance notices, and any ongoing outage updates.
## Bug fixes
* Bolna Voice AI agents will now have the context about current `timestamp` & `timezone` automatically by default which can be used. This helps the agent compute times accurately based on your local setting.
* This can be [overridden](/using-context#injecting-current-time) by passing the `timezone` as well.
# Bolna AI Updates for March, 2026
Source: https://www.bolna.ai/docs/changelog/march-2026
Explore the latest features, improvements, and API updates introduced in March 2026 for Bolna Voice AI agents.
## Multilingual Knowledge Base Support
Knowledge bases now support **multilingual** language mode. When creating a knowledge base, set `language_support` to `multilingual` to enable cross-lingual retrieval across 100+ languages.
This enables:
* Uploading documents in any language (Hindi, Spanish, French, etc.)
* Cross-lingual retrieval — query in one language, retrieve from documents in another
Set the `language_support` parameter via the [Create Knowledgebase API](/api-reference/knowledgebase/create) or through the dashboard when adding a new knowledge base.
Read more in the [Knowledge Base documentation](/getting-started/knowledge-base#multilingual-knowledge-bases).
## Provision to purchase 140 & 160 series phone numbers
Bolna agents can now be triggered with 140 & 160 series phone numbers to comply with TRAI regulations.
Read about procuring these phone numbers on [Purchase special phone numbers documentation](/obtaining-regulated-phone-numbers).
# Bolna AI Updates for May, 2025
Source: https://www.bolna.ai/docs/changelog/may-2025
Explore the latest features, improvements, and API updates introduced in May 2025 for Bolna Voice AI agents.
## Latency Improvements for Azure TTS
* We've optimized our Azure TTS integration for significantly lower end-to-end latency, resulting in faster voice generation and snappier response times for live calls.
## Smallest.ai Lightning-v2 TTS Support
* Added support for Smallest.ai's latest `lightning-v2` TTS model for Bolna AI voice agents.
## Extended Call Duration Limit
* Extended maximum call duration to 40 minutes, allowing for longer interviews or conversations without interruption.
## Azure OpenAI Model Updates
* Added support for the following Azure OpenAI clusters:
1. `gpt-4.1` Azure OpenAI
2. `gpt-4.1-mini` Azure OpenAI
3. `gpt-4.1-nano` Azure OpenAI
4. `gpt-4o` Azure OpenAI
5. `gpt-4o-mini` Azure OpenAI
6. `gpt-4` Azure OpenAI
## ElevenLabs Multi-Context WebSocket Integration
* Updated ElevenLabs to use [`Multi-Context WebSocket`](https://elevenlabs.io/docs/cookbooks/multi-context-web-socket) for improved latency and fluency.
* The Multi-Context WebSocket greatly improves websocket handling, closures, and session contexts.
## Multilingual Support Expansion
* Bolna now supports over 100+ different languages including English (India), English (United States), English (United Kingdom), and many more.
## Updates
* Users can now top up for **\$1000 USD** in one go.
* Users can now opt for auto recharge.
## Improvements
* Latency improvements across the AI voice call stack.
* Execution pages now support filters and column selections.
## viaSocket Integration
* Added [viaSocket](/integrations#external-integrations) integration with Bolna Voice AI agents.
* Tutorial: Learn how to [create a Bolna API connection with viaSocket](/tutorials/viasocket/create-bolna-api-connection).
## Sarvam TTS Bulbul-v2 Support
* Added [Sarvam TTS](/providers/voice/sarvam) `bulbul-v2` model for Bolna Voice AI agents.
# Bolna AI Updates for November, 2025
Source: https://www.bolna.ai/docs/changelog/november-2025
Explore the latest features, improvements, and API updates introduced in November 2025 for Bolna Voice AI agents.
## Support for AiSensy WhatsApp messaging
Bolna now supports **AiSensy** for sending WhatsApp messages, enabling seamless WhatsApp outreach as part of your workflows and campaigns.
## Configurable Style exaggeration parameter for ElevenLabs
We've added **Style Exaggeration** controls for ElevenLabs voices, allowing you to fine-tune how expressive and stylistic the generated speech sounds.
* Increase exaggeration for more dramatic, expressive delivery.
* Reduce it for a more neutral and natural speaking style.
## Revamped workflows and campaigns
Bolna workflows and campaigns have been refreshed for a smoother build-and-run experience. Follow the step-by-step guide in [this doc](/workflows-and-campaigns#creating-workflows) to create and launch workflows.
* Build multi-step outreach flows with calls, WhatsApp, and email automation.
## Detailed latency metrics for Voice AI calls
Bolna now provides comprehensive latency metrics for every Voice AI call. Learn more in the [latencies](/call-latencies) documentation.
* Monitor and optimize the performance of your conversational AI agents.
* Gain clear visibility into where time is spent across the conversation pipeline.
* Analyze latency using overall averages and percentiles such as P50, P90, and P95.
## We've added new configurable voice parameters for finer control over ElevenLabs TTS output:
* **Similarity Boost** – Adjusts how closely the generated voice matches the original reference voice.
* **Stability** – Controls variation in tone and expression, helping balance naturalness with consistency.
## Voice cloning available for Cartesia `sonic-3` models
* You can now clone your voices using Cartesia's latest `sonic-3` text-to-speech model for the following languages:
| Language | Language code | BCP Format |
| --------- | ------------- | ---------- |
| English | en | bn-IN |
| Bengali | bn | bn-IN |
| Gujarati | gu | gu-IN |
| Hindi | hi | hi-IN |
| Kannada | kn | kn-IN |
| Malayalam | ml | ml-IN |
| Marathi | mr | mr-IN |
| Punjabi | pa | pa-IN |
| Tamil | ta | ta-IN |
| Telugu | te | te-IN |
# Bolna AI Updates for October, 2025
Source: https://www.bolna.ai/docs/changelog/october-2025
Explore the latest features, improvements, and API updates introduced in October 2025 for Bolna Voice AI agents.
## Stop Agent Queued Calls API
* Introducing a new API endpoint to stop all queued calls for a specific agent
* Prevents any pending calls from being executed, giving you better control over agent call management
* Use this endpoint to cancel all calls currently in the queue waiting to be executed
* Useful for scenarios where you need to immediately halt all pending operations for an agent
* Learn more in the [Stop Agent Queued Calls API documentation](/api-reference/agent/v2/stop)
## Unsiloed Document Parser Integration
* Integrated [Unsiloed](https://unsiloed.ai) as the parsing engine for knowledgebase PDFs, alongwith [LlamaParse](https://www.llamaindex.ai/llamaparse) as fallback.
* Significantly improved accuracy for documents with complex tables, forms, and structured data
* Uses UnsiloedHawk OCR engine with semantic layout detection for better text extraction
* High-resolution processing ensures accurate capture of details from charts, diagrams, and small text
* Learn more in the [Knowledgebases documentation](/getting-started/knowledge-base)
## Cartesia Sonic-3-Preview Model Support for Indian multilingual voices
* Added support for Cartesia's latest `sonic-3-preview` text-to-speech model including support for the following languages:
| Language | Language code | BCP Format |
| --------- | ------------- | ---------- |
| English | en | bn-IN |
| Bengali | bn | bn-IN |
| Gujarati | gu | gu-IN |
| Hindi | hi | hi-IN |
| Kannada | kn | kn-IN |
| Malayalam | ml | ml-IN |
| Marathi | mr | mr-IN |
| Punjabi | pa | pa-IN |
| Tamil | ta | ta-IN |
| Telugu | te | te-IN |
* Enhanced voice quality and naturalness for AI voice agents using Cartesia TTS
* The `sonic-3-preview` model delivers improved expressiveness and prosody for conversational AI applications
* Available for all Cartesia TTS integrations in Bolna voice agents
* Learn more in the [Cartesia TTS documentation](/providers/voice/cartesia)
## Exotel Telephony Integration
* Introducing native Exotel integration for Voice AI calling in India and global markets
* Connect your existing Exotel account securely to Bolna for complete control over your telephony infrastructure
* Make outbound AI calls and receive inbound calls using your own Exotel phone numbers
* Support for both dashboard-based calling and programmatic API integration
* Learn more in the [Exotel integration documentation](/exotel)
## Remove Inbound Agent API
* Introducing the ability to programmatically remove and unlink Bolna Voice AI agents from phone numbers
* Use this API to remove the association between an agent and a phone number when the agent is no longer needed for handling inbound calls
* Learn more in the [Remove Inbound Agent API documentation](/api-reference/inbound/unlink)
## RAG Performance & Accuracy Improvements
* **ONNX-optimized reranking**: Sub-second query times with parallel execution for faster, more accurate document retrieval
* **MPNet embeddings**: Switched to `all-mpnet-base-v2` model for better semantic understanding of user queries
* **Table extraction**: Specialized processor preserves table structure, numeric data, and formatting from PDFs
* **Multi-collection queries**: Agents can now search across multiple knowledgebases simultaneously for comprehensive context
* Learn more in the [Knowledgebases documentation](/getting-started/knowledge-base)
## Sub-account Deletion API
* Introducing the ability to programmatically delete sub-accounts and all their associated data through the API
* The Sub-account Deletion API enables better account lifecycle management by allowing you to:
* Remove test or development sub-accounts that are no longer needed
* Clean up sub-accounts for clients who have churned or ended their service
* Maintain a clean organizational structure by removing inactive sub-accounts
* When a sub-account is deleted, **ALL** associated data is permanently removed, including:
* All agents configured under that sub-account
* All batch calling data and records
* All execution history and call logs
* All configurations and settings
* Learn more in the [Sub-account Deletion API documentation](/api-reference/sub-accounts/delete)
# Bolna AI Updates for September, 2025
Source: https://www.bolna.ai/docs/changelog/september-2025
Explore the latest features, improvements, and API updates introduced in September 2025 for Bolna Voice AI agents.
## Phone Number Compliance Application Requirement
* Introduced mandatory compliance application process for purchasing phone numbers on Bolna platform
* Users must now submit business verification documents before purchasing dedicated phone numbers:
* CIN (Corporate Identification Number) certificate
* GST registration details and certificate
* One-time application with 12-24 hour review process
* Enhanced security and regulatory compliance for telecommunications services
* Learn more:
* [Compliance Requirements Overview](/compliance-application/introduction) - Understand why compliance is required and what documents you need
* [Step-by-Step Submission Guide](/compliance-application/how-to-submit-guide) - Complete walkthrough of the application process
## Added Anthropic support for LLM
* Support for the following [Anthropic](/providers/llm-model/anthropic) models. Learn more about Anthropic models from their [official website](https://www.anthropic.com).
1. `claude-sonnet-4`
## Added Sarvam and AssemblyAI transcriber support
* [Sarvam](/providers/transcriber/sarvam) transcriber for Speech to Text (STT) capabilities with 11 Indian languages including English, Hindi, Bengali, Tamil, Telugu, Kannada, Malayalam, Marathi, Gujarati, Punjabi, and Odia.
* [AssemblyAI](/providers/transcriber/assemblyai) transcriber for Speech to Text (STT) capabilities with real-time English streaming capabilities
## Concurrency model at sub-account scope
* Concurrency limits can now be configured at the sub-account level, allowing multiple calls or batches to run in parallel instead of being queued one after another. See how to configure concurrency when creating a sub-account in the ([API doc](/api-reference/sub-accounts/create))
## Batch Webhook Notifications
* Users can now attach a webhook URL to a batch at upload time. When the batch status changes — `processed`, `scheduled`, `queued`, `running`, `completed` or `stopped`, webhook updates will be sent automatically to track the progress of batches in real time.
## Voice AI Agents Template Library
The Voice AI Agents library now includes the following pre-built template agents to help you get started quickly with Bolna Voice AI:
* [Recruitment Voice AI agent](/voice-agents/recruitment-agent)
* [Customer Support Voice AI agent](/voice-agents/customer-support-agent)
* [Cart Abandonment Voice AI agent](/voice-agents/cart-abandonment-agent)
* [Lead Qualification Voice AI agent](/voice-agents/lead-qualification-agent)
* [Onboarding Voice AI agent](/voice-agents/onboarding-agent)
* [Front Desk Voice AI agent](/voice-agents/front-desk-agent)
* [COD Confirmation Voice AI agent](/voice-agents/cod-confirmation-agent)
* [Announcements Voice AI agent](/voice-agents/announcements-agent)
* [Reminders Voice AI agent](/voice-agents/reminders-agent)
* [Surveys Voice AI agent](/voice-agents/surveys-agent)
* [Property Tech Voice AI agent](/voice-agents/property-tech-agent)
* [Dentist Appointment Voice AI agent](/voice-agents/dentist-appointment-agent)
* [Salon Booking Voice AI agent](/voice-agents/salon-booking-agent)
* [Weekend Planner Voice AI agent](/voice-agents/weekend-planner-agent)
* [Sales Credit Card Voice AI agent](/voice-agents/sales-credit-card-agent)
* [Sales Loans Voice AI agent](/voice-agents/sales-loans-agent)
## API Updates
* Cumulative view of all sub-account usage ([API doc](/api-reference/sub-accounts/all_usage))
## API Updates
* Outbound calls in `queued` or `scheduled` state can be stopped before executions ([API doc](/api-reference/calls/stop_call))
## Passing headers in Custom Function tools
* Passing custom `headers` is now supported on [function tooling](/tool-calling/custom-function-calls).
# Clone Your Voice
Source: https://www.bolna.ai/docs/clone-voices
Clone your voice with Bolna AI. Upload a short sample to create lifelike custom voices and personalize your AI agents with any licensed voice.
## What is Voice Cloning?
Create custom AI voices by uploading a short audio sample (1-2 minutes) of any voice you have rights to use. Perfect for brand consistency, personalized customer experiences, or using specific voice talent across all your agents.
Use the same voice across all customer touchpoints
Create unique voices for different agent personas
***
## How to Clone a Voice
Navigate to [Voice Lab](https://platform.bolna.ai/voices) and click **"Clone Voices"**
Choose your voice cloning provider: **ElevenLabs** or **Cartesia**
Enter a **name** and **description** to identify your voice when building agents
Upload a high-quality audio file (MP3, WAV) that is **1-2 minutes** long
Click **"Clone Voice"** and wait for processing. Your new voice will appear in Voice Lab!
For best results, use clean audio with **no background noise** and only the voice you want to clone.
***
## Next Steps
Import custom voices from your voice provider
Configure voice settings in the Playground
Set up multilingual agents with custom voices
Access your cloned voices
# Submit Phone Number Compliance Application
Source: https://www.bolna.ai/docs/compliance-application/how-to-submit-guide
Bolna phone number compliance guide: step-by-step submission process, 12–24h review, and troubleshooting for fast approval.
Before submitting, make sure you understand the [compliance requirements](/compliance-application/introduction) including required documents (CIN certificate, GST registration) and data privacy policies.
## How to Submit Your Compliance Application
Visit the [Compliance Application page](https://platform.bolna.ai/account?tab=compliance) on your Bolna dashboard and click the **"Create a new Application"** button to initiate the process.
Enter your complete information:
* **First Name**: Your legal first name
* **Last Name**: Your legal last name
* **Company Name**: Your registered business name
Click the **"Drag and drop your file here, or click to browse"** area under the CIN Certificate section.
Select your CIN certificate PDF file (must be under 10 MB). The file will be uploaded automatically.
Provide your complete GST number in the format provided by your tax authority (e.g., `ABCDEFGHIJKL1234`).
Click the upload area under the GST File section and select your GST registration certificate or proof of registration (PDF format, maximum 10 MB).
Double-check all information and uploaded documents for accuracy. Once you're satisfied, click **"Create Application"** to submit your compliance application for review.
## Application Review Process
After submitting your compliance application:
1. **Initial Review**: Our compliance team will review your application within 12-24 business hours
2. **Verification**: We verify the authenticity of your documents with relevant authorities
3. **Approval Notification**: You'll receive an email notification once your application is approved
4. **Start Purchasing**: After approval, you can immediately start [purchasing phone numbers](/buying-phone-numbers)
If additional information is required, our team will contact you via email. Please monitor your inbox and respond promptly to avoid delays.
## Common Issues and Solutions
Ensure your file meets these requirements:
* File format is PDF
* File size is under 10 MB
* File is not corrupted or password-protected
If issues persist, try converting your document to PDF using a different tool or compressing it to reduce file size.
The CIN (Corporate Identification Number) certificate is required for registered companies. If you're:
* **A registered company**: Contact your country's corporate registry to obtain a copy
If your GST registration is still being processed, please wait until you receive your official GST certificate before submitting the compliance application. You can still explore Bolna's features using our demo numbers.
Most applications are reviewed within 12-24 business hours. Complex cases requiring additional verification may take up to 2 business days. You'll receive email updates throughout the process.
Once submitted, you cannot directly edit your application. If you need to make changes or correct errors, contact our support team at [support@bolna.ai](mailto:support@bolna.ai) with your application details.
If your application is rejected, you'll receive an email explaining the reason. Common reasons include:
* Unclear or illegible documents
* Mismatched information
* Invalid or expired certificates
You can resubmit your application with corrected documents.
## Next Steps
After your compliance application is approved:
1. **Purchase Phone Numbers**: Browse and [buy dedicated phone numbers](/buying-phone-numbers) for your Voice AI agents
2. **Make Outbound Calls**: Start [making outbound calls](/making-outgoing-calls) using your purchased numbers
3. **Receive Inbound Calls**: Set up your agents to [handle incoming calls](/receiving-incoming-calls)
4. **Scale Your Operations**: Explore [batch calling](/batch-calling) for high-volume campaigns
***
## Related Resources
Learn about compliance requirements, required documents, and data security
Buy dedicated phone numbers after compliance approval
Use your purchased numbers for outbound calling
Frequently asked questions about Bolna Voice AI
# Phone Number Compliance Requirements for India - Bolna AI
Source: https://www.bolna.ai/docs/compliance-application/introduction
Understand India phone number compliance requirements for Bolna AI. Learn about the required documents like CIN certificate, GST, and data security standards.
## Overview
Before purchasing phone numbers on Bolna, all users must submit a compliance application. This regulatory requirement ensures proper verification and compliance with telecommunications regulations in your region.
The compliance application is a one-time requirement. Once approved, you can purchase multiple phone numbers without resubmitting your documents.
## Why Compliance is Required
Telecommunications regulations require phone number providers to verify the identity and legitimacy of businesses using phone numbers for commercial purposes. This helps:
* **Prevent fraud and abuse**: Ensures phone numbers are used by verified businesses
* **Regulatory compliance**: Meets requirements set by telecommunications authorities
* **Protect customers**: Maintains trust and security in voice communications
* **Support legitimate businesses**: Enables compliant companies to operate confidently
## Required Documents
To complete your compliance application, you'll need to prepare the following documents:
### 1. Personal Information
* **Full Name**: Your complete first and last name as it appears on official documents
* **Company Name**: Your registered business or organization name
### 2. CIN Certificate (Corporate Identification Number)
* **File Format**: PDF only
* **File Size**: Maximum 10 MB
* **Requirements**:
* Official CIN certificate issued by your country's corporate registry
* Must be clear and legible
* Should contain your company's registration details
The CIN certificate is issued by the Ministry of Corporate Affairs (or equivalent regulatory body) when you register your company. If you don't have a digital copy, you can scan or photograph the original document and convert it to PDF.
### 3. GST Registration
* **GST Number**: Your Goods and Services Tax registration number
* **GST File**:
* File Format: PDF only
* File Size: Maximum 10 MB
* Requirements: GST registration certificate or proof of registration
Ensure your GST number matches exactly with your GST certificate. Any mismatch may delay the approval process.
## Data Privacy and Security
Your compliance documents are handled with the highest standards of security:
* **Encrypted Storage**: All uploaded documents are encrypted at rest and in transit
* **Limited Access**: Only authorized compliance team members can access your documents
* **Regulatory Compliance**: We comply with data protection regulations including GDPR
* **Secure Deletion**: Documents are securely deleted after the regulatory retention period
We never share your compliance documents with third parties except as required by law or regulatory authorities.
## Ready to Submit Your Application?
Now that you understand the compliance requirements, follow our detailed step-by-step guide to submit your application:
Complete walkthrough of the submission process, review timeline, and troubleshooting common issues
## Need Help?
If you have questions about the compliance requirements or need assistance:
* **Email Support**: [support@bolna.ai](mailto:support@bolna.ai)
* **Documentation**: Visit our [FAQ page](/frequently-asked-questions)
* **Schedule a Call**: [Book a consultation](https://www.bolna.ai/meet) with our team
***
## Related Resources
Step-by-step guide to buying phone numbers after compliance approval
Learn how to use your purchased numbers for outbound calling
Set up inbound call handling with your Voice AI agents
Frequently asked questions about Bolna Voice AI
# Import agents
Source: https://www.bolna.ai/docs/copy-import-agent
Import Bolna Voice AI agent templates for instant deployment. Clone & customize pre-built conversational workflows for support, lead gen, booking & more.
# Detect and switch multilingual languages in Bolna Voice AI
Source: https://www.bolna.ai/docs/customizations/auto-switch-multilingual-messages
Learn how Bolna Voice AI automatically detects conversation language and switches system messages to match the user's preferred language.
## Overview
Bolna Voice AI includes built-in language detection that automatically identifies the language your users speak and adapts system messages accordingly. This feature ensures a seamless multilingual experience by analyzing conversation patterns and switching predefined messages to match the detected language.
When a user speaks in English, Hindi, Tamil, or any other supported language, Bolna detects this and automatically delivers system messages in that language, creating a more natural and personalized conversation flow.
## How detection works
Bolna's language detection activates after 3 conversation turns. During these initial turns, the system collects and analyzes user transcripts to identify the dominant language being spoken. This approach ensures accurate detection by gathering enough conversational context before making a language determination, while still being fast enough to adapt early in the call.
Once the dominant language is identified, Bolna automatically switches all configured system messages to match that language for the remainder of the conversation.
## Supported message types
Language detection currently affects three types of system messages that can be configured with multilingual variants:
### 1. User online check message
When the agent needs to check if the user is still on the call after a period of silence, it sends a "is user online" message. You can configure this message in multiple languages, and Bolna will automatically select the appropriate version based on the detected conversation language.
```json theme={"system"}
{
"check_user_online_message": {
"en": "Hey, are you still there?",
"hi": "क्या आप अभी भी वहाँ हैं?",
"ta": "வணக்கம், நீங்கள் இன்னும் இணைப்பில் இருக்கிறீர்களா?",
"bn": "নমস্কার, আপনি কি এখনও লাইনে আছেন?"
...
}
}
```
### 2. Call hangup message
When the agent ends a call, it can deliver a closing message in the user's language. Configure multilingual variants to ensure users receive a natural farewell in their preferred language.
```json theme={"system"}
{
"call_hangup_message": {
"en": "Thank you for calling. Goodbye!",
"hi": "कॉल करने के लिए धन्यवाद। अलविदा!",
"bn": "কলটি এখন কেটে যাবে। ধন্যবাদ এবং নমস্কার!",
...
}
}
```
### 3. Function tool calls
When the agent executes a custom tool or API call, it typically plays a brief message to let the user know to wait. This message can also be configured in multiple languages.
```json theme={"system"}
{
...
...
"pre_call_message": {
"en": "Just give me a moment, I'll be back with you.",
"hi": "कृपया थोड़ा समय दीजिए, मैं पता करके बताता हूँ।",
...
...
}
...
...
}
```
## Language fallback behavior
When selecting a message, Bolna follows this fallback logic: it first attempts to use the message in the detected language, then falls back to English (`en`) if the detected language is not available, and finally uses the first available language in the configuration if neither is found.
This ensures your agent always has a message to deliver, even if you haven't configured all possible language variants.
## Supported languages
Language detection supports all Indian languages available in Bolna, identified by their ISO 639-1 codes. Common codes include `en` for English, `hi` for Hindi, `bn` for Bengali, `ta` for Tamil, `te` for Telugu, `mr` for Marathi, `gu` for Gujarati, `kn` for Kannada, `ml` for Malayalam, `pa` for Punjabi, and many more.
For a complete list of supported languages, see the [multilingual language support](/customizations/multilingual-languages-support) documentation.
## Best practices
When implementing multilingual messages, ensure all your configured languages have consistent message variants to provide a uniform experience. Keep messages concise and culturally appropriate for each language rather than using direct translations. Test your agent with native speakers of each language to verify the messages sound natural.
## Related documentation
* [Multilingual language support](/customizations/multilingual-languages-support) - Complete list of supported languages
* [Writing prompts in non-English languages](/guides/writing-prompts-in-non-english-languages) - Best practices for multilingual prompts
* [Custom tools configuration](/tool-calling/custom-function-calls) - Configure pre-call messages for API tools
# Capturing precise transcripts in Bolna Voice AI
Source: https://www.bolna.ai/docs/customizations/capturing-precise-transcripts
Bolna Voice AI enables to capture actual transcripts when the conversations involve interruptions to improve call accuracy and experience.
## Overview
Bolna AI incorporates an **advanced interruption handling** mechanism that ensures accurate and contextually relevant transcripts during voice agent interactions.
This feature is currently in beta. Please use it with caution.
When a user interrupts the AI agent mid-conversation, rather than logging the full transcript generated by Large Language Models (LLMs), Bolna intelligently computes the actual transcript by filtering out incomplete or overridden responses. This enhances clarity, ensuring that only the final, meaningful exchange is stored, processed and used for the conversations.
## How It Works
Bolna AI’s interruption handling system functions through a three-step process:
* **Detection of Interruptions**: The system continuously monitors speech input to detect when the user starts speaking while the Voice agent is still speaking.
* **Contextual Computation**: Whenever an interruption is detected, Bolna AI determines whether the user’s input should overrides the Voice agent's response.
* **Final Transcript Adjustment**: Bolna then reconstructs the conversation transcript to exclude everything after the interruption, ensuring that only the final & meaningful parts of the dialogue are retained, processed and used for further processing.
## Example
| Without precise transcript generation | Using precise transcript generation |
| ------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------- |
| **Assistant:** "Hello, Thank you for calling Wayne Enterprises. How can we help you today?" | **Assistant:** "Hello, Thank you for calling Wayne Enterprises. How can we help you today?" |
| **User:** "hello" | **User:** "hello" |
| **Assistant:** "Hello! How can I assist you today?" | **Assistant:** "Hello! How can I ~~assist you today?~~" |
| **User:** "yeah where are you calling from" | **User:** "yeah where are you calling from" |
| **Assistant:** "I'm here to support you regarding your recent order from Wayne Enterprises. How can I assist you?" | **Assistant:** "I'm here to support you regarding your recent order ~~from Wayne Enterprises. How can I assist you?~~" |
| **User:** "yeah i'm facing an issue with the item i purchased" | **User:** "yeah i'm facing an issue with the item i purchased" |
| ... | ... |
In the above example, the strikethrough text is only for representation purposes. In practice, you'll see only the transcripts till the interruptions if the `precise transcript generation` is `enabled`.
## Conclusion
Bolna AI’s interruption handling feature ensures that conversation transcripts reflect actual user intent rather than an unfiltered log of AI responses. By dynamically computing the actual transcript, this feature enhances the efficiency of voice AI applications, making conversations more human-like and structured.
# Dynamically identify incoming callers
Source: https://www.bolna.ai/docs/customizations/identify-incoming-callers
Use Bolna Voice AI agents to identify callers in real time via API, CSV, or Google Sheets and personalize calls with automatic user data injection.
## What is Caller Identification?
Link your inbound phone numbers to custom data sources. When a call comes in, your Bolna Voice AI agent automatically identifies the caller, matches their number, and pulls in relevant details like name, address, preferences, past history, or any data you provide.
This data is seamlessly injected into the agent's prompt, making every interaction personalized and contextual.
***
## Data Source Options
**Best for:** Teams with existing databases or CRM systems.
Provide an API endpoint that accepts the caller's phone number. Bolna automatically sends the following parameters:
| Parameter | Description |
| ---------------- | ------------------------------- |
| `contact_number` | Incoming caller's phone number |
| `agent_id` | Agent handling the call |
| `execution_id` | Unique identifier for this call |
**Example request:**
```
GET https://api.your-domain.com/api/customers?contact_number=+19876543210&agent_id=06f64cb2-...&execution_id=c4be1d0b-...
```
The returned JSON data is automatically merged into the AI prompt before the call begins.
* The endpoint must be a **GET** endpoint
* Supported authentication: **Bearer Token**
**Best for:** Smaller teams who prefer simple, no-code data management.
Upload a CSV file with `contact_number` column (phone numbers with country code) and associated user info. Bolna automatically looks up the incoming number and injects matching row data into the prompt.
```csv theme={"system"}
contact_number,first_name,last_name
+11231237890,Bruce,Wayne
+91012345678,Bruce,Lee
+00021000000,Satoshi,Nakamoto
+44999999007,James,Bond
```
**Best for:** Real-time sync with spreadsheet simplicity.
Link a **publicly accessible** Google Sheet with user data. Bolna auto-syncs and looks up the incoming number to pull the latest data. No re-uploads needed.
| contact\_number | first\_name | last\_name |
| --------------- | ----------- | ---------- |
| +11231237890 | Bruce | Wayne |
| +91012345678 | Bruce | Lee |
| +00021000000 | Satoshi | Nakamoto |
| +44999999007 | James | Bond |
Your Google Sheet can be updated at any time. Bolna agents automatically pick up the latest data in real time.
***
## Related Features
Configure inbound calling for your agents
Pass dynamic data to personalize conversations
Route inbound calls with IVR menus
# Multilingual Language Support in Bolna
Source: https://www.bolna.ai/docs/customizations/multilingual-languages-support
Discover how Bolna Voice AI supports multiple languages. Enable global interactions with multilingual capabilities tailored to your audience.
## How does multilingual support work in Bolna?
Bolna Voice AI supports 50+ languages and language combinations, enabling you to deploy voice agents globally. Language support is integrated across all components: [speech-to-text transcription](/providers/transcriber/deepgram), [LLM processing](/providers/llm-model/openai), and [voice synthesis](/providers/voice/elevenlabs).
## Which languages are supported?
| Language | Language code | BCP Format |
| ------------------------ | ------------- | ---------- |
| Arabic | ar | ar-AE |
| Bengali | bn | bn-IN |
| Bulgarian | bg | bg-BG |
| Catalan | ca | ca-ES |
| Czech | cs | cs-CZ |
| Danish | da | da-DK |
| Dutch | nl | nl-NL |
| English (Australia) | en-AU | en-AU |
| English + French | multi-fr | multi-fr |
| English + German | multi-de | multi-de |
| English + Hindi | multi-hi | multi-hi |
| English (India) | en-IN | en-IN |
| English (New Zealand) | en-NZ | en-NZ |
| English + Spanish | multi-es | multi-es |
| English (United Kingdom) | en-GB | en-GB |
| English (United States) | en | en-US |
| Estonian | et | et-EE |
| Finnish | fi | fi-FI |
| Flemish | nl-BE | nl-BE |
| French | fr | fr-FR |
| French (Canada) | fr | fr-CA |
| German | de | de-DE |
| German (Switzerland) | de-CH | de-CH |
| Greek | el | el-GR |
| Gujarati | gu | gu-IN |
| Hindi | hi | hi-IN |
| Hungarian | hu | hu-HU |
| Indonesian | id | id-ID |
| Italian | it | it-IT |
| Japanese | ja | ja-JP |
| Kannada | kn | kn-IN |
| Khmer (Cambodia) | km | km-KH |
| Korean | ko | ko-KR |
| Latvian | lv | lv-LV |
| Lithuanian | lt | lt-LT |
| Malay | ms | ms-MY |
| Malayalam | ml | ml-IN |
| Marathi | mr | mr-IN |
| Norwegian | no | nb-NO |
| Polish | pl | pl-PL |
| Portuguese (Brazil) | pt-BR | pt-BR |
| Portuguese (Portugal) | pt | pt-PT |
| Punjabi (India) | pa | pa-IN |
| Romanian | ro | ro-RO |
| Russian | ru | ru-RU |
| Slovak | sk | sk-SK |
| Spanish | es | es-ES |
| Swedish | sv | sv-SE |
| Tamil | ta | ta-IN |
| Telugu | te | te-IN |
| Thai | th | th-TH |
| Turkish | tr | tr-TR |
| Ukrainian | uk | uk-UA |
| Vietnamese | vi | vi-VN |
## How to write effective prompts for multilingual agents?
We've put together a comprehensive guide outlining best practices and recommendations with example prompts, along with common mistakes to avoid. Review the [guide for writing prompts in non-english languages](/guides/writing-prompts-in-non-english-languages) to ensure your multilingual agents perform optimally.
## Multilingual Knowledge Bases
If your agent uses knowledge bases with non-English documents, enable **multilingual** language support when creating the knowledge base. This supports 100+ languages, allowing your agent to retrieve relevant information regardless of document or query language.
Learn more in the [Knowledge Base documentation](/getting-started/knowledge-base#multilingual-knowledge-bases).
***
## Next steps
Ready to deploy multilingual agents? Explore related features:
* Browse [multilingual agent templates](/agents-library) like the Cart Abandonment Agent (English + Hindi)
* Configure [voice providers](/providers/voice/elevenlabs) that support your target languages
* Set up [transcribers](/providers/transcriber/deepgram) with multi-language support
* Use [context variables](/using-context) to personalize conversations in any language
For global deployments, consider the [Enterprise Plan](/enterprise/plan) with priority support for multilingual use cases.
# Using Custom LLMs with Bolna Voice AI
Source: https://www.bolna.ai/docs/customizations/using-custom-llm
Integrate custom large language models (LLMs) into Bolna Voice AI to enhance agent capabilities and tailor responses to your unique requirements
We expect your custom LLM to be an OpenAI compatible server.
* [https://platform.openai.com/docs/api-reference/chat/create](https://platform.openai.com/docs/api-reference/chat/create)
* [https://platform.openai.com/docs/api-reference/chat/streaming](https://platform.openai.com/docs/api-reference/chat/streaming)
## Adding your Custom LLM using dashboard
1. Click on LLM select dropdown as shown in the image
2. From the dropdown click on `Add your own LLM`.
3. A dialog box will be displayed. Fill in the following details:
* `LLM URL`: the endpoint of your custom LLM
* `LLM Name`: a name for your custom LLM
click on `Add Custom LLM` to connect this LLM to Bolna
4. **Refresh the page**
5. In the LLM settings tab, choose `Custom` in the first dropdown to select LLM Providers
6. In the LLM settings tab, you'l now see your custom LLM model name appearing. Select this and save the agent.
**Using the above steps will make sure the agent uses your Custom LLM URL**.
## Demo video
Here's a working video highlighting the flow:
# Terminate Bolna Voice AI calls
Source: https://www.bolna.ai/docs/disconnect-calls
Optimize call lengths with Bolna Voice AI by setting duration limits. Automatically terminate calls exceeding limits for better resource management.
## What are Call Duration Limits?
Bolna Voice AI lets you set a maximum call duration (in seconds) for automatic termination. Once the limit is reached, the call ends automatically, providing a safety net against unexpectedly long calls.
***
## Why Set Duration Limits?
Prevent unexpectedly long calls from consuming credits
Ensure fair allocation of concurrent call capacity
Protect against edge cases where calls do not end naturally
Better forecast and manage calling expenses
Learn more about [call pricing](/pricing/call-pricing) and [outbound calling concurrency](/outbound-calling-concurrency).
***
## Compatibility
| Call Type | Support |
| -------------- | ----------------- |
| Outbound calls | ✓ Fully supported |
| Inbound calls | ✓ Fully supported |
***
## Duration Limits vs. Hangup Prompts
| Feature | Duration Limits | Hangup Prompts |
| ----------------- | --------------------------------- | ----------------------------------- |
| **Trigger** | Hard time-based cutoff | Context-aware conversation analysis |
| **Accuracy** | 100%, always triggers at set time | Prompt-dependent, may need tuning |
| **Use case** | Safety net for runaway calls | Natural, intelligent call endings |
| **Configuration** | Set duration in seconds | Write a custom evaluation prompt |
**Use both together** for optimal call management: hangup prompts for natural conversation endings, and duration limits as a safety net to prevent runaway calls.
***
## Related Features
Configure silence detection and hangup prompts
Monitor the full lifecycle of your calls
Understand call termination reasons
# Bolna AI Data residency
Source: https://www.bolna.ai/docs/enterprise/data-residency
Bolna AI India data residency for enterprises: store & process voice AI data in India with compliance, privacy & ultra-low latency.
## Overview
Bolna AI now supports data residency in India (IN) for customers who require their data to be stored and processed within Indian jurisdiction.
By default, all Bolna AI services operate in United States (US)‑hosted infrastructure, but customers on enterprise plans can choose to have their data processed exclusively in India.
This feature helps organizations meet local compliance, privacy, and sovereignty requirements while continuing to benefit from Bolna’s real‑time AI capabilities.
Data residency is an Enterprise feature. Please reach out to us at [enterprise@bolna.ai](mailto:enterprise@bolna.ai) or schedule a call [https://www.bolna.ai/meet](https://www.bolna.ai/meet) for more information.
## What’s Included
When you select India (IN) as your data residency location:
* **Storage**: All customer audio, transcripts, logs, and configurations are stored on secure infrastructure physically located in India.
* **Processing**: All inference, transcription, and response generation happens within Indian borders.
## When to Use India Data Residency
India‑based data residency is recommended if you:
* Are subject to Indian data localization laws or work in regulated industries like banking, government, healthcare, or telecom.
* Want to ensure all processing and storage remain inside Indian borders for privacy or competitive reasons.
* Need to meet contractual obligations with Indian clients regarding data handling.
# Bolna AI On-Prem for Enterprise
Source: https://www.bolna.ai/docs/enterprise/on-premise-deployments
Discover Bolna Enterprise solutions for large-scale businesses, offering scalable Voice AI agents, advanced integrations, and custom seamless solutions.
**Bolna AI On-Prem** empowers your organization to deploy our best-in-class voice AI infrastructure. It is fully containerized and runs entirely within your cloud or data center. Designed for high-security, high-performance workloads, it's ideal for industries with stringent data requirements.
Please reach out to us at [enterprise@bolna.ai](mailto:enterprise@bolna.ai) or schedule a call [https://www.bolna.ai/meet](https://www.bolna.ai/meet) for more information about Bolna On-Premise deployments.
## Deployment Anywhere, Full Control
* Deploy **dockerized containers** or use **Kubernetes** across any cloud or on-prem environment.
* Supports deployment on **your own servers** fully leveraging your existing infrastructure.
* Choose your preferred region and provider (AWS, GCP, Azure, bare metal, private cloud).
## Data Privacy & Compliance
* **Complete data sovereignty**: All audio, requests, logs and transcripts remain within your environment. Nothing is sent to Bolna's servers. This ensurs compliance with healthcare, financial, and legal regulations.
* Regular performance and usage metrics are securely sent to Bolna cloud solely for billing and system optimizations.
* Full audit logs for monitoring all outbound activity, giving your security team complete visibility.
## Performance, Scalability & Reliability
* Achieve **ultra-low latency** by co-locating inference with your existing application stack.
* Scale horizontally and separate API and websocket containers, and auto-scale based on demand.
## Enterprise-Grade Operations
* Fully compatible with Bolna APIs, without any changes to your integration. You can simply point to your self-hosted endpoint.
# Bolna AI On-Prem guide for Enterprises
Source: https://www.bolna.ai/docs/enterprise/on-premise-instructions
Learn how to self-host Bolna Voice AI on your own servers using Docker or Kubernetes for secure, private, and scalable enterprise deployments.
Please reach out to us at [enterprise@bolna.ai](mailto:enterprise@bolna.ai) or schedule a call [https://www.bolna.ai/meet](https://www.bolna.ai/meet) for the Docker images and pricing info.
## 1. Introduction
### Why on-premise?
Deploying Voice AI infrastructure on your own server (on-premises or self-managed cloud infrastructure) instead of relying entirely on third-party SaaS solutions has several strategic, technical, and operational advantages, especially for companies focused on privacy, control, and performance.
### Security
With an on-premises deployment, all data remains within your corporate network, ensuring enhanced security as it is not transmitted over the Internet. This setup helps in complying with strict data privacy and protection regulations.
### Components
### Prerequisites
**Docker**: Install Docker on your system to manage the containerized application.
```bash theme={"system"}
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo \"$VERSION_CODENAME\") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
# Install the latest version of Docker
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# Verify Docker is running
sudo docker run hello-world
# Install Docker Compose plugin
sudo apt install -y docker-compose-plugin
# Verify Docker Compose version
docker compose version
```
**Hardware Specifications**: Storage and compute requirements
* **Instance type**: c6a.xlarge
* **Object storage**: AWS S3
* **Relational Database**: PostgreSQL 16.3, RAM: 8GB+
* **Caching layer**: Redis 7.10, 4GB RAM (Instance type: cache.t4g.medium)
* **Message Queueing Channel**: RabbitMQ 13.13.7, RAM: 8GB (Instance type: mq.m5.large)
## 2. Deployment Environments
This documentation will cover specific instructions and considerations for deploying the services within an AWS environment, ensuring optimal configuration and performance.
## 3. Self-Service Licensing & Credentials
Self-hosting key can be either generated from our dashboard or contact [enterprise@bolna.ai](mailto:enterprise@bolna.ai)
## 4. Deploy All Services
### Login to Bolna's ghcr
```bash theme={"system"}
echo | docker login ghcr.io -u --password-stdin
```
### Pull images
```bash theme={"system"}
docker pull ghcr.io/bolna-ai/api_server:v1
docker pull ghcr.io/bolna-ai/ws_server:v1
docker pull ghcr.io/bolna-ai/telephone_server:v1
docker pull ghcr.io/bolna-ai/q_manager:v1
docker pull ghcr.io/bolna-ai/q_worker:v1
docker pull ghcr.io/bolna-ai/arq_worker:v1
```
### Docker Compose File:
Create a docker-compose.yml File
```bash theme={"system"}
version: '3.8'
services:
api_server:
image: ghcr.io/bolna-ai/api_server:v1
container_name: api_server
ports:
- "5001:5001"
env_file:
- .env
restart: always
telephone_server:
image: ghcr.io/bolna-ai/telephone_server:v1
container_name: telephone_server
ports:
- "8001:8001"
env_file:
- .env
restart: always
q_worker:
image: ghcr.io/bolna-ai/q_worker:v1
container_name: q_worker
ports:
- "5002:5002"
env_file:
- .env
restart: always
q_manager:
image: ghcr.io/bolna-ai/q_manager:v1
container_name: q_manager
ports:
- "5003:5003"
env_file:
- .env
restart: always
ws_server:
image: ghcr.io/bolna-ai/ws_server:v1
container_name: ws_server
ports:
- "5005:5005"
env_file:
- .env
restart: always
arq_worker:
image: ghcr.io/bolna-ai/arq_worker:v1
container_name: arq_worker
env_file:
- .env
restart: always
command: ["arq", "arq_worker.WorkerSettings"]
```
### Start docker compose:
```bash theme={"system"}
docker compose up -d
```
# Managing Your Organization & Team
Source: https://www.bolna.ai/docs/enterprise/organization
Learn how to manage your Bolna organization, invite team members, and configure roles and permissions for secure and efficient voice AI operations.
## Overview
Your Bolna Organization is the central hub for all your voice AI resources. It acts as a top-level container for your team members, voice agents, billing information, API keys, and overall settings. Proper organization management is key to scaling your operations securely and efficiently.
Within an organization, you can manage access for different team members, monitor usage across all your agents, and configure security policies that apply to your entire team.
This is an Enterprise feature.
Please reach out to us at [enterprise@bolna.ai](mailto:enterprise@bolna.ai) or schedule a call [https://www.bolna.ai/meet](https://www.bolna.ai/meet) for more information.
## Managing Team Members
You can invite new members to your organization and assign and edit roles based on their responsibilities. This ensures that team members only have access to the resources they need to perform their jobs.
* **Invite Members**: Organization Admins can invite new users via email from the 'Members' tab in the organization settings.
* **Assign Roles**: Each member is assigned a role that dictates their level of access and permissions within the organization.
* **Edit Roles**: Organization Admins can edit the access level of existing users by selecting the organization role they want to assign to their members.
## Roles and Permissions
Bolna uses a simple two-role system to manage access control within your organization.
* **Admin**: Has full, unrestricted access to the organization. Admins can manage billing, invite or edit member roles, create and delete agents, and manage all API keys. They have complete control over all settings.
* **Member**: Has limited access designed for operational tasks. Members can place calls on existing agents. They can create and manage their own API keys but cannot access API keys belonging to the admin or other members. Members are restricted from performing most delete operations (like deleting agents).
## Editing Existing User Roles
* In order to update existing user roles, click on the Edit Icon for the user you want to edit the organization role of.
* This opens up a dialog box where you can update the role that you want to edit.
## Usage & Billing
The **Billing** tab provides a complete overview of your subscription, plan details, and usage metrics like total call minutes and number of active agents. You can view invoicing history and manage your payment methods here.
The organization's balance is shared across all users. All usage from both Admin and Member accounts is deducted from this single, centralized balance.
## API Keys
Both Admins and Members can generate API keys for programmatic access. However, access is scoped based on role:
* **Admin Keys**: Have full permissions and can perform any action via the API.
* **Member Keys**: Are restricted to the same permissions as the Member role. They can be used to call agents but cannot perform most of the delete or edit actions. Members can delete and create their own API Keys while not having access to the admins or other member's keys.
# Bolna AI Enterprise Plan
Source: https://www.bolna.ai/docs/enterprise/plan
Discover Bolna Enterprise solutions for large-scale businesses, offering scalable Voice AI agents, advanced integrations, and custom seamless solutions.
As you build your application on Bolna to solve your use-case, we partner with you throughout the journey - from early concept to enterprise-grade deployment.
## What is included in the Enterprise Plan?
Bolna's Enterprise Plan is built for organizations with high-volume, mission-critical voice needs. It includes:
### Elevated concurrency limits
Scale beyond the default 10 concurrent calls to handle hundreds or thousands of simultaneous conversations based on your needs. Learn more about [outbound calling concurrency](/outbound-calling-concurrency).
### Priority in processing your calls and requests
Enterprise customers skip queues during peak usage, ensuring consistent performance even during high-demand periods.
### Premium Slack support and regular check-ins
Access guaranteed support and a dedicated engineer who understands your use case and can provide proactive assistance.
### Customized volume-based discounts
Competitive pricing that improves as your call volume grows, making enterprise-scale deployments cost-effective. See our [call pricing](/pricing/call-pricing) for standard rates.
## Who should consider the Enterprise Plan?
The Enterprise Plan is ideal for:
* Companies making 10,000+ calls per month
* Organizations requiring guaranteed uptime and SLAs
* Businesses needing dedicated technical support
* Teams building mission-critical voice AI applications
* Companies requiring custom integrations or features
* Organizations with specific data residency requirements ([learn more](/enterprise/data-residency))
## How to get started with Enterprise
Please reach out to us at [enterprise@bolna.ai](mailto:enterprise@bolna.ai) or schedule a call at [https://www.bolna.ai/meet](https://www.bolna.ai/meet) for more information and a customized quote based on your requirements.
# Sub-Accounts for Enterprise Organizations
Source: https://www.bolna.ai/docs/enterprise/sub-accounts
Bolna AI enterprise sub-accounts let you manage multiple customers & teams with full data isolation, unified billing & centralized control.
## Overview
Bolna's Sub-Account feature is designed for enterprise organizations that need to manage multiple customers, business units, or operational environments under a single main account. This powerful organizational tool provides complete data isolation, centralized management, and scalable operations for complex voice AI deployments.
Sub-accounts enable you to create logical boundaries within your account, ensuring that different customers, departments, or projects operate independently while maintaining unified oversight and control.
Sub-accounts is an Enterprise feature.
Please reach out to us at [enterprise@bolna.ai](mailto:enterprise@bolna.ai) or schedule a call [https://www.bolna.ai/meet](https://www.bolna.ai/meet) for more information.
## Key Sub-account Advantages
### Complete Data Isolation
* **Customer separation**: Maintain strict boundaries between different customer data and configurations
* **Audit trails**: Comprehensive logging and monitoring for each sub-account independently
### Centralized Management & Control
* **Unified dashboard**: Manage all sub-accounts from a single enterprise control panel
* **Consolidated billing**: Streamlined invoicing and cost allocation across all sub-accounts
* **Resource allocation**: Distribute and monitor usage quotas across sub-accounts
## Primary Use Cases
### Service Providers & Agencies
Transform your voice AI service delivery with enterprise-grade multi-tenancy:
* **Customer isolation**: Each client gets their own environment with dedicated resources
* **Flexible billing**: Accurate cost tracking and billing for each client account
### Large Enterprise Organizations
Organize your voice AI infrastructure across complex organizational structures:
* **Department separation**: Sales, support, marketing, and operations teams get isolated environments
* **Regional management**: Separate voice AI deployments by geographic regions or markets
* **Product line organization**: Different products or services get dedicated sub-accounts
* **Subsidiary management**: Manage voice AI for multiple company subsidiaries independently
### Development & Testing Teams
Maintain clean separation between different environments and projects:
* **Environment isolation**: Separate development, staging, and production deployments
* **Team collaboration**: Multiple teams work on isolated projects without interference
* **Feature testing**: Test new voice AI capabilities without affecting production systems
* **A/B testing**: Run parallel experiments with completely isolated data sets
### Compliance-Heavy Industries
Meet strict regulatory and compliance requirements:
* **Healthcare**: Separate patient data and HIPAA-compliant voice AI deployments
* **Financial services**: Isolated environments for different financial products or regions
* **Government**: Secure, compliant voice AI for different agencies or departments
* **Legal**: Client-specific environments with strict confidentiality requirements
## Managing Sub Accounts
### Creation
Sub-accounts are managed by the [Organization](/enterprise/organization), consisting of Admins or Member Users.
### API Keys & Access
* Sub-accounts themselves cannot generate or manage API keys.
* When a sub-account is created, an associated API key is automatically provisioned.
### Usage & Billing
* Usage can be accessed for [each sub account's usage](/api-reference/sub-accounts/usage) or by [all the sub accounts](/api-reference/sub-accounts/all_usage) across the entire organization.
* Navigate to [Sub-Account Usage](https://platform.bolna.ai/dashboard/subaccounts?tab=usage) to see detailed breakdowns.
* Billing is consolidated at the **organization level**, but with granular visibility into sub-account consumption for accurate cost tracking.
### Roles & Permissions
* Both **Admins and Members** in the organization can create and update sub-accounts.
* Sub-accounts are **not users** — they act as logical containers for agents, call logs, and usage separation.
* Access to sub-account data is scoped by API keys.
### Resource Isolation
* Sub-accounts provide isolation at the **agents and call logs** level.
* Shared resources such as **phone numbers and providers** remain available at the organization level, allowing reuse across multiple sub-accounts.
* This ensures logical boundaries while still enabling efficient resource management.
### Lifecycle Management
* Sub-accounts can be created and updated via the dashboard (beta) or API.
* Updates can be performed by any organization user (Admin or Member).
### Audit & Monitoring
* Sub-accounts maintain independent usage logs, analytics, and call histories.
* These can be viewed centrally by **Admins** using the sub-account’s associated API key or the dashboard.
* This provides enterprise-wide observability while preserving operational separation between environments.
For detailed technical implementation, see our [Sub-Account API Reference](/api-reference/sub-accounts/overview).
Enterprise sub-accounts are designed for organizations with complex operational needs.
Our enterprise team will work with you to design the optimal sub-account architecture for your specific requirements.
# Exotel Integration with Bolna Voice AI
Source: https://www.bolna.ai/docs/exotel
Connect Exotel with Bolna Voice AI for inbound and outbound calling. Configure multilingual phone automation for India & global markets. Complete setup guide.
## Understanding Exotel Integration with Bolna Voice AI
Exotel serves as a powerful telephony infrastructure provider that seamlessly integrates with Bolna's Voice AI platform. This integration enables businesses to deploy intelligent conversational AI agents that can handle both incoming and outgoing phone calls with natural language understanding and multilingual capabilities.
When you connect Exotel to Bolna, you gain full control over your telephony operations while leveraging advanced AI-powered voice automation. The integration allows you to maintain your existing Exotel phone numbers and infrastructure while adding sophisticated AI capabilities for customer engagement, support automation, sales outreach, and appointment scheduling.
## Getting Started with Exotel on Bolna
Configure AI agents to initiate automated phone calls through your Exotel numbers
Set up AI agents to answer and handle inbound calls on your Exotel phone lines
Link your existing Exotel account credentials to Bolna for seamless integration
## Why use Exotel with Bolna?
Exotel offers several advantages:
* **Cost-effective**: Enjoy competitive domestic calling rates tailored for Indian businesses.
* **Reliable infrastructure**: Built on robust Indian telecom networks for high uptime and clear call quality.
* **Pan-India and global reach**: Seamlessly connect with customers across India and in multiple countries.
* **Easy integration**: Set up quickly and integrate effortlessly with the Bolna Voice AI platform.
For high-volume calling needs, consider using [batch calling](/batch-calling) to scale efficiently. Compare Exotel with [Plivo](/plivo) to choose the best provider for your needs.
# Connect Your Exotel Account to Bolna
Source: https://www.bolna.ai/docs/exotel-connect-provider
Securely connect your Exotel account with Bolna. Enable your Voice AI agents to utilize Exotel phone numbers for managing inbound and outbound calls.
## Connecting Your Exotel Account for AI-Powered Calling
Linking your personal or business Exotel account to Bolna gives you complete ownership and control over your telephony infrastructure. Once connected, all voice calls initiated by Bolna's AI agents will route through your Exotel account, utilizing your provisioned phone numbers and billing directly to your Exotel subscription.
This approach ensures transparency in call costs, maintains your existing phone number reputation, and provides full visibility into call analytics through both Bolna and Exotel dashboards.
## Step-by-Step Integration Process
### Step 1: Access the Providers Configuration Panel
Begin by logging into your Bolna platform account and locating the `Providers` section in the left navigation menu. Click the **Exotel connect button** to initiate the account linking process.
### Step 2: Enter Your Exotel Authentication Credentials
You'll need to provide your Exotel API credentials, which include your `API_KEY`, `API_TOKEN`, `ACCOUNT_SID`, `DOMAIN` and `PHONE_NUMBER`. These credentials can be found in your Exotel account dashboard under API settings.
These credentials allow Bolna to securely communicate with Exotel's API on your behalf.
### Step 3: Finalize the Connection
After entering your credentials click the **connect button** to establish the secure link between your Exotel account and Bolna's Voice AI platform. The system will validate your credentials and establish the integration.
### Step 4: Verify Successful Integration
Upon successful connection, you'll receive a confirmation message indicating that your Exotel account is now active on Bolna.
From this point forward, all AI-powered voice calls initiated through Bolna cab be utilized with your Exotel infrastructure, phone numbers, and account balance. You can now configure your AI agents to make outbound calls or handle inbound calls using your Exotel telephony resources.
# Make Outbound Calls with Exotel and Bolna
Source: https://www.bolna.ai/docs/exotel-outbound-calls
Set up & run outbound calling campaigns in India with Bolna Voice AI on Exotel. Follow this step-by-step guide for dashboard setup and seamless API integration.
## Launching Outbound Calls Through the Bolna Dashboard
### Step 1: Access Your Bolna Platform Account
Navigate to [https://platform.bolna.ai](https://platform.bolna.ai) and authenticate using your registered account credentials.
### Step 2: Configure Exotel as Your Telephony Provider
Within your agent configuration settings, select `Exotel` from the available call provider options. This designation tells Bolna to route all outbound calls through Exotel's telephony infrastructure.
### Step 3: Initiate Calls to Your Target Recipients
Enter the phone numbers of your intended call recipients in the designated input field. Bolna will automatically initiate calls through your Exotel connection, engaging with each recipient using the voice agents you've configured.
To utilize your own dedicated Exotel phone numbers for outbound calling, you must first establish a connection between your Exotel account and Bolna. Detailed instructions for linking your Exotel account are available in the [providers configuration guide](/exotel-connect-provider).
## Programmatic Outbound Calling Using Bolna APIs
For developers building custom applications or integrating voice AI into existing systems, Bolna provides comprehensive REST APIs for programmatic call management.
### Step 1: Obtain Your API Authentication Key
1. Generate and save your [Bolna API Key](/api-reference/introduction#steps-to-generate-your-api-key)
### Step 2: Configure Agent with Exotel Provider
When creating or updating your Bolna agent through the [`/create` Agent API](/api-reference/agent/create), specify `exotel` as both the input and output provider within your tools configuration.
```create-agent.json theme={"system"}
...
...
"tools_config": {
"output": {
"format": "wav",
"provider": "exotel"
},
"input": {
"format": "wav",
"provider": "exotel"
},
"synthesizer": {...},
"llm_agent": {...},
"transcriber": {...},
"api_tools": {...}
}
...
...
```
### Step 3: Trigger Outbound Calls Programmatically
Execute the [`/call` API endpoint](api-reference/calls/make) to initiate outbound calls to your target recipients. Include your agent ID and the recipient's phone number in E.164 international format. The API will return a call ID that you can use to track call status and retrieve conversation analytics.
```call.json theme={"system"}
curl --request POST \
--url https://api.bolna.ai/call \
--header 'Authorization: ' \
--header 'Content-Type: application/json' \
--data '{
"agent_id": "fd3d9b56-0742-4a39-aaac-50dec1f37d00",
"recipient_phone_number": "+919876543210"
}'
```
# Frequently Asked Questions
Source: https://www.bolna.ai/docs/frequently-asked-questions
Find answers to common questions about Bolna Voice AI — setup, pricing, APIs, phone numbers, multilingual agents, sub-accounts, and on-premise deployment.
All agents created on Bolna undergo internal compliance and safety checks.
If you see a message such as **“Agent is restricted due to disallowed content. Please review and update it.”**, it means your agent’s configuration or prompt may have triggered a violation of Bolna’s content safety policies.
Disallowed content includes (but is not limited to):
* Political campaigns
* Illegal activities or solicitation
* Scam or fraud-related behavior
* Profanity or hate speech
* NSFW, adult, or sexually explicit content
* Harmful or misleading information
To resolve this, please review and modify your agent’s prompt, instructions, or behavior to ensure it adheres to a valid use-case.
Once updated, you can re-save the agent to re-trigger validation.
Bolna supports a wide range of customizable voice agents. From free-flowing conversational assistants to structured IVR-style bots.
You can build agents for use cases like [lead qualification](/agents-library), customer support, interviews, [appointment bookings](/tool-calling/book-calendar-slots), [call transfers](/tool-calling/transfer-calls), and more.
Get started with our [Agent template library](/agents-library) or explore the [Playground agent setup guide](/agent-setup/agent-tab).
Bolna offers transparent usage-based pricing:
* **Call pricing**: \$0.02/min platform fee (plus provider charges).
Please refer to the [cost & pricing documentation](/pricing/call-pricing) for detailed information. For high-volume usage, explore our [Enterprise Plan](/enterprise/plan) with customized volume-based discounts.
By default, Bolna allows up to **10 concurrent calls** for paid users. Learn more about [outbound calling concurrency](/outbound-calling-concurrency) or request higher limits via the [Enterprise Plan](/enterprise/plan) for large-scale deployments and [batch calling](/batch-calling) capabilities.
**Yes**. You can either:
* **Buy phone numbers directly** from the [Bolna Dashboard](/buying-phone-numbers).
* **Use your own telephony account** (e.g., [Twilio](/twilio-connect-provider) or [Plivo](/plivo-connect-provider)) to connect and use your own manageed dedicated phone numbers.
No - Phone numbers purchased on Bolna can only be used with Bolna Voice AI agents.
Absolutely. Bolna integrates seamlessly with third-party telephony providers like [Twilio](/twilio-connect-provider) and [Plivo](/plivo-connect-provider), allowing you to use your own account and phone numbers.
Yes. Bolna supports multiple languages and voices. You can create agents in various languages (e.g., English, Hindi) using built-in multilingual support across [speech-to-text](/providers/transcriber/deepgram), [LLM](/providers/llm-model/openai), and [text-to-speech](/providers/voice/elevenlabs) components.
Find the [list of all supported languages](/customizations/multilingual-languages-support) and learn how to [write prompts for multilingual agents](/guides/writing-prompts-in-non-english-languages).
Yes, definitely. Bolna AI is an API-first platform providing a comprehensive API suite to:
* Create, update, list, and delete voice agents via [Agent APIs](/api-reference/agent/v2/overview).
* Trigger calls via [Call APIs](/api-reference/calls/overview).
* Manage executions and logs via [Executions APIs](/api-reference/executions/overview).
* Do bulk calls using batches via [Batches APIs](/api-reference/batches/overview).
* Manage phone numbers via [Phone numbers APIs](/api-reference/phone-numbers/overview).
* Create, list and manage sub‑accounts via [Sub-Account APIs](/api-reference/sub-accounts/overview).
Yes. The platform supports shared access where you can add your team (developers, operators, analysts, etc.) to collaborate within the Bolna dashboard. APIs also allow scoped access through sub‑accounts.
Yes. Bolna supports multiple sub-accounts, designed for enterprise-level teams to isolate projects, billing, and permissions—fully manageable via the API.
Yes - Bolna AI supports on-premise deployments.
You can run the complete Bolna platform on your own infrastructure (e.g., private cloud or on-premise servers) instead of the hosted Bolna service.
On-premise is available only for enterprise customers. Please reach out to us at [enterprise@bolna.ai](mailto:enterprise@bolna.ai) or schedule a call [https://www.bolna.ai/meet](https://www.bolna.ai/meet) for more information.
Not yet. SIP connectivity is **not currently supported** on Bolna Voice AI.
However, native SIP integration is on our roadmap to enable direct enterprise-grade connectivity with PBX systems and VoIP infrastructure.
You can currently use [Twilio](/twilio-connect-provider), [Plivo](/plivo-connect-provider) or [Exotel](/exotel-connect-provider) integrations for all telephony and call-routing needs.
# Creating a Voice Call Agent
Source: https://www.bolna.ai/docs/getting-started/agent-creation
Learn how to create Voice Agents in Bolna. Use Auto Build for guided steps, premade templates for common use cases, or start from scratch with default settings.
## Overview
Bolna provides multiple ways to create a Voice Call Agent for automated phone calls. Choose the method that works best for your use case.
***
## Getting Started
Navigate to **Agent Setup** in the left sidebar and click **+ New Agent** to create a new agent.
When you click **+ New Agent**, you'll see two options:
AI generates your agent based on your description
Start with ready-to-use templates
***
## Auto Build Agent
Answer a few questions about your use case, and Bolna's AI generates the prompts and configurations for you.
Give your agent a descriptive name (e.g., "Customer Support - E Commerce").
Choose the languages your agent should support (English, Hindi, etc.).
Tell the AI what you want to achieve in this call (be descriptive!).
Describe what should happen after the call is completed.
Provide any FAQs, business documents, or additional information.
Provide example conversations to guide the agent's behavior.
Click **Generate Agent** to create your customized agent.
**Pro tip:** The more detail you provide in the call objective, the better your AI-generated agent will be!
***
## Pre built Agents
Start with a ready-to-use template designed for common calling scenarios like Customer Support, Lead Qualification, Recruitment, Onboarding, and more.
Browse all templates in the [Agents Library](/agents-library) to explore the full list of pre-built agents.
***
## Build from Scratch
Click **"I want to create an agent from scratch"** at the bottom of the modal to create a new agent with default settings. The agent will appear in your dashboard ready for you to customize.
Learn how to configure your agent in the [Agent Setup Guide](/agent-setup/overview).
***
## Import Agent
Already have an agent configuration? Import an existing agent to reuse or share agents across projects.
Step-by-step guide to importing agent configurations
***
## Next Steps
Learn all agent configuration options
Browse ready-to-use agent templates
Best practices for prompting
Integrate tools and APIs
# Build Knowledge Base with PDFs & URLs
Source: https://www.bolna.ai/docs/getting-started/knowledge-base
Upload PDFs and add URLs to create knowledge bases for your Bolna Voice AI agents. Enable context-aware responses with RAG-powered retrieval.
## What is Knowledge Base?
Knowledge Base allows you to upload documents and add URLs that your AI agent can reference during conversations. Using RAG (Retrieval-Augmented Generation), your agent retrieves relevant information and provides accurate, context-aware responses.
***
## How to Access Knowledge Base
Navigate to [platform.bolna.ai](https://platform.bolna.ai/)
Click **Knowledge Base** in the left sidebar.
Click the blue **Add Knowledge Base** button to get started.
***
## Adding a Knowledge Base
Upload PDF documents for your agent to reference.
Open the modal from the main Knowledge Base page.
The **Upload PDF** tab is selected by default.
Drag and drop your PDF file, or click **"click to browse"** to select.
Choose **English (Default)** or **Multilingual (Hindi, Tamil, etc.)** from the **Language Support** dropdown.
Click **Upload PDF** to start processing.
Only `.pdf` files are supported for document upload.
Add website URLs for your agent to reference.
Open the modal from the main Knowledge Base page.
Click the **Add URL** tab.
Paste the full URL (e.g., `https://example.com`).
Choose **English (Default)** or **Multilingual (Hindi, Tamil, etc.)** from the **Language Support** dropdown.
Click **Add URL** to start processing.
Add your company website, FAQ pages, or product documentation URLs for comprehensive agent knowledge.
***
## Multilingual Knowledge Bases
By default, knowledge bases are optimized for English content. If your documents are in **non-English languages** (Hindi, Spanish, French, etc.) or you need **cross-lingual retrieval** (e.g., query in English, retrieve from Hindi documents), enable **Multilingual** language support when creating a knowledge base.
| Mode | Best for |
| -------------------------- | ---------------------------------------------------------------------- |
| **Default** (no selection) | English-only documents and queries |
| **Multilingual** | Non-English documents, mixed-language queries, cross-lingual retrieval |
Choose the language support mode **before** uploading. Existing knowledge bases cannot be switched between default and multilingual — you'll need to create a new one.
If your agent handles calls in multiple languages using [multilingual voice support](/customizations/multilingual-languages-support), pair it with a multilingual knowledge base for consistent cross-lingual performance.
***
## Managing Your Knowledge Bases
Your uploaded knowledge bases are displayed in a table with full management capabilities.
| Column | Description |
| ----------- | ------------------------------------------------------ |
| **RAG ID** | Unique identifier for the knowledge base |
| **Source** | Original file name or URL |
| **Type** | Content type (Pdf, Url) |
| **Created** | When the knowledge base was added |
| **Status** | Processing status (`processed`, `processing`, `error`) |
| **Delete** | Remove the knowledge base |
Wait for the status to show **"processed"** before connecting to your agent. If status shows **"error"**, try re-uploading the file.
***
## Connecting to Your Agent
**Don't forget this step!** Knowledge bases must be connected to your agent in the LLM Tab to take effect.
Go to your agent's **[LLM Tab](/agent-setup/llm-tab)**.
Locate **Add knowledge base (Multi-select)**.
Check one or more knowledge bases from the dropdown.
Click **Save agent** to apply changes.
You can connect multiple knowledge bases to a single agent for comprehensive responses across different topics.
***
## Use Cases
Answer questions about your products and services
Provide accurate answers from your FAQ pages
Reference company policies during calls
Help agents access training and onboarding content
***
## Next Steps
Connect knowledge base to your agent
Configure prompts to use knowledge
Set safety rules and structured responses
Prompting best practices
# Understanding Providers
Source: https://www.bolna.ai/docs/getting-started/providers
Learn about Bolna providers - the AI services that power your Voice AI agents. Connect your own Transcribers, LLMs, Synthesizers, and Telephony providers.
## What are Providers?
Providers are the AI services that power your Voice AI agents. Every voice agent in Bolna uses providers working together to handle conversations in real-time.
***
## Benefits of Connecting Your Own Providers
Use your own API keys and pay providers directly. No markup on provider usage.
Use specific models, voices, or features not available on Bolna's default providers.
Get enterprise SLAs, dedicated support, and compliance certifications from providers.
Already have provider accounts? Connect them to Bolna and use your existing credits.
When you connect your own provider, Bolna doesn't charge for that provider's usage. You pay the provider directly.
***
## How Providers Work Together
```mermaid theme={"system"}
flowchart LR
A[Caller speaks] --> B[Transcriber]
B --> C[LLM]
C --> D[Synthesizer]
D --> E[Agent responds]
```
1. **Transcriber (STT)** — Converts speech to text
2. **LLM** — Understands intent and generates a response
3. **Synthesizer (TTS)** — Converts text to natural speech
***
## Supported Providers
### LLMs (Large Language Models)
The brain of your voice agent. Understands caller intent and generates responses.
>} href="/providers/llm-model/azure-openai">
Enterprise OpenAI deployment
>} href="/providers/llm-model/openai">
GPT-4o, GPT-4o-mini, GPT-3.5
>} href="/providers/llm-model/openrouter">
Access multiple models
>} href="/providers/llm-model/openrouter">
Search-powered responses
***
### Transcribers (Speech-to-Text)
Convert spoken words into text. Accuracy and speed are critical for natural conversations.
>} href="/providers/transcriber/deepgram">
Fast, accurate, great for calls
>} href="/providers/transcriber/sarvam">
Indian language transcription
***
### Synthesizers (Text-to-Speech)
Convert text into natural-sounding speech. Voice quality matters for customer experience.
>} href="/providers/voice/cartesia">
Ultra-low latency
>} href="/providers/voice/elevenlabs">
Ultra-realistic voices
>} href="/providers/voice/rime">
High-quality synthesis
>} href="/providers/voice/sarvam">
Indian language voices
***
### Telephony Providers
Handle phone calls - both inbound and outbound.
>} href="/exotel">
India-focused
>} href="/plivo">
Cost-effective
>} href="/twilio">
Global coverage
>} href="/vobiz">
Enterprise telephony
***
### Tools & Integrations
Connect external services to enhance your voice agent.
>} href="/integrations">
WhatsApp messaging
>} href="/tool-calling/book-calendar-slots">
Calendar booking
***
## Quick Start
For testing and development, Bolna's built-in providers work out of the box. No configuration needed.
Ready to connect your own providers? See [Connect Providers](/providers) for step-by-step instructions.
***
## Recommended Setups
| Use Case | Recommended Providers |
| -------------------- | --------------------------------- |
| **Quick testing** | Use Bolna's built-in providers |
| **Production** | Connect your own accounts |
| **Indian languages** | Sarvam for LLM |
| **Lowest latency** | Deepgram + GPT-4o-mini + Cartesia |
| **Highest quality** | Deepgram + GPT-4o + ElevenLabs |
***
## Next steps
Add your provider credentials
View all available integrations
Create custom voices
Configure your agent
# Implementing Guardrails for Bolna Voice AI Agents
Source: https://www.bolna.ai/docs/guardrails
Discover how to set guardrails for Bolna Voice AI agents, ensuring safe, reliable, and compliant interactions tailored to your business needs.
## What are guardrails in Bolna Voice AI?
Guardrails are safety mechanisms that help you control and filter inappropriate content, prevent unwanted conversations, and ensure your Voice AI agents maintain professional boundaries during interactions.
## How to add guardrails to your agent
Give your guardrail configuration an identifiable name to easily manage multiple guardrails across your agents.
This is the action or message that gets triggered when any unwanted or inappropriate phrases or sentences are detected. Define what your agent should say or do when a guardrail is violated.
This is the sensitivity level that determines when the system should react to unwanted words or phrases.
If the threshold is set low, the system will react to even slightly inappropriate language. If it's set higher, only more severe cases will trigger a response. Adjust based on your use case requirements.
These are the unwanted or inappropriate utterances which you want to guard against. List specific words, phrases, or topics that should trigger your guardrail.
## Why use guardrails?
Guardrails help you:
* **Maintain professionalism**: Prevent agents from engaging in inappropriate conversations
* **Ensure compliance**: Meet industry regulations and content standards
* **Protect brand reputation**: Control what your AI agents can discuss
* **Improve user experience**: Guide conversations toward productive outcomes
## Related features
Enhance your agent's behavior with other Bolna features:
* Configure [custom prompts](/agent-setup/agent-tab) to guide conversation flow
* Set up [context variables](/using-context) for personalized responses
* Implement [multi-agent workflows](/multi-agent-prompt) for complex scenarios
# Fetch Agent Executions using APIs
Source: https://www.bolna.ai/docs/guides/fetch-agent-executions
Sample Python guide demonstrating how to query and paginate through agent executions, with support for filters, logging, and best practices.
## API Endpoint Overview
### Endpoint
[Agent Executions API](/api-reference/executions/get_executions) - Fetches executions for a specified `agent_id`.
### Request Details
* **Path Parameters**
* `agent_id` (UUID, required): The ID of your agent.
* **Query Parameters** (all optional unless noted):
* `page_number` (integer, default 1): Page index, starting at 1. Must be ≥ 1.
* `page_size` (integer, default 20, max 50): Results per request.
* **Filters**:
* `status` (enum): Filter by execution status (`queued`, `in-progress`, `completed`, `failed`, etc.)
* `call_type` (enum): `inbound` or `outbound`
* `provider` (enum): e.g., `twilio`, `plivo`, `websocket`, `web-call`
* `answered_by_voice_mail` (boolean): Filter calls answered by voicemail
* `batch_id` (string): Narrow results by batch
* `from` (string, date-time): Filter by starting timestamp
* `to` (string, date-time): Filter by ending timestamp
### Authorization
Include your API key as a Bearer token in the header:
```http theme={"system"}
Authorization: Bearer
```
***
## Example Python Code
```python theme={"system"}
import aiohttp
import time
all_executions = []
page_number = 1
agent_id = "" # your agent_id
api_key = "" # your Bolna API key
headers = {
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json"
}
async with aiohttp.ClientSession(headers=headers) as session:
while True:
ts_start = time.time() * 1000
print(f"Starting fetch for page {page_number} at {ts_start:.0f} ms")
url = f"https://api.bolna.ai/v2/agent/{agent_id}/executions?page_size=50&page_number={page_number}"
async with session.get(url) as resp:
status_code = resp.status
res = await resp.json()
ts_end = time.time() * 1000
print(f"Fetched page {page_number} in {ts_end - ts_start:.2f} ms")
if status_code != 200:
logger.error(f"Error fetching page {page_number}: status {status_code}")
break
page = res.get("data", [])
all_executions.extend(page)
if res.get("has_more", False):
page_number += 1
else:
print("Completed fetching all executions")
break
```
***
## Why This Matters
| Benefit | Description |
| -------------------------- | --------------------------------------------------------------------------- |
| **Complete History** | Retrieve full call/execution logs for audits, analytics, or dashboards. |
| **Filtering & Efficiency** | Use filters to slice data by status, provider, call type, date, batch, etc. |
***
## Quick FAQs
### How do I fetch all executions for a Bolna agent?
Use the endpoint `/v2/agent/{agent_id}/executions` with pagination and keep fetching while `has_more == true`.
### Can I filter executions by provider or call type?
Yes, you can use query parameters like `provider=twilio`, `call_type=inbound`, `status=completed` and more.
### What is the max page size?
`50` results per page is the maximum allowed. Default is `20`.
### How are extracted fields returned?
In your response under `extracted_data`, with your custom JSON fields—based on your Extraction prompt setup.
***
# Writing Prompts in Non-English Languages
Source: https://www.bolna.ai/docs/guides/writing-prompts-in-non-english-languages
Write multilingual prompts in native scripts for Bolna Voice AI. Ensure natural pronunciation & accurate responses in English, Hindi, Tamil, Telugu & more.
Bolna Voice AI agents have multilingual support and can have conversations in serveral languages ([see list of all support languages](/customizations/multilingual-languages-support)). To ensure **natural speech output**, it is important to write your prompts in the **native script** of the target language, rather than phonetically using the English alphabet.
## Important note on multilingual setup
Bolna supports multilingual configurations, but with a key restriction:
> You can use English plus one additional language in a single agent.
>
> Examples of valid combinations:
>
> * "English + Hindi"
> * "English + French"
> * "English + Spanish"
> * "English + Marathi"
> * "English + X"
>
> Examples of invalid combinations:
>
> * "English + Hindi + Marathi"
## Prompting for non-english language
If you want to switch languages dynamically you can instruct the prompt to follow the customer's language. For example, for Spanish you may write:
> You will keep your sentences short and crisp. You will never reply with more than 2 sentences at a time.
> You will stick to context throughout. You must speak in Spanish but if the customer wishes to communicate in English, you will immediately shift your language to English and then remain in english.
> Generate the text response in the same language as the customer.
***
## Write the prompt in the native script
Using the correct script:
* Enables more accurate pronunciation
* Helps the AI identify the intended language
* Improves contextual understanding and tone
* Prevents misclassification as English
## Tips for Writing in native scripts
* Use Google Input Tools or built-in language keyboards on your phone/laptop.
* For European languages, make sure to include accented characters (like é, ñ, ü, ¿, ç, etc.).
* Double-check spellings and punctuation using tools like [Google Translate](https://translate.google.com/), but avoid relying on it for full sentence correctness.
## Examples of prompts in native scripts
❌ Incorrect
> Bonjour! Comment ca va? Nous allons commencer l'entretien maintenant.
✅ Correct
> Bonjour ! Comment ça va ? Nous allons commencer l’entretien maintenant.
Notice the accents (ç, é, ’). These help the AI pronounce words like a native speaker.
❌ Incorrect
> Hola! Como estas? Vamos a comenzar la entrevista ahora.
✅ Correct
> ¡Hola! ¿Cómo estás? Vamos a comenzar la entrevista ahora.
Accents and inverted punctuation (¿, ¡) matter for tone and pronunciation accuracy.
❌ Incorrect
> Namaste! Aap kaise ho? Ham aapka interview lene wale hain.
✅ Correct
> नमस्ते! आप कैसे हैं? हम आपका इंटरव्यू लेने वाले हैं।
Accents and inverted punctuation (¿, ¡) matter for tone and pronunciation accuracy.
***
## Common Mistake to Avoid
Don’t write in "English-style" phonetic spelling for non-English prompts.
> ❌ Kaise ho?
> ✅ कैसे हो?
> ❌ Como estas?
> ✅ ¿Cómo estás?
## FAQs
No. Currently, each agent supports only English plus one other language. Supporting more than two languages in a single agent may lead to confusion in language detection and inconsistent delivery.
Bolna agents can dynamically switch between English and the configured second language, but only between these two. If a customer speaks an unsupported third language, the agent will not be able to understand or reply appropriately.
It depends on your audience and brand tone. Ensure your prompts reflect the appropriate politeness level (e.g., “vous” vs. “tu” in French, or “आप” vs. “तुम” in Hindi) for a consistent and professional experience.
Use Bolna's Preview Voice feature in \[Voice Labs]\[[https://platform.bolna.ai/voices](https://platform.bolna.ai/voices)] to test generated responses before finalizing your prompts. Adjust words and punctuation if needed for more natural pronunciation.
# Hangup and Disconnect Bolna Voice AI calls
Source: https://www.bolna.ai/docs/hangup-calls
Discover methods to disconnect live Bolna Voice AI calls. Implement time-based hangups, custom prompts, and personalized messages for seamless call termination.
## How to Configure Call Hangup
Bolna offers multiple ways to intelligently end voice calls based on user behavior and conversation context.
***
## Hangup Methods
Set a `silence time` threshold (in seconds) for detecting user inactivity. If no audio is detected for the specified duration, the call disconnects automatically, preventing unnecessary call durations.
Add a custom prompt that evaluates whether the conversation is complete. The LLM assesses the conversation context and decides when to end the call.
Since this is prompt-based, it may not be 100% accurate. Tune the prompt based on your use case for best results.
**Example hangup prompt:**
```text hangup prompt example theme={"system"}
You are an AI assistant determining if a conversation is complete. A conversation is complete if:
1. The user explicitly says they want to stop (e.g., "That's all," "I'm done," "Goodbye," "thank you").
2. The user seems satisfied, and their goal appears to be achieved.
3. The user's goal appears achieved based on the conversation history, even without explicit confirmation.
If none of these apply, the conversation is not complete.
```
***
## Personalized Hangup Message
Add a closing message spoken by the agent as the final message before the call ends. This accepts [dynamic context variables](/using-context#custom-variables) using `{}` for a personalized closing statement.
Use variables like `{first_name}` in your hangup message for a personal touch, e.g., *"Thank you , have a great day!"*
***
## Related Features
Set maximum call duration as a safety net
Monitor call statuses in real time
Understand who ended the call and why
# Importing your voices to use with Bolna Voice AI
Source: https://www.bolna.ai/docs/import-voices
Easily import voices from multiple providers like ElevenLabs, Cartesia including custom voices into Bolna for seamless voice agent personalization.
## What is Voice Importing?
Voice importing allows you to bring voices from external providers (like ElevenLabs, Cartesia) into your Bolna workspace. This enables you to use provider-specific voices or custom voices you've created with those providers in your Bolna Voice AI agents.
***
## How to Import Voices
Navigate to [Voice Lab](https://platform.bolna.ai/voices) and click **"Import Voices"**
Choose your voice provider from the list
Provide the **Voice ID** you want to import
Toggle to import custom voices from your own connected account
Click **"Import"** - your voice will be available within seconds!
Need help finding Voice IDs? Check your voice provider's dashboard or [contact support](mailto:support@bolna.ai).
***
## Next Steps
Create brand-specific voice identities
Configure voice settings in the Playground
Browse voice provider integrations
Set up multilingual agents with imported voices
# Home
Source: https://www.bolna.ai/docs/index
Bolna — the AI Voice API for India. Deploy multilingual conversational Voice AI agents to automate calls, qualify leads, boost sales, support customers, & more.
Bolna Documentation
Create conversational voice agents to qualify leads, boost sales, automate support, streamline hiring, and more.
# Routing Calls Through Indian Servers
Source: https://www.bolna.ai/docs/indian-server-configuration
Configure your voice agent to process calls on Indian servers for data residency compliance and lower latency.
## Overview
If your business requires data residency in India or you want to achieve the lowest possible latency for calls to Indian phone numbers, you can configure your agent to route calls through Bolna's Indian servers.
This guide explains the configuration requirements to ensure your calls are processed entirely on Indian infrastructure.
## Requirements
To route calls through Indian servers, your agent configuration must meet **all** of the following requirements:
### 1. Telephony Provider
Use **Plivo** as your telephony provider.
Twilio is not supported for Indian server routing. If you use Twilio, calls will be processed on US servers.
### 2. Transcriber (Speech-to-Text)
Use one of these transcription providers:
* Deepgram
* Azure
* Sarvam
* ElevenLabs
* Smallest
**If using Deepgram**, additional requirements apply:
| Requirement | Supported Values |
| ------------ | ----------------------------------------------------------------------------------- |
| **Model** | `nova-2`, `nova-3`, and their variants (e.g., `nova-2-phonecall`, `nova-3-general`) |
| **Language** | `hi` (Hindi), `multi-hi` (Multilingual Hindi), `en-IN` (Indian English) |
### 3. Synthesizer (Text-to-Speech)
Use one of these voice synthesis providers:
* ElevenLabs
* Sarvam
* Azure TTS
* Cartesia
Some ElevenLabs voices may not be available in the India region. If you encounter issues, try selecting a different voice.
### 4. LLM (Language Model)
Use one of these LLM providers:
* Azure OpenAI
### 5. Provider API Keys
Use Bolna's default provider integrations. Do not connect your own API keys for the transcriber, synthesizer, or LLM providers.
If you connect your own API keys for any provider (transcriber, synthesizer, or LLM), calls will automatically route through US servers regardless of other configuration settings.
## Quick Checklist
Before deploying your agent for Indian server routing, verify:
| Component | Requirement | Status |
| ----------------- | ------------------------------------------------ | -------- |
| Telephony | Plivo | Required |
| Transcriber | Deepgram, Azure, Sarvam, ElevenLabs, or Smallest | Required |
| Deepgram Language | `hi`, `multi-hi`, or `en-IN` (if using Deepgram) | Required |
| Synthesizer | ElevenLabs, Sarvam, Azure TTS, or Cartesia | Required |
| LLM | Azure OpenAI | Required |
| Custom API Keys | None connected | Required |
## Troubleshooting
If your calls are not routing through Indian servers, check the following:
1. **Telephony Provider**: Ensure you're using Plivo, not Twilio
2. **Deepgram Language**: If using Deepgram, verify the language is set to `hi`, `multi-hi`, or `en-IN`
3. **Custom API Keys**: Check that you haven't connected your own API keys for any provider in the Providers section
4. **Provider Selection**: Verify all providers (transcriber, synthesizer, LLM) are from the supported lists above
## Related Resources
* [Supported Telephony Providers](/supported-telephony-providers)
* [Plivo Setup Guide](/plivo)
* [Understanding Latency Metrics](/call-latencies)
# Bolna Voice AI Integrations
Source: https://www.bolna.ai/docs/integrations
Integrate Bolna Voice AI with tools like Twilio, Plivo, OpenAI, ElevenLabs, Deepgram, and Zapier to enable seamless voice automation and workflows.
## Telephony Integrations
>
}
href="/twilio-connect-provider"
>
Connect your Twilio phone numbers with Bolna
>
}
href="/plivo-connect-provider"
>
Connect your Plivo phone numbers with Bolna
>
}
href="/exotel-connect-provider"
>
Connect your Exotel phone numbers with Bolna
>
}
href="/vobiz-connect-provider"
>
Connect your Vobiz phone numbers with Bolna
## Model Integrations
>
}
href="https://platform.bolna.ai/auth/openai"
>
Connect your OpenAI account with Bolna
>
}
href="https://github.com/deepseek-ai/awesome-deepseek-integration/?tab=readme-ov-file#others"
>
Connect your Deepseek account with Bolna
>
}
href="https://platform.bolna.ai/auth/elevenLabs"
>
Connect your ElevenLabs account with Bolna
>
}
href="https://platform.bolna.ai/auth/cartesia"
>
Connect your Cartesia account with Bolna
>
}
href="https://platform.bolna.ai/auth/deepgram"
>
Connect your Deepgram account with Bolna
>
}
href="https://platform.bolna.ai/auth/azure"
>
Connect your Azure account with Bolna
## External Integrations
>
}
href="https://zapier.com/apps/bolna/integrations"
>
Connect your Zapier account with Bolna
>
}
href="https://www.make.com/en/integrations/bolna"
>
Connect your Make.com account with Bolna
>
}
href="https://platform.bolna.ai/auth/calcom"
>
Connect your Cal.com account with Bolna
>
}
href="https://viasocket.com/integrations/bolna"
>
Connect your viaSocket account with Bolna
# Bolna AI: Create and deploy Voice AI Agents
Source: https://www.bolna.ai/docs/introduction
Build and deploy conversational Voice AI agents with Bolna. Qualify leads, automate support, and book appointments through natural phone conversations.
## See Bolna in Action
***
## Why Businesses Choose Bolna
Never miss a lead again. Your AI agent handles calls 24/7, even at 3 AM.
Sub-600ms responses with natural voices. Callers can't tell the difference.
40+ languages including Hindi, Tamil, Telugu, and Bengali with native accents.
Handle 1 call or 10,000 calls simultaneously. No hiring, no training.
***
## Explore What You Can Build
From lead qualification to customer support, appointment booking to sales outreach, Bolna agents handle it all.
Explore pre-built agents for sales, support, HR, healthcare, and more. Clone any template and customize it for your business.
***
## Get Started
Talk to a live AI agent, no signup required
Build and deploy in under 5 minutes
Clone pre-built agents for common use cases
Get a personalized demo for your business
# Set Up IVR for Inbound Calls in Bolna Voice AI
Source: https://www.bolna.ai/docs/ivr-inbound-calls
Configure IVR menus to route inbound calls to different Bolna Voice AI agents. Support department routing, language selection, and data collection.
## What is IVR?
IVR (Interactive Voice Response) lets callers navigate menus using their phone keypad before connecting to a Voice AI agent.
Send callers to Sales, Support, or Billing agents automatically
Gather account numbers, PINs, or preferences before the conversation
Let callers choose their preferred language before connecting
IVR is currently supported for **Plivo** phone numbers only.
***
## How IVR Works
```mermaid theme={"system"}
flowchart LR
A[Caller Dials] --> B[Welcome Message]
B --> C[IVR Menu Prompt]
C --> D{Caller Presses Digit}
D --> E[Next Menu / Collect Step]
D --> F[Connect to Agent]
E --> D
style A fill:#e0f8e0,stroke:#2e8b57,stroke-width:2px
style B fill:#e0f8e0,stroke:#2e8b57,stroke-width:2px
style C fill:#e0f8e0,stroke:#2e8b57,stroke-width:2px
style D fill:#fff3cd,stroke:#ffc107,stroke-width:2px
style E fill:#e0f8e0,stroke:#2e8b57,stroke-width:2px
style F fill:#d4edda,stroke:#28a745,stroke-width:2px
```
All collected data (department choice, account number, etc.) is passed to the agent as context.
***
## Setting Up IVR via API
Add `ivr_config` to the [Set Inbound Agent API](/api-reference/inbound/agent):
```bash request theme={"system"}
curl -X POST "https://api.bolna.ai/inbound/setup" \
-H "Authorization: Bearer " \
-H "Content-Type: application/json" \
-d '{
"agent_id": "your-default-agent-id",
"phone_number_id": "your-phone-number-id",
"ivr_config": {
"enabled": true,
"voice": "Polly.Aditi",
"welcome_message": "Welcome to Acme Corp.",
"steps": [
{
"step_id": "main_menu",
"type": "menu",
"prompt": "Press 1 for Sales. Press 2 for Support.",
"field_name": "department",
"options": [
{"digit": "1", "label": "Sales", "agent_id": "sales-agent-id"},
{"digit": "2", "label": "Support", "agent_id": "support-agent-id"}
]
}
]
}
}'
```
```json response theme={"system"}
{
"message": "Phone number is already mapped to the given agent. IVR config updated."
}
```
***
## IVR Configuration Reference
### Top-Level Config
| Field | Type | Default | Description |
| ----------------------- | ------- | ---------------------------------- | ------------------------------------------------ |
| `enabled` | boolean | `false` | Enable or disable IVR |
| `voice` | string | `Polly.Joanna` | Text-to-speech voice for IVR prompts |
| `welcome_message` | string | - | Played once when the call connects |
| `timeout` | integer | `5` | Seconds to wait for caller input |
| `max_retries` | integer | `2` | Retry count on invalid input |
| `invalid_input_message` | string | `Invalid input. Please try again.` | Played on wrong key press |
| `no_input_message` | string | `No input received. Goodbye.` | Played on timeout |
| `steps` | array | **required** | IVR flow steps (see below) |
| `default_agent_id` | string | - | Fallback agent when no option-level agent is set |
### Available Voices
| Voice | Language |
| --------------- | ------------------------ |
| `Polly.Aditi` | Hindi + Indian English |
| `Polly.Raveena` | Indian English |
| `Polly.Joanna` | US English (Female) |
| `Polly.Matthew` | US English (Male) |
| `Polly.Amy` | British English (Female) |
***
## Step Types
Presents options for the caller to select using the keypad.
```json theme={"system"}
{
"step_id": "department",
"type": "menu",
"prompt": "Press 1 for Sales. Press 2 for Support.",
"field_name": "department",
"options": [
{"digit": "1", "label": "Sales", "agent_id": "sales-agent-id"},
{"digit": "2", "label": "Support", "agent_id": "support-agent-id"}
]
}
```
**Option Fields:**
| Field | Type | Required | Description |
| --------------- | ------ | -------- | ---------------------------------- |
| `digit` | string | Yes | Key to press (`"1"`, `"2"`, etc.) |
| `label` | string | Yes | Value stored in collected data |
| `agent_id` | string | No | Route to a specific agent |
| `context_label` | string | No | Additional context passed to agent |
Collects multi-digit input like account numbers or PINs.
```json theme={"system"}
{
"step_id": "account",
"type": "collect",
"prompt": "Enter your 6-digit account number.",
"field_name": "account_number",
"num_digits": 6,
"next_step": "pin_step"
}
```
**Collect Fields:**
| Field | Type | Description |
| --------------- | ------- | ---------------------------------------- |
| `num_digits` | integer | Exact number of digits required |
| `min_digits` | integer | Minimum digits (if `num_digits` not set) |
| `max_digits` | integer | Maximum digits (if `num_digits` not set) |
| `finish_on_key` | string | Submit key (default: `#`) |
***
## Step Navigation
Control flow between steps:
| Field | Usage | Description |
| ------------------ | ----------- | ------------------------------------------------------ |
| `next_step` | Linear flow | Go to specified step after this one |
| `conditional_next` | Branching | Route based on digit: `{"1": "step_a", "2": "step_b"}` |
| *(neither)* | End flow | Routes to the assigned agent |
Use `conditional_next` for language selection or department-specific sub-menus. Combine with `next_step` for sequential data collection.
***
## Data Passed to Agent
All collected IVR data is available in `recipient_data`:
```json theme={"system"}
{
"department": "Sales",
"department_context": "sales_inquiry",
"account_number": "123456",
"ivr_completed_at": "2026-01-15T10:30:00Z"
}
```
Reference these in your agent prompt:
```
Customer selected {department}. Account: {account_number}
```
Learn more about using dynamic variables in [Using Context](/using-context).
***
## Examples
Route calls to different agents based on selection:
```json theme={"system"}
{
"ivr_config": {
"enabled": true,
"voice": "Polly.Aditi",
"welcome_message": "Welcome to Acme Corp.",
"steps": [
{
"step_id": "department",
"type": "menu",
"prompt": "Press 1 for Sales. Press 2 for Support. Press 3 for Billing.",
"field_name": "department",
"options": [
{"digit": "1", "label": "Sales", "agent_id": "sales-agent-uuid"},
{"digit": "2", "label": "Support", "agent_id": "support-agent-uuid"},
{"digit": "3", "label": "Billing", "agent_id": "billing-agent-uuid"}
]
}
]
}
}
```
Language selection followed by department menu:
```json theme={"system"}
{
"ivr_config": {
"enabled": true,
"voice": "Polly.Aditi",
"welcome_message": "Welcome. Swagat hai.",
"steps": [
{
"step_id": "language",
"type": "menu",
"prompt": "For English press 1. Hindi ke liye 2 dabayein.",
"field_name": "language",
"options": [
{"digit": "1", "label": "English"},
{"digit": "2", "label": "Hindi"}
],
"conditional_next": {"1": "menu_en", "2": "menu_hi"}
},
{
"step_id": "menu_en",
"type": "menu",
"prompt": "Press 1 for Sales. Press 2 for Support.",
"field_name": "department",
"options": [
{"digit": "1", "label": "Sales", "agent_id": "english-sales-agent"},
{"digit": "2", "label": "Support", "agent_id": "english-support-agent"}
]
},
{
"step_id": "menu_hi",
"type": "menu",
"prompt": "Sales ke liye 1 dabayein. Support ke liye 2 dabayein.",
"field_name": "department",
"options": [
{"digit": "1", "label": "Sales", "agent_id": "hindi-sales-agent"},
{"digit": "2", "label": "Support", "agent_id": "hindi-support-agent"}
]
}
]
}
}
```
Collect account details before connecting to an agent:
```json theme={"system"}
{
"ivr_config": {
"enabled": true,
"voice": "Polly.Aditi",
"welcome_message": "Welcome to your bank.",
"default_agent_id": "bank-agent-uuid",
"steps": [
{
"step_id": "account",
"type": "collect",
"prompt": "Please enter your 10-digit account number.",
"field_name": "account_number",
"num_digits": 10,
"next_step": "pin"
},
{
"step_id": "pin",
"type": "collect",
"prompt": "Enter your 4-digit PIN.",
"field_name": "pin",
"num_digits": 4
}
]
}
}
```
***
## Disable IVR
To disable IVR and route calls directly to your agent:
```bash theme={"system"}
curl -X POST "https://api.bolna.ai/inbound/setup" \
-H "Authorization: Bearer " \
-H "Content-Type: application/json" \
-d '{
"agent_id": "your-agent-id",
"phone_number_id": "your-phone-number-id",
"ivr_config": {"enabled": false}
}'
```
***
## Next Steps
Basic inbound calling configuration
Use your own Plivo phone numbers
Pass dynamic data to your agents
# List of Call Hangup Statuses and Codes in Bolna Voice AI
Source: https://www.bolna.ai/docs/list-phone-call-hangup-status
Explore all hangup statuses, provider codes, and termination reasons in Bolna Voice AI calls. Debug disconnections and improve reliability.
## Introduction
Every Bolna Voice AI call records metadata about how and why it was terminated. This data is essential for debugging, analytics, and improving call completion rates.
Each call termination includes three fields:
| Field | Description |
| --------------- | ------------------------------------------------------------------------- |
| `hangup_by` | Party or system that initiated the hangup (caller, callee, carrier, etc.) |
| `hangup_code` | Numeric code from the telecom provider indicating the specific reason |
| `hangup_reason` | Human-readable description of why the call ended |
***
## Why Hangup Codes Matter
Identify whether disconnections are user-initiated, carrier-caused, or system errors
Track telecom partner performance across providers like Twilio and Plivo
Optimize call handling based on termination patterns and regional issues
Pinpoint geographic routing problems (US, India, Southeast Asia, MENA, etc.)
***
## Hangup Status and Provider Codes
| Hangup By | Description | Provider Codes |
| --------------- | ------------------------------------- | ------------------------------------------------------ |
| **API Request** | Call ended via Bolna API request | `4000`, `4020` |
| **Callee** | Recipient hung up (outbound calls) | `3020`, `4000` |
| **Caller** | Caller ended the call (inbound calls) | `4000` |
| **Carrier** | Terminated by telecom carrier | `2000`, `3000`, `3010`, `3020`, `3040`, `3050`, `3070` |
| **Error** | Ended due to unexpected error | `3080`, `3090`, `3110`, `5010`, `5020`, `7011`, `8011` |
| **Plivo** | Plivo provider disconnected the call | `1010`, `4010`, `5020`, `6000`, `6010`, `6020` |
| **Unknown** | Termination reason unknown | `0` |
| *(empty)* | No hangup reason recorded | *(empty)* |
Code `4000` appears across multiple categories (API, Caller, Callee). The correct interpretation depends on **call direction** (inbound vs outbound) and context.
***
## Hangup Reasons
Bolna provides specific hangup reasons based on your agent configuration:
| Reason | Description |
| --------------------- | ----------------------------------------------------- |
| `inactivity_timeout` | Call ended because the silence threshold was exceeded |
| `llm_prompted_hangup` | Call ended based on custom prompt evaluation |
Configure inactivity timeout and hangup prompts in your [Agent Setup](/agent-setup/agent-tab) to control these behaviors.
Reasons provided by the telephony provider (Twilio, Plivo, etc.):
| Reason | Description |
| -------------------------------------------------------- | ------------------------------------------------------- |
| `Call recipient was busy` | Called party was busy |
| `Call unanswered` | Called party did not answer |
| `Call recipient number invalid` | Invalid or unreachable phone number |
| `Call recipient hung up` | Recipient ended the call |
| `Carrier declined` | Call declined by carrier |
| `Call recipient rejected` | Call rejected by the called party |
| `failed` | Call could not be initiated |
| `Carrier ended because call limit exceeded` | Call terminated due to duration limits |
| `Bolna Error` | Error from Bolna system |
| `Carrier unable to receive media` | Media connection issues |
| `Network Congestion From Carrier` | Network congestion from carrier |
| `End of inputs from Bolna` | Call ended after complete conversation (without prompt) |
| `Carrier unable to reach bolna` | Carrier connectivity issue to Bolna |
| `Carrier ended call because MPC duration limit exceeded` | Multi-party call duration limit reached |
| `Telephony Internal Error` | Internal telephony system error |
| `Carrier Internal Error` | Internal carrier error |
| `Call completed` | Call completed successfully |
| `Call canceled` | Call was canceled |
| `Call ended` | Call terminated normally |
| `Call timed out` | Call exceeded timeout limit |
| `Unknown` | Unknown reason |
***
## Notes on Code Interpretation
Multiple provider codes may map to a single `hangup_by` status depending on network or device behavior. Always check the `hangup_reason` field for additional context.
Codes like `4000` appear in multiple categories. Interpretation depends on **call direction** (inbound vs outbound) and the `hangup_by` field.
Frequent `3010` or `3050` codes in a specific region may indicate local routing or carrier coverage problems. Contact support if you notice persistent regional patterns.
***
## Related Pages
Track the full lifecycle of your calls
Analyze performance across the voice pipeline
Retrieve full execution details programmatically
# List of Call Statuses in Bolna Voice AI
Source: https://www.bolna.ai/docs/list-phone-call-status
Understand every call status in Bolna Voice AI, from queued to completed. Track successful, unanswered, and failed call states.
## Introduction
Every Bolna Voice AI conversation carries two key fields throughout its lifecycle:
| Field | Purpose |
| --------------- | ---------------------------------------------- |
| `status` | Real-time status of the conversation |
| `error_message` | Explanatory message for errors or failed calls |
***
## Anatomy of a Call
The following diagram shows how a call progresses from initiation to completion:
```mermaid theme={"system"}
flowchart LR
ringing --> no-answer
queued --> initiated --> ringing --> in-progress --> call-disconnected --> completed
ringing --> busy
style queued fill:#e0f8e0,stroke:#2e8b57,stroke-width:2px
style initiated fill:#e0f8e0,stroke:#2e8b57,stroke-width:2px
style ringing fill:#e0f8e0,stroke:#2e8b57,stroke-width:2px
style in-progress fill:#e0f8e0,stroke:#2e8b57,stroke-width:2px
style call-disconnected fill:#e0f8e0,stroke:#2e8b57,stroke-width:2px
style completed fill:#e0f8e0,stroke:#2e8b57,stroke-width:2px
```
`completed` is the **final** status of every conversation, indicating all post-call processing (recordings, data extraction) is finished.
***
## Call Status Reference
These statuses appear in chronological order during a normal call flow:
| Status | Description |
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `queued` | Call received by Bolna and queued for processing |
| `rescheduled` | Call triggered outside allowed hours and automatically rescheduled (requires [call guardrails](/agent-setup/call-tab) configuration) |
| `initiated` | Call initiated from Bolna's servers |
| `ringing` | Call is ringing at the destination |
| `in-progress` | Call answered and conversation is active |
| `call-disconnected` | Call has been disconnected |
| `completed` | All post-call processing finished (recordings, data extraction; may take \~2-3 minutes after disconnect) |
| Status | Description |
| ------------- | ----------------------------------------------- |
| `balance-low` | Insufficient Bolna balance to initiate the call |
| `busy` | Callee was busy |
| `no-answer` | Phone rang but callee did not answer |
| Status | Description |
| ---------- | ------------------------------------------------------------- |
| `canceled` | Call was canceled |
| `failed` | Call failed to connect |
| `stopped` | Call stopped by user or due to no telephony provider response |
| `error` | An error occurred while placing the call |
The payloads for all status events follow the same structure as the [Get Execution API](/api-reference/executions/get_execution) response.
***
## Example Payload
```json {7, 8} theme={"system"}
{
"id": 7432382142914,
"agent_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"batch_id": "d12abbbe-d16d-4c51-b18c-c7d5c3807962",
"conversation_time": 123,
"total_cost": 123,
"status": "completed",
"error_message": null,
"answered_by_voice_mail": true,
"transcript": "",
"created_at": "2024-01-23T01:14:37Z",
"updated_at": "2024-01-29T18:31:22Z",
"usage_breakdown": {
"synthesizer_characters": 123,
"synthesizer_model": "polly",
"transcriber_duration": 123,
"transcriber_model": "deepgram",
"llm_tokens": 123,
"llm_model": {
"gpt-3.5-turbo-16k": {
"output": 28,
"input": 1826
},
"gpt-3.5-standard-8k": {
"output": 20,
"input": 1234
}
}
},
"telephony_data": {
"duration": 42,
"to_number": "+10123456789",
"from_number": "+1987654007",
"recording_url": "https://bolna-call-recordings.s3.us-east-1.amazonaws.com/...",
"hosted_telephony": true,
"provider_call_id": "CA42fb13614bfcfeccd94cf33befe14s2f",
"call_type": "outbound",
"provider": "twilio",
"ring_duration": 17,
"post_dial_delay": 1,
"to_number_carrier": "Reliance Jio Infocomm Ltd (RJIL)"
},
"transfer_call_data": {
"provider_call_id": "CA42fb13614bfcfeccd94cf33befe14s2f",
"status": "completed",
"duration": 42,
"cost": 123,
"to_number": "+10123456789",
"from_number": "+1987654007",
"recording_url": "https://bolna-call-recordings.s3.us-east-1.amazonaws.com/...",
"hangup_by": "Caller",
"hangup_reason": "Normal Hangup"
},
"batch_run_details": {
"status": "completed",
"created_at": "2024-01-23T01:14:37Z",
"updated_at": "2024-01-29T18:31:22Z",
"retried": 0
},
"extracted_data": {
"user_interested": true,
"callback_user": false,
"address": "42 world lane",
"salary_expected": "42 bitcoins"
},
"context_details": {},
"extraction_webhook_status": true
}
```
***
## Related Pages
Understand who ended the call and why
Analyze performance across the voice pipeline
Retrieve full execution details programmatically
# Make Outbound Calls Using Bolna Voice AI Agents
Source: https://www.bolna.ai/docs/making-outgoing-calls
Make outbound Voice AI calls with Bolna using default or dedicated phone numbers. Integrate telephony providers and automate calls via dashboard and APIs.
## How to make outbound calls with Bolna?
Bolna Voice AI enables you to make outbound calls in three ways: using Bolna's default phone numbers, purchasing dedicated numbers from Bolna, or connecting your own telephony provider. Choose the option that best fits your use case and brand requirements.
## Can I use Bolna's default numbers for outgoing calls?
By default, you can make outbound calls using Bolna's centralized phone numbers.
| Callee country | Phone number prefix |
| ------------------- | ---------------------------------------------------------- |
| 🇺🇸 United States | Callee will recieve the phone call from `+1` prefix phone |
| 🇬🇧 United Kingdom | Callee will recieve the phone call from `+1` prefix phone |
| 🇦🇺 Australia | Callee will recieve the phone call from `+1` prefix phone |
| 🇮🇳 India | Callee will recieve the phone call from `+91` prefix phone |
| 🌍 Others | Callee will recieve the phone call from `+1` prefix phone |
## How to use your own dedicated phone number?
### Method 1. Purchase a phone number from the [Bolna Dashboard](https://platform.bolna.ai/phone-numbers).
Please refer to a [step by step tutorial for purchasing phone numbers on Bolna](/buying-phone-numbers).
### Method 2. Connect your Telephony account and use your own phone numbers.
>
}
href="/twilio-connect-provider"
>
Use your own Twilio phone numbers with Bolna
>
}
href="/plivo-connect-provider"
>
Use your own Plivo phone numbers with Bolna
>
}
href="/vobiz-connect-provider"
>
Use your own Vobiz phone numbers with Bolna
>
}
href="/exotel-connect-provider"
>
Use your own Exotel phone numbers with Bolna
***
## How to make outbound calls from the dashboard?
## How to make outbound calls using APIs?
Use [`/call` API](api-reference/calls/make) to place the call to the agent
```curl default-centralized-phone-numbers theme={"system"}
# No need to add `from_phone_number`
curl --request POST \
--url https://api.bolna.ai/call \
--header 'Authorization: ' \
--header 'Content-Type: application/json' \
--data '{
"agent_id": "123e4567-e89b-12d3-a456-426655440000",
"recipient_phone_number": "+10123456789"
}'
```
```curl dedicated-phone-numbers theme={"system"}
# Add your purchased phone number or your own connected phone number in `from_phone_number` field
curl --request POST \
--url https://api.bolna.ai/call \
--header 'Authorization: ' \
--header 'Content-Type: application/json' \
--data '{
"agent_id": "123e4567-e89b-12d3-a456-426655440000",
"recipient_phone_number": "+10123456789",
"from_phone_number": "+1987654321"
}'
```
## How to make outbound calls using Zapier & Make.com?
>
}
href="https://zapier.com/apps/bolna/integrations"
>
Connect Zapier to start making outbound calls using Bolna Voice AI agents
>
}
href="https://www.make.com/en/integrations/bolna"
>
Connect Make.com to start making outbound calls using Bolna Voice AI agents
## Next steps
Ready to start making outbound calls? [Set up your first agent](/agent-setup/agent-tab) or explore related features:
* [Batch calling](/batch-calling) for high-volume campaigns
* [Supported telephony providers](/supported-telephony-providers) for integration options
* [Context variables](/using-context) to personalize each call
* [Call pricing](/pricing/call-pricing) to understand costs
For receiving calls instead, see how to [handle inbound calls](/receiving-incoming-calls).
# How to Get 140 & 160-Series Phone Numbers in India
Source: https://www.bolna.ai/docs/obtaining-regulated-phone-numbers
Complete guide to obtaining regulated 140-series and 160-series phone numbers in India for Voice AI calling. Covers DLT registration, required documents, KYC, and the step-by-step provisioning process.
## Why Do You Need Regulated Numbers?
To make commercial or telemarketing calls in India, businesses must use regulated phone numbers issued under TRAI guidelines. These numbers require registration on the **DLT (Distributed Ledger Technology)** platform before they can be used.
| Number Series | Use Case | Telephony Provider |
| -------------- | ---------------------------------------------------------- | ------------------ |
| **140-series** | Telemarketing and promotional calls | Vobiz |
| **160-series** | Transactional and service calls (banking, insurance, etc.) | Plivo |
DLT registration is mandatory to procure 140 or 160-series numbers from Indian telephony providers.
***
## 140-Series Numbers (Telemarketing)
140-series numbers are used for **promotional and telemarketing calls**. Bolna uses **Vobiz** as the telephony provider for Indian calling, and Vobiz recommends registering on the **TATA Teleservices DLT portal**.
### Registration Process
Visit the [TATA Teleservices DLT portal](https://telemarketer.tatateleservices.com/#/) and select **Register as Principal Entity**.
Upload the following documents during registration:
| Document | Details |
| --------------------------------- | ---------------------------------------------------------------------- |
| **Certificate of Incorporation** | Issued by Ministry of Corporate Affairs (MCA) / Registrar of Companies |
| **GST Certificate** | Copy of your GST registration |
| **Company PAN Card** | PAN card in the company's name |
| **Director List & MOA** | Memorandum of Association with the list of directors |
| **Letter of Authorization (LOA)** | Signed by the director whose name is mentioned in the MOA |
The LOA must be signed by a director whose name appears in the Memorandum of Association (MOA). Download the sample LOA template from the DLT portal, fill in the required details, and get it signed before uploading.
Submit the LOA with your official **mobile number** and **email ID**. OTPs for verification will be sent to these details during the registration process. Contact [compliance@bolna.ai](mailto:compliance@bolna.ai) to solicit a sample LOA.
The mobile number and email ID in the LOA become your permanent registered contact for all DLT communications. These cannot be easily changed after submission — choose carefully.
Once your Digital KYC is verified, a payment link for **₹5,900** will be generated on the portal. Complete the payment to finalize your Principal Entity registration.
Keep the mobile number and email from your LOA accessible throughout the process — all OTPs are sent there.
***
## 160-Series Numbers (Transactional & Service Calls)
160-series numbers are used for **transactional and service communication** such as banking alerts, insurance reminders, and regulatory notifications. These require additional provisioning through **Plivo** after DLT registration.
### Documents Required
Required as proof of regulatory compliance during Header registration on DLT
COI and GST Certificate for Plivo KYC verification
Principal Entity ID and Telemarketer ID, generated after DLT registration
Your compliance name to be shared with Plivo during provisioning
### Provisioning Process
Complete your DLT registration as a Principal Entity (same process as the 140-series registration above). This generates your **PE ID** and **TM ID**.
Share your **Certificate of Incorporation (COI)** and **GST Certificate** with Bolna for Plivo KYC verification.
This step can be skipped if your Plivo KYC on Bolna is already completed.
Provide your **PE-ID**, **TM-ID**, and **compliance application name** to Bolna for verification with Plivo.
Plivo will verify the submitted details and allocate the 160-series number to your Plivo KYC previously done on your Bolna account.
The allocated numbers will **not be active** at this stage. Further steps are required before you can start making calls.
Register your Header on the DLT portal. Submit the **RBI / SEBI Certificate** as proof of regulatory compliance during this step.
After Header registration, obtain your **URN (Unique Reference Number)**. Share the URN and the **approval screenshot** with Bolna. Bolna will ensure Plivo coordinates with TATA Teleservices for header approval.
Once the header is approved, proceed with **Template registration** on the DLT portal.
Once the template is approved, your 160-series numbers will be **active** and ready for calling.
***
## Next Steps
Once your DLT registration is approved and numbers are provisioned, you can:
Purchase regulated numbers for your outbound agents
Set up your outbound calling agent
Run calling campaigns at scale
Stay compliant with TRAI regulations
# Account based concurrency tiers
Source: https://www.bolna.ai/docs/outbound-calling-concurrency
Learn how Bolna Voice AI account tiers affect outbound call concurrency. Explore limits, scaling tiers, and enterprise options for high-volume operations.
## What are concurrency limits in Bolna?
Concurrency limits determine how many simultaneous outbound calls your account can make at once. Higher call volumes automatically increase your concurrency tier, ensuring smooth operations for growing businesses.
## How many concurrent calls can I make?
By default, we allow upto 10 concurrent calls for all **paid users**. Calls over this limit automatically get queued up and get processed one-by-one as the slots are available in the queue for your account.
All **trial users** who haven't purchased any credits can do upto 2 concurrent calls only to their **verified phone numbers**.
| Account type | Monthly minutes of calls | Concurrent calls |
| ------------ | ------------------------ | ---------------- |
| `trial` | n/a | `2` |
| `paid` | `<10000` | `10` |
| `paid` | `10000 - 25000` | `20` |
| `paid` | `25000 - 50000` | `30` |
| `enterprise` | `>100000` | `unlimited` |
You can read more about our enterprise offering here [Bolna enterprise](/enterprise/plan).
## Are there limits for inbound calls?
There are no concurrent limits or any restrictions on inbound calls.
## How to check my account's concurrency limits?
We'll monitor your monthly volumes and adjust concurrency as needed to ensure you experience no disruptions - while maintaining smooth operations for all our customers.
1. Go to your **Workplace settings**
2. See your **Account limits**
## Next steps
Ready to scale your calling operations? Explore related features:
* Set up [batch calling](/batch-calling) for high-volume campaigns
* Learn about [making outbound calls](/making-outgoing-calls) efficiently
* Explore the [Enterprise Plan](/enterprise/plan) for unlimited concurrency
* Monitor [call details](/call-details) and execution results
For custom concurrency needs, [contact our team](mailto:support@bolna.ai) to discuss your requirements.
# Voice AI Platform Architecture & Concepts
Source: https://www.bolna.ai/docs/platform-concepts
Understand how Bolna Voice AI works including voice pipeline, agent configuration, real-time capabilities, and multilingual conversational AI agents.
## What is Bolna?
Bolna is a platform for building **conversational Voice AI agents** that can handle phone calls naturally, just like a human. Whether you're automating customer support, qualifying leads, or scheduling appointments, Bolna provides the infrastructure to create, deploy, and scale voice agents.
Configure agents with prompts, voice, and tools
Connect to phone numbers for inbound/outbound calls
Handle thousands of concurrent conversations
***
## How Voice AI Works
Every conversation flows through a **three-step pipeline** that happens in real-time:
**Speech-to-Text (ASR)** converts the caller's voice into text that your AI can understand.
Bolna supports [Deepgram](/providers/transcriber/deepgram), [Azure](/providers/transcriber/azure), [ElevenLabs](/providers/transcriber/elevenlabs), and more.
**Large Language Model (LLM)** processes the text, understands context, and generates an intelligent response.
Connect [OpenAI](/providers/llm-model/openai), [Anthropic](/providers/llm-model/anthropic), [Azure OpenAI](/providers/llm-model/azure-openai), or your own LLM.
**Text-to-Speech (TTS)** converts the response into natural-sounding speech played back to the caller.
Choose voices from [ElevenLabs](/providers/voice/elevenlabs), [Cartesia](/providers/voice/cartesia), [Azure](/providers/voice/azure), and more.
Bolna orchestrates this entire pipeline in **under 600ms**, enabling natural, real-time conversations with minimal latency.
***
## Key Terms Explained
New to Voice AI? Here's what the technical terms mean in plain English:
**Think of it as**: The brain of your AI agent.
An LLM is an AI system (like ChatGPT) that understands language and generates human-like responses. When someone speaks to your agent, the LLM reads the transcribed text, understands what the person wants, and writes a response, just like a customer service rep would.
**Examples**: OpenAI GPT-4, Anthropic Claude, Google Gemini
**Think of it as**: The ears of your AI agent.
ASR (Automatic Speech Recognition) listens to what someone says on a call and converts their spoken words into written text. This text is then sent to the LLM so it can understand and respond.
**Examples**: Deepgram, Azure Speech, Google STT
**Think of it as**: The voice of your AI agent.
TTS (Text-to-Speech) takes the written response from the LLM and speaks it out loud in a natural-sounding voice. You can choose different voices, accents, and speaking styles to match your brand.
**Examples**: ElevenLabs, Cartesia, Azure TTS
**Think of it as**: The phone company that connects your calls.
A telephony provider handles the actual phone infrastructure for buying phone numbers, connecting calls, and ensuring audio quality. Bolna integrates with providers so your AI agent can make and receive real phone calls.
**Examples**: Twilio, Plivo, Exotel, Vobiz
**Think of it as**: Your virtual employee.
An agent is a complete Voice AI system configured with a personality, instructions, voice, and capabilities. It's like hiring a virtual employee; you tell it what to say, how to act, and what tasks to perform.
**Think of it as**: The training manual for your agent.
A prompt is a set of instructions you write to tell the agent how to behave. It includes the agent's personality, what information to collect, how to handle different situations, and what NOT to say.
**Think of it as**: Response time, how fast the agent replies.
Latency is the delay between when someone finishes speaking and when the agent starts responding. Lower latency (under 1 second) feels more natural, like a real conversation. Bolna optimizes for sub-600ms latency.
**Think of it as**: Reference documents your agent can read.
A knowledge base is a collection of documents (PDFs, websites, FAQs) that your agent can search during conversations. RAG (Retrieval-Augmented Generation) is the technology that lets the agent find relevant information and use it in responses.
***
## What Can Bolna Agents Do?
### Handle Phone Calls
Answer customer calls 24/7 with AI-powered responses
Proactively reach customers for sales, reminders, and follow-ups
Launch campaigns with thousands of concurrent calls
Route to human agents when AI assistance isn't enough
***
### Execute Actions During Calls
Agents can perform **real-time actions** by calling external APIs and tools:
| Tool | What It Does |
| ------------------------ | --------------------------------------------- |
| **Check Calendar Slots** | Query available appointment slots via Cal.com |
| **Book Appointments** | Schedule meetings directly during the call |
| **Transfer Calls** | Route to human agents or other numbers |
| **Custom Functions** | Call any API endpoint based on conversation |
Configure function tools in the [Tools Tab](/agent-setup/tools-tab). Your agent can access CRMs, databases, payment systems, and more, all while on the call.
***
### Extract Insights After Calls
Every conversation generates valuable data:
Full conversation text with speaker labels
Audio recordings for review and training
AI-generated call summaries
Configure **post-call analytics** in the [Analytics Tab](/agent-setup/analytics-tab) to automatically extract:
* Customer intent and sentiment
* Key data points (name, email, order ID)
* Custom fields you define
***
## Agent Configuration
Every Bolna agent is customized through **8 configuration tabs**:
**Prompts & Personality**
Define your agent's welcome message, instructions, and conversation behavior.
**Intelligence & Knowledge**
Choose your language model and connect knowledge bases for context-aware responses.
**Voice & Transcription**
Select voice provider, language, and transcription settings.
**Latency & Behavior**
Fine-tune response timing, interruption handling, and user detection.
**Telephony & Features**
Configure voicemail detection, DTMF input, and call timeouts.
**API Integrations**
Connect Cal.com, CRMs, and custom function tools.
**Webhooks & Extraction**
Set up post-call summaries, data extraction, and webhooks.
**Caller Matching**
Match callers to your database and prevent spam.
***
## Use Cases
Handle FAQs, troubleshoot issues, and escalate complex cases
Qualify inbound leads and schedule meetings with sales reps
Book, reschedule, and confirm appointments automatically
Screen candidates and schedule interviews at scale
***
## Get Started
Build an agent in under 5 minutes
Explore all configuration options
Set up voice, LLM, and telephony providers
Start from pre-built templates
# Enhance Call Capabilities with Bolna's Plivo Integration
Source: https://www.bolna.ai/docs/plivo
Integrate Plivo with Bolna to manage outbound & inbound calls for India. Access setup guides for seamless Voice AI agent communication using your Plivo numbers.
## What is Plivo integration in Bolna?
Plivo is a cost-effective telephony provider supported by Bolna Voice AI. By integrating Plivo with Bolna, you can make outbound calls, receive inbound calls, and use your own Plivo account for complete control over your phone numbers and calling infrastructure.
Learn more about [supported telephony providers](/supported-telephony-providers) or [purchase phone numbers](/buying-phone-numbers) directly through Bolna.
## How to get started with Plivo
Bolna agents make phone calls using Plivo numbers
Bolna agents receive phone calls on Plivo numbers and answers them
Use your own Plivo account with Bolna
## Why use Plivo with Bolna?
Plivo offers several advantages:
* **Cost-effective**: Competitive international calling rates
* **Reliable infrastructure**: Good uptime and call quality
* **Global coverage**: Support for calls in many countries
* **Easy integration**: Seamless setup with Bolna platform
For high-volume calling needs, consider using [batch calling](/batch-calling) to scale efficiently. Compare Plivo with [Twilio](/twilio) to choose the best provider for your needs.
# Link Your Plivo Account to Bolna for Voice AI
Source: https://www.bolna.ai/docs/plivo-connect-provider
Securely connect your Plivo account with Bolna. Enable your Voice AI agents to utilize Plivo phone numbers for managing inbound and outbound calls.
## Use your own Plivo account to make outbound calls
You can connect your own Plivo account and start using it on Bolna. All calls initiated from Bolna will be from your own Plivo account and use your own Plivo phone numbers.
1. Navigate to `Providers` tab from the left menu bar & Click **Plivo connect button**.
2. Fill in the required details.
3. Save details by clicking on the **connect button**.
4. You'll see that your Plivo account was successfully connected. All your calls will now go via your own Plivo account and phone numbers.
# Initiate Outbound Calls via Plivo with Bolna Voice AI
Source: https://www.bolna.ai/docs/plivo-outbound-calls
Configure Bolna Voice AI agents to make outbound calls through Plivo. Learn to set up calls using the dashboard and APIs for effective outreach.
## Making outbound calls from dashboard
1. Login to the dashboard at [https://platform.bolna.ai](https://platform.bolna.ai) using your account credentials
2. Choose `Plivo` as the Call provider for your agent and save it
3. Start placing phone calls by providing the recipient phone numbers.
Bolna will place the calls to the provided phone numbers.
You can place calls using your own custom Plivo phone numbers only if you've connected your Plivo account.
You can read more on how to connect your Plivo account [here](/providers).
## Making outbound calls Using APIs
1. Generate and save your [Bolna API Key](/api-reference/introduction#steps-to-generate-your-api-key)
2. Set your agent `input` and `output` tools as `plivo` while using [`/create` Agent API](/api-reference/agent/create)
```create-agent.json theme={"system"}
...
...
"tools_config": {
"output": {
"format": "wav",
"provider": "plivo"
},
"input": {
"format": "wav",
"provider": "plivo"
},
"synthesizer": {...},
"llm_agent": {...},
"transcriber": {...},
"api_tools": {...}
}
...
...
```
3. Use [`/call` API](api-reference/calls/make) to place the call to the agent
```call.json theme={"system"}
curl --request POST \
--url https://api.bolna.ai/call \
--header 'Authorization: ' \
--header 'Content-Type: application/json' \
--data '{
"agent_id": "123e4567-e89b-12d3-a456-426655440000",
"recipient_phone_number": "+10123456789"
}'
```
# Receive Bolna Voice AI call updates
Source: https://www.bolna.ai/docs/polling-call-status-webhooks
Receive real-time call status updates from Bolna Voice AI using webhooks. Automate workflows, update CRM, and sync data with your systems.
## What are Webhooks?
Webhooks allow you to receive real-time call data from Bolna as call status updates happen. When a call status changes, Bolna sends an HTTP POST request to your server with the execution data.
***
## Setting Up Webhooks
Open your agent and navigate to the **[Analytics Tab](/agent-setup/analytics-tab)**.
In the **"Push all execution data to webhook"** section, enter your webhook endpoint URL.
Click **Save agent** to activate the webhook.
**Your webhook endpoint must be publicly accessible** and able to receive HTTP POST requests. Bolna will POST data to this URL as call status updates.
***
## IP Whitelist
Webhooks are sent from the following IP address. **Whitelist this IP** on your server to ensure you receive all webhook events.
```
13.203.39.153
```
***
## Webhook Payload
The webhook payload is the **same structure as the Raw Call Data** you see in [Call History](/call-history). It matches the [Get Execution API](/api-reference/executions/get_execution) response format.
As call status updates (queued → in-progress → completed), Bolna sends POST requests to your webhook with the current execution data.
Test your webhook integration using [webhook.site](https://webhook.site) before implementing a production server.
***
## Use Cases
Automatically update customer records after each call
Build live dashboards with call metrics and analytics
Trigger actions based on call outcomes
Log all call data to your preferred storage system
***
## Call Statuses
Learn about all valid call status types in Bolna Voice AI
***
## Next Steps
Configure post-call extraction and summarization
View raw call data and recordings
Understand the execution data structure
Automate outbound calling campaigns
# Bolna Voice AI usage pricing
Source: https://www.bolna.ai/docs/pricing/call-pricing
Discover detailed insights into Bolna Voice AI's pricing structure. Learn about cost breakdowns and flexible plans tailored to your business needs.
## How much does Bolna Voice AI cost?
Bolna Voice AI uses a transparent, usage-based pricing model. You only pay for what you use, with costs broken down into three simple components: Voice AI processing (STT + LLM + TTS), telephony charges, and a flat Bolna platform fee.
Bolna charges a flat **2 cents** platform fees per minute of calls.
## What are the components of call pricing?
Bolna AI costs consist of:
* Part A. Voice AI charges (STT + LLM + TTS)
* Part B. Telephony charges (billed per minute)
* Part C. Bolna Platform fees (billed per minute)
### Part A. Voice AI charges
Your choice of Speech to Text (STT) model and provider.
Depends on the **duration of calls** (rounded to seconds).
Your choice of Large Language Model (LLM) and provider.
Depends on the **total LLM tokens generated**.
Your choice of Speech to Text (STT) model and provider.
Depends on the **characters**.
### Part B. Telephony charges
Your telephony provider and the country/region of the phone numbers.
Depends on the **duration of calls** (rounded to minutes).
### Part C. Bolna Platform charges
Flat **\$0.02/minute**
***
## Bolna Voice AI Pricing plans
**Perfect for small businesses**
You'll be charged depending on the combination of models you've selected for the agent.
The dashboard displays a near approximate pricing for your agent depending on your chosen providers and models.
Here are few examples of different scenarios for the calls costs.
An example were there are no connected accounts.
**Suitable for businesses with growing volumes**
You can choose one of the following tiers and we'll charge you a flat price irrespective of the amount of tokens generated.
| Amount | Total Minutes | Per Minute Cost | Pulse (in seconds) |
| ------ | -------------- | --------------- | ------------------ |
| \$100 | 800 minutes | \$0.125/minute | 30 seconds |
| \$225 | 2500 minutes | \$0.09/minute | 30 seconds |
| \$750 | 10,000 minutes | \$0.08/minute | 30 seconds |
| \$1400 | 20,000 minutes | \$0.07/minute | 30 seconds |
Following models qualify for fixed model pricing:
* All `Deepgram` models
* All `Azure` models
* All `OpenAI` models except `gpt-4o` and `gpt-4.1`.
* All `Azure-OpenAI` models except `gpt-4o` and `gpt-4.1`.
* All `ElevenLabs` voices
* All `Cartesia` voices
* All `Azure` voices
* All `Deepgram` voices
* All `AWS Polly` voices
* All `Rime` voices
## How can I reduce my Voice AI costs?
You can significantly reduce costs by connecting your own provider accounts. When you connect your own providers, Bolna doesn't charge for those components—you only pay your providers directly plus Bolna's platform fee.
Head over to [Providers page](https://platform.bolna.ai/providers) to connect your accounts.
[Navigate](/providers) here to learn more about Supported Providers and connecting your accounts.
## Where can I see my call costs?
After each conversation, go to the [Agent Executions page](https://platform.bolna.ai/agent-executions) to see how many credits the conversation consumed.
You can connect your own [Providers](/providers) like [Telephony](/supported-telephony-providers), [Transcriber](/providers/transcriber/deepgram), [LLMs](/providers/llm-model/openai), [Text-to-Speech](/providers/voice/elevenlabs) and lower the costs. In that case Bolna will not charge for that component.
## Next steps
Ready to optimize your Voice AI costs? Explore cost-saving options:
* [Connect your provider accounts](/providers) to reduce per-call costs
* Review [fixed model pricing plans](#fixed-model-pricing) for predictable budgeting
* Monitor [call execution history](https://platform.bolna.ai/agent-executions) to track spending
* Review billing details in your [Bolna dashboard](https://platform.bolna.ai)
* [Contact our team](mailto:founders@bolna.ai) for customized volume-based enterprise pricing
For high-volume deployments (10,000+ calls/month), consider our [Enterprise Plan](/enterprise/plan) with volume discounts and priority support.
Please reach out to us at [founders@bolna.ai](mailto:founders@bolna.ai) for customized volume-based pricing.
# Supported Providers for Bolna Voice AI
Source: https://www.bolna.ai/docs/providers
Explore the list of providers supported by Bolna Voice AI, including integrations for telephony, transcription, and text-to-speech services to lower your costs
We don't charge for any usage for providers that you have connected to Bolna.
We connect all your `Provider` accounts securely via using [infisical](https://infisical.com/).
### Steps to add your own Provider credentials:
Login to the dashboard at [https://platform.bolna.ai](https://platform.bolna.ai)
Navigate to `Developers` tab from the left menu bar
Head over to the `Provider Keys` tab
Click the button `Add Provider Key` to your Provider key-value pair
Save your Provider
We currently have the following providers which you can connect to Bolna.
All these keys **must** be added for the respective provider.
| Property | Description |
| --------------------- | ------------------- |
| `TWILIO_ACCOUNT_SID` | Twilio account SID |
| `TWILIO_AUTH_TOKEN` | Twilio token |
| `TWILIO_PHONE_NUMBER` | Twilio phone number |
For creating a free Twilio Account you can checkout their blog [How to Work with your Free Twilio Trial Account](https://www.twilio.com/docs/messaging/guides/how-to-use-your-free-trial-account)
| Property | Description |
| -------------------- | ------------------ |
| `PLIVO_AUTH_ID` | Plivo auth ID |
| `PLIVO_AUTH_TOKEN` | Plivo auth token |
| `PLIVO_PHONE_NUMBER` | Plivo phone number |
| Property | Description |
| -------------------- | ------------------ |
| `VOBIZ_AUTH_ID` | Vobiz Auth ID |
| `VOBIZ_AUTH_TOKEN` | Vobiz Auth Token |
| `VOBIZ_PHONE_NUMBER` | Vobiz phone number |
| Property | Description |
| ------------------------ | ------------------------------ |
| `EXOTEL_API_KEY` | Exotel API Key |
| `EXOTEL_API_TOKEN` | Exotel API token |
| `EXOTEL_ACCOUNT_SID` | Exotel Account SID |
| `EXOTEL_DOMAIN` | Exotel Domain |
| `EXOTEL_PHONE_NUMBER` | Exotel phone number |
| `EXOTEL_OUTBOUND_APP_ID` | Exotel Outbound Application ID |
| `EXOTEL_INBOUND_APP_ID` | Exotel Inbound Application ID |
| Property | Description |
| -------- | ------------------- |
| `OPENAI` | Your OpenAI API key |
| Property | Description |
| ------------ | ----------------------- |
| `OPENROUTER` | Your OpenRouter API key |
| Property | Description |
| -------------------------- | ---------------------------- |
| `AZURE_OPENAI_API_KEY` | Your Azure API key |
| `AZURE_OPENAI_MODEL` | Your Azure OpenAI model |
| `AZURE_OPENAI_API_BASE` | Your Azure URL |
| `AZURE_OPENAI_API_VERSION` | Your Azure Model API version |
For custom llm simply keep provider in the `llm_agent` key as `custom` and add a openai compatible `base_url`
#### Example LLM Agent key for the
```
"llm_agent": {
"max_tokens": 100.0,
"presence_penalty": 0.0,
"base_url": "https://custom.llm.model/v1",
"extraction_details": null,
"top_p": 0.9,
"agent_flow_type": "streaming",
"request_json": false,
"routes": null,
"min_p": 0.1,
"frequency_penalty": 0.0,
"stop": null,
"provider": "custom",
"top_k": 0.0,
"temperature": 0.2,
"model": "custom-llm-model",
"family": "llama"
}
```
| Property | Description |
| ------------ | ----------------------- |
| `ELEVENLABS` | Your Elevenlabs API key |
| Property | Description |
| ---------- | --------------------- |
| `CARTESIA` | Your Cartesia API key |
| Property | Description |
| -------- | ------------------- |
| `SARVAM` | Your Sarvam API key |
| Property | Description |
| ---------- | --------------------- |
| `SMALLEST` | Your Smallest API key |
| Property | Description |
| ---------- | ----------------- |
| `DEEPGRAM` | Your Deepgram key |
# Use Anthropic with Bolna Voice AI
Source: https://www.bolna.ai/docs/providers/llm-model/anthropic
Build powerful voice AI agents using Claude Sonnet 4. Create enterprise-grade conversational AI with Anthropic's advanced models.
## Anthropic API Integration for Voice AI Applications
[Anthropic](https://www.anthropic.com/) provides advanced Large Language Models (LLMs) with superior reasoning capabilities, safety features, and large context windows for building intelligent voice AI agents. This comprehensive guide covers Anthropic API integration with Bolna, including authentication, model selection, and implementation best practices for conversational AI applications.
## Why Choose Anthropic Models for Voice AI Agents?
Anthropic's Claude models offer exceptional performance for voice AI applications through cutting-edge AI capabilities and safety features:
### 1. Advanced Reasoning and Intelligence
* **Claude Sonnet 4**: Latest model with enhanced reasoning capabilities and improved accuracy
* **Claude Opus 4**: Premium model offering maximum intelligence for complex problem-solving
* **Multi-step reasoning**: Handles sophisticated logical chains in voice conversations
* **Context understanding**: Maintains nuanced understanding across extended interactions
* **Analytical thinking**: Provides detailed explanations and step-by-step problem solving
### 2. Large Context Windows and Memory
* **Extended context**: Up to 200K tokens for comprehensive conversation memory
* **Document processing**: Handles large documents and extensive conversation histories
* **Context retention**: Maintains conversation state across long interactions
* **Multi-turn conversations**: Excels at complex, extended voice dialogues
### 3. Safety and Alignment Features
* **Constitutional AI**: Trained to be helpful, harmless, and honest
* **Safety guardrails**: Built-in content filtering and responsible AI features
* **Reliable responses**: Consistent, trustworthy outputs for enterprise applications
* **Ethical reasoning**: Considers ethical implications in decision-making
### 4. Enterprise-Grade Performance
* **High reliability**: Consistent performance for production voice AI systems
* **Scalable infrastructure**: Handles high-volume concurrent voice interactions
* **API compatibility**: OpenAI-compatible API through LiteLLM integration
* **Function calling**: Seamless integration with external APIs and databases
## Model Selection Guide
### Claude Sonnet 4 (Latest Enhanced Model)
* **Best for**: Applications requiring the latest reasoning capabilities with improved accuracy
* **Use cases**: Complex customer service, advanced problem-solving, detailed consultations
* **Performance**: Enhanced reasoning with optimized response times
* **Context**: Large context window for comprehensive conversation memory
## Supported Anthropic Models on Bolna AI
| Model | Context Window | Best Use Case | Key Features |
| ---------------------------- | -------------- | ---------------------------------------------- | ------------------------------------- |
| **claude-sonnet-4-20250514** | 200K tokens | Latest enhanced reasoning, production voice AI | Advanced reasoning, improved accuracy |
## Next Steps
Ready to integrate Anthropic with your voice AI agent? Start by [configuring your LLM settings in the Playground](/agent-setup/llm-tab) or explore our [API documentation](/api-reference/introduction) for programmatic integration.
For related integrations:
* Compare with [OpenAI models](/providers/llm-model/openai) for different capabilities
* Explore [Azure OpenAI](/providers/llm-model/azure-openai) for enterprise deployments
* Configure [custom LLM endpoints](/customizations/using-custom-llm) if needed
* Set up [guardrails](/guardrails) to complement Anthropic's safety features
Need help? [Contact our team](mailto:support@bolna.ai) for personalized setup assistance.
# Use Azure OpenAI with Bolna Voice AI
Source: https://www.bolna.ai/docs/providers/llm-model/azure-openai
Azure OpenAI dedicated clusters for GPT-4.1, GPT-4o, GPT-4, and GPT-3.5-turbo models and deploy powerful conversational Voice AI applications.
## Azure OpenAI API Integration for Voice AI Applications
[Azure OpenAI Service](https://azure.microsoft.com/en-us/products/ai-services/openai-service) provides enterprise-grade access to OpenAI's powerful Large Language Models (LLMs) through Microsoft's secure, compliant, and scalable cloud infrastructure. This comprehensive guide covers Azure OpenAI API integration with Bolna, including authentication, model selection, and implementation best practices for enterprise conversational AI applications.
## Why Choose Azure OpenAI Models for Voice AI Agents?
Azure OpenAI offers the same cutting-edge OpenAI models with additional enterprise benefits for voice AI applications:
### 1. Enterprise-Grade Security and Compliance
* **Data residency control**: Keep your voice AI data within specific geographic regions
* **Private networking**: VNet integration and private endpoints for secure connections
* **Compliance certifications**: SOC 2, ISO 27001, HIPAA, and other enterprise standards
* **Customer-managed keys**: Full control over encryption keys for sensitive voice data
### 2. Advanced Natural Language Understanding (NLU)
* **Same OpenAI models**: Access to GPT-4o, GPT-4, and GPT-3.5-turbo with identical capabilities
* **Multi-turn conversation handling**: Maintains context across extended voice interactions
* **Intent recognition**: Accurately identifies user intentions from spoken language
* **Multilingual support**: Processes voice inputs in 50+ languages
* **Semantic understanding**: Comprehends nuanced meaning and context in conversations
### 3. Enterprise Infrastructure and Reliability
* **99.9% uptime SLA**: Ensures consistent availability for production voice AI systems
* **Global scale**: Leverage Microsoft's worldwide data center network
* **Integrated monitoring**: Azure Monitor and Application Insights for comprehensive observability
* **Cost management**: Built-in Azure cost controls and budgeting tools
### 4. Advanced AI Capabilities with Azure Integration
* **Function calling**: Integrates with Azure services and external APIs seamlessly
* **Azure AI services integration**: Combine with Azure Speech, Translator, and other AI services
* **Structured output**: Returns JSON responses for seamless integration
* **Custom fine-tuning**: Train models on your specific voice AI use cases
* **Content filtering**: Built-in responsible AI content filtering and safety measures
### Model Selection Guide
Choose the optimal Azure OpenAI model based on your voice AI requirements:
#### GPT-4o (Recommended for Production)
* **Best for**: High-quality conversational AI with complex reasoning
* **Use cases**: Customer service, sales calls, technical support
* **Performance**: Fastest response times with superior accuracy
* **Azure benefits**: Enhanced security, compliance, and monitoring
#### GPT-4o-mini (Cost-Effective Option)
* **Best for**: High-volume applications requiring cost optimization
* **Use cases**: Lead qualification, appointment scheduling, basic inquiries
* **Performance**: Balanced speed and quality
* **Cost**: 60% lower cost than GPT-4o with Azure pricing tiers
#### GPT-4 (Maximum Reasoning)
* **Best for**: Applications requiring maximum reasoning capability
* **Use cases**: Complex problem-solving, detailed analysis
* **Performance**: Highest quality with comprehensive reasoning
* **Azure benefits**: Enterprise-grade deployment and management
#### GPT-3.5-turbo (Budget Option)
* **Best for**: Simple conversational tasks and prototyping
* **Use cases**: Basic chatbots, simple Q\&A systems
* **Performance**: Fast responses with good quality
* **Cost**: Most economical option with Azure cost controls
## Implementation Best Practices
### Optimizing for Voice AI Performance
1. **Prompt Engineering for Voice**
* Design prompts specifically for spoken interactions
* Include context about voice communication style
* Optimize for concise, natural-sounding responses
2. **Azure-Specific Optimizations**
* Implement Azure AD authentication for enhanced security
* Use Azure Key Vault for secure credential management
* Configure Azure Monitor for performance tracking
3. **Error Handling and Resilience**
* Implement fallback responses for API failures
* Handle rate limiting gracefully with Azure quotas
* Use Azure Service Bus for reliable message queuing
4. **Performance Monitoring**
* Track response times and quality metrics with Azure Monitor
* Monitor API usage and costs through Azure Cost Management
* Implement comprehensive logging with Azure Application Insights
## Supported Azure OpenAI Models on Bolna AI
| Model | Context Window | Best Use Case | Azure Benefits |
| ----------------- | -------------- | ------------------------------------------ | ---------------------------------- |
| **gpt-4o** | 128K tokens | Production voice AI, complex conversations | Enterprise security, compliance |
| **gpt-4o-mini** | 128K tokens | Cost-effective voice applications | Azure cost controls, monitoring |
| **gpt-4** | 8K tokens | Maximum reasoning capability | Private deployment, data residency |
| **gpt-3.5-turbo** | 4K tokens | Simple conversations, prototyping | Budget-friendly with Azure pricing |
## Next Steps
Ready to integrate Azure OpenAI with your voice AI agent? Start by [configuring your LLM settings in the Playground](/agent-setup/llm-tab) or explore our [API documentation](/api-reference/introduction) for programmatic integration.
For related integrations:
* Compare with [OpenAI](/providers/llm-model/openai) for standard deployments
* Explore [Anthropic Claude models](/providers/llm-model/anthropic) for enhanced reasoning
* Learn about [data residency options](/enterprise/data-residency) for compliance
* Configure [enterprise features](/enterprise/plan) for production deployments
* You can also connect your own Azure account and use it with [Bolna AI](https://platform.bolna.ai/auth/azure)
Need help? [Contact our team](mailto:support@bolna.ai) for personalized setup assistance with Azure's enterprise-grade infrastructure.
# Use DeepSeek with Bolna Voice AI
Source: https://www.bolna.ai/docs/providers/llm-model/deepseek
Complete Bolna AI Voice Agents with DeepSeek. Build cost-effective voice AI agents for conversational Voice AI applications with DeepSeek-Chat models.
## DeepSeek API Integration for Voice AI Applications
[DeepSeek](https://www.deepseek.com/) provides advanced Large Language Models (LLMs) with competitive pricing and powerful reasoning capabilities for building intelligent voice AI agents. This comprehensive guide covers DeepSeek API integration with Bolna, including authentication, model selection, and implementation best practices for cost-effective conversational AI applications.
## Why Choose DeepSeek Models for Voice AI Agents?
DeepSeek offers compelling advantages for voice AI applications through innovative models and competitive pricing:
### 1. Advanced Reasoning Capabilities
* **DeepSeek-Reasoner (R1)**: State-of-the-art reasoning model with enhanced problem-solving abilities
* **Multi-step reasoning**: Handles complex logical chains in voice conversations
* **Context understanding**: Maintains sophisticated reasoning across extended interactions
* **Analytical thinking**: Provides detailed explanations and step-by-step problem solving
### 2. Cost-Effective Performance
* **Competitive pricing**: Significantly lower costs compared to premium alternatives
* **Cache optimization**: Reduced costs with cache hit/miss pricing tiers
* **Discount pricing**: Special pricing during off-peak hours (UTC 16:30-00:30)
* **Flexible pricing tiers**: Standard and discount pricing options for different use cases
### 3. OpenAI-Compatible API
* **Seamless integration**: Drop-in replacement for OpenAI API calls
* **Familiar interface**: Same API format and parameters as OpenAI
* **Easy migration**: Simple transition from other OpenAI-compatible providers
* **Standard features**: JSON output, function calling, and streaming responses
### 4. Advanced AI Features
* **Function calling**: Integrates with external APIs and databases
* **JSON output**: Structured responses for seamless integration
* **Chat prefix completion**: Enhanced conversation flow capabilities
* **FIM completion**: Fill-in-the-middle completion for code and text
* **Streaming responses**: Real-time response generation for natural conversations
## Implementation Best Practices
### Optimizing for Voice AI Performance
1. **Model Selection Strategy**
* Use DeepSeek-Chat for general conversational tasks
* Deploy DeepSeek-Reasoner for complex problem-solving scenarios
* Consider hybrid approaches for different conversation types
2. **Cost Optimization**
* Leverage cache hit pricing for repeated queries
* Schedule high-volume operations during discount hours
* Implement intelligent caching strategies
* Monitor token usage and optimize prompt length
3. **Performance Tuning**
* Configure appropriate temperature settings for voice interactions
* Implement streaming for real-time conversation flow
* Use function calling for external service integration
* Optimize context window usage for conversation memory
4. **Error Handling**
* Implement fallback responses for API failures
* Handle rate limiting gracefully
* Provide clear error messages for users
* Monitor API status and performance metrics
## Supported DeepSeek Models on Bolna AI
| Model | Context Window | Best Use Case | Pricing Advantage |
| ----------------- | -------------- | --------------------------------------- | -------------------------------------- |
| **deepseek-chat** | 64K tokens | General conversations, customer service | Highly cost-effective for volume usage |
## Next Steps
Ready to integrate DeepSeek with your voice AI agent? [Contact our team](mailto:support@bolna.ai) for personalized setup assistance or explore our [API documentation](/api-reference/introduction) for advanced configuration options. Take advantage of DeepSeek's cost-effective pricing and advanced reasoning capabilities to build powerful, affordable voice AI solutions.
# Use OpenAI with Bolna Voice AI
Source: https://www.bolna.ai/docs/providers/llm-model/openai
Build powerful voice AI agents using GPT-4.1, GPT-4o, and GPT-3.5-turbo. Create enterprise-grade conversational AI and LLM-powered voice assistants.
## OpenAI API Integration for Voice AI Applications
[OpenAI's](https://openai.com/) Large Language Models (LLMs) provide state-of-the-art natural language processing capabilities for building intelligent voice AI agents. This comprehensive guide covers OpenAI API integration with Bolna, including authentication, model selection, and implementation best practices for conversational AI applications.
## Why Choose OpenAI Models for Voice AI Agents?
OpenAI's GPT models offer superior performance for voice AI applications through:
### 1. Advanced Natural Language Understanding (NLU)
* **Multi-turn conversation handling**: Maintains context across extended voice interactions
* **Intent recognition**: Accurately identifies user intentions from spoken language
* **Multilingual support**: Processes voice inputs in 50+ languages
* **Semantic understanding**: Comprehends nuanced meaning and context in conversations
### 2. Real-time Response Generation
* **Low latency processing**: Optimized for real-time voice applications
* **Streaming responses**: Enables natural conversation flow
* **Context-aware replies**: Generates relevant responses based on conversation history
* **Adaptive tone matching**: Adjusts communication style to match user preferences
### 3. Enterprise-Grade Reliability
* **99.9% uptime SLA**: Ensures consistent availability for production voice AI systems
* **Scalable infrastructure**: Handles high-volume concurrent voice interactions
* **Security compliance**: SOC 2 Type II certified with enterprise security standards
* **Rate limiting management**: Built-in controls for cost optimization
### 4. Advanced AI Capabilities
* **Function calling**: Integrates with external APIs and databases
* **Code interpretation**: Processes and generates code snippets during conversations
* **Structured output**: Returns JSON responses for seamless integration
* **Custom instructions**: Tailors behavior for specific use cases and industries
### Model Selection Guide
Choose the optimal OpenAI model based on your voice AI requirements:
#### GPT-4.1 (Latest Enhanced Model)
* **Best for**: Applications requiring enhanced reasoning with improved accuracy
* **Use cases**: Complex analysis, advanced problem-solving, detailed conversations
* **Performance**: Superior reasoning capabilities with optimized response times
* **Cost**: Premium pricing for advanced AI capabilities
#### GPT-4o (Recommended for Production)
* **Best for**: High-quality conversational AI with complex reasoning
* **Use cases**: Customer service, sales calls, technical support
* **Performance**: Fastest response times with superior accuracy
* **Cost**: Premium pricing for enterprise applications
#### GPT-4o-mini (Cost-Effective Option)
* **Best for**: High-volume applications requiring cost optimization
* **Use cases**: Lead qualification, appointment scheduling, basic inquiries
* **Performance**: Balanced speed and quality
* **Cost**: 60% lower cost than GPT-4o
#### GPT-4 (Legacy Model)
* **Best for**: Applications requiring maximum reasoning capability
* **Use cases**: Complex problem-solving, detailed analysis
* **Performance**: Highest quality with slower response times
* **Cost**: Higher latency may impact voice experience
#### GPT-3.5-turbo (Budget Option)
* **Best for**: Simple conversational tasks and prototyping
* **Use cases**: Basic chatbots, simple Q\&A systems
* **Performance**: Fast responses with good quality
* **Cost**: Most economical option
## Implementation Best Practices
### Optimizing for Voice AI Performance
1. **Prompt Engineering for Voice**
* Design prompts specifically for spoken interactions
* Include context about voice communication style
* Optimize for concise, natural-sounding responses
2. **Context Management**
* Implement conversation memory for multi-turn interactions
* Maintain user preferences across sessions
* Handle interruptions and conversation flow naturally
3. **Error Handling**
* Implement fallback responses for API failures
* Handle rate limiting gracefully
* Provide clear error messages for users
4. **Performance Monitoring**
* Track response times and quality metrics
* Monitor API usage and costs
* Implement logging for debugging and optimization
## Supported OpenAI Models on Bolna AI
| Model | Context Window | Best Use Case | Relative Cost |
| ----------------- | -------------- | ------------------------------------------ | ------------- |
| **gpt-4.1** | 32K tokens | Enhanced reasoning with improved accuracy | Medium |
| **gpt-4o** | 128K tokens | Production voice AI, complex conversations | High |
| **gpt-4o-mini** | 128K tokens | Cost-effective voice applications | Medium |
| **gpt-4** | 8K tokens | Maximum reasoning capability | High |
| **gpt-3.5-turbo** | 4K tokens | Simple conversations, prototyping | Low |
## Next Steps
Ready to integrate OpenAI with your voice AI agent? Start by [configuring your LLM settings in the Playground](/agent-setup/llm-tab) or explore our [API documentation](/api-reference/introduction) for programmatic integration.
For related integrations:
* Compare with [Azure OpenAI](/providers/llm-model/azure-openai) for enterprise deployments
* Explore [Anthropic Claude models](/providers/llm-model/anthropic) for advanced reasoning
* Configure [transcriber providers](/providers/transcriber/deepgram) for voice input
* Select [voice synthesizers](/providers/voice/elevenlabs) for natural-sounding output
* You can also connect your own OpenAI account and use it with [Bolna AI](https://platform.bolna.ai/auth/openai)
Need help? [Contact our team](mailto:support@bolna.ai) for personalized setup assistance.
# Use OpenRouter with Bolna Voice AI
Source: https://www.bolna.ai/docs/providers/llm-model/openrouter
Learn how to integrate OpenRouter with Bolna Voice AI to access multiple LLM providers like GPT‑4, Claude, Mistral - all via a unified API gateway.
## OpenRouter API Integration for Voice AI Applications
[OpenRouter](https://openrouter.ai) offers a single, unified API gateway to top‑tier Large Language Models (LLMs) from multiple providers such as OpenAI, Anthropic, Mistral, and more. With Bolna Voice AI, you can leverage OpenRouter to seamlessly integrate and switch between models, implement intelligent fallback strategies, and optimize for both performance and cost—all without managing multiple provider integrations.
This guide covers OpenRouter API integration with Bolna, including authentication, model selection, and implementation best practices for advanced voice AI applications.
***
## Why Choose OpenRouter for Voice AI Agents?
OpenRouter unlocks the flexibility to use a variety of cutting‑edge LLMs with additional benefits for conversational AI:
### 1. Unified Access to Multiple LLM Providers
* **One API key**: Access OpenAI, Anthropic, Mistral, and more without juggling multiple credentials
* **Centralized authentication**: Simplifies security and API key management
* **Model variety**: Choose the best model for your specific use case from a wide catalog
### 2. Intelligent Routing and Fallback
* **Custom routing rules**: Select primary, secondary, and backup models for resilience
* **Automatic fallback**: Reduce downtime by switching to alternative models during outages
* **Cost‑aware routing**: Optimize expenses by routing specific requests to lower‑cost models
### 3. Performance and Cost Optimization
* **High‑volume efficiency**: Assign lightweight queries to faster, cheaper models
* **Premium access when needed**: Reserve high‑cost, high‑accuracy models for critical tasks
* **Budget control**: Monitor and manage spend centrally via the OpenRouter dashboard
### 4. Seamless Bolna Integration
* **Voice‑optimized**: Works natively with Bolna’s prompt handling and real‑time streaming
* **Tool support**: Compatible with Bolna function calling, structured output, and action tools
* **Scalable architecture**: Handles production‑level voice AI deployments with ease
***
## Model Selection Guide
Choose the optimal OpenRouter model for your voice AI needs:
#### GPT‑4, GPT-4o & GPT-4.1 family (via OpenRouter)
* **Best for**: Premium, high‑accuracy conversational AI
* **Use cases**: Complex reasoning, customer support, technical assistance
* **Performance**: High‑quality responses with extended context
* **Benefit**: Access without direct OpenAI account management
***
## Implementation Best Practices
### Optimizing for Voice AI Performance
1. **Prompt Engineering for Voice**
* Tailor prompts for spoken interaction styles
* Keep instructions concise yet context‑rich
* Encourage natural‑sounding, conversational output
2. **Routing and Fallback Strategies**
* Define primary and backup models for reliability
* Route by query type—complex queries to GPT‑4, simpler ones to Mistral or Claude
* Test failover scenarios before production deployment
3. **Cost and Latency Management**
* Monitor spend via the OpenRouter dashboard
* Assign high‑volume workloads to cost‑efficient models
* Enable streaming for reduced perceived latency in voice calls
4. **Error Handling and Resilience**
* Implement retries with fallback logic
* Log provider availability to refine routing rules
* Handle rate limits gracefully
***
## Supported OpenRouter Models on Bolna AI
| Model | Context Window | Best Use Case | Key Benefit |
| --------------------------- | -------------- | ---------------------------------------- | -------------------------------- |
| **openrouter/gpt‑4** | \~32K tokens | Premium, high‑accuracy conversations | Access GPT‑4 via unified API |
| **openrouter/gpt‑4o** | \~128K tokens | Real‑time, high‑quality conversations | Faster than GPT‑4 Turbo |
| **openrouter/gpt‑4o-mini** | \~128K tokens | High‑volume, cost‑efficient interactions | Lower cost with balanced quality |
| **openrouter/gpt‑4.1** | \~128K tokens | Complex reasoning, advanced Q\&A | Improved speed and reasoning |
| **openrouter/gpt‑4.1-mini** | \~128K tokens | Mid‑complexity, budget‑friendly tasks | Lower cost with good reasoning |
| **openrouter/gpt‑4.1-nano** | \~128K tokens | Quick, lightweight responses | Fastest, cheapest in 4.1 family |
***
## Next Steps
Ready to integrate OpenRouter with your Bolna voice AI agent?
1. [Sign up for OpenRouter](https://openrouter.ai) and generate your API key
2. Configure Bolna to use `openrouter` as the provider.
For related integrations:
* Select [voice synthesizers](/providers/voice/elevenlabs) for natural-sounding output
* You can also connect your own OpenRouter account and use it with [Bolna AI](https://platform.bolna.ai/auth/openrouter)
> For advanced configuration guidance or help selecting the right models, [contact our team](mailto:support@bolna.ai) or explore our [API reference](/api-reference/introduction).
# AssemblyAI Transcriber (Speech to Text)
Source: https://www.bolna.ai/docs/providers/transcriber/assemblyai
Integrate AssemblyAI with your Bolna Voice AI agents for accurate English transcription with Universal model and real-time streaming.
## 1. What is AssemblyAI STT?
[AssemblyAI](https://www.assemblyai.com/) Speech-to-Text (STT) is an advanced automatic speech recognition platform that uses AI to transcribe spoken English into text with high accuracy. AssemblyAI provides real-time streaming transcription with their Universal model.
AssemblyAI is designed for enterprise-grade applications requiring accurate English transcription with features like speaker diarization, turn-based conversation management, and customizable confidence thresholds, making it ideal for voice agents, customer support systems, and conversational AI applications.
## 2. Key Features of AssemblyAI STT
AssemblyAI offers comprehensive features for enterprise speech recognition:
* **Universal Model**: High-accuracy English speech recognition model with enterprise-grade performance.
* **Real-Time Streaming**: WebSocket-based streaming API with immutable transcripts and turn-based transcription for voice agent applications.
* **Speaker Diarization**: Identify and separate different speakers in English audio streams.
* **Turn-Based Transcription**: Provides speaking turns with unique identifiers, word-level metadata, and configurable silence detection.
* **High Accuracy**: English transcription with enterprise-grade accuracy and low word error rates.
* **Format Flexibility**: Supports PCM16 and Mu-law encoding with configurable sample rates for different telephony providers.
* **Enterprise Features**: Batch and real-time processing, custom vocabulary, confidence scoring, and detailed analytics.
## 3. How Bolna Uses AssemblyAI for STT
Bolna AI integrates AssemblyAI's STT technology to enable accurate multilingual transcription for voice agents. Here's how Bolna leverages AssemblyAI:
* **Real-Time Voice Processing**:
Bolna uses AssemblyAI's streaming WebSocket API (v3) to convert spoken language into text in real time. The immutable transcript feature ensures stable text progression without overwrites.
* **English Voice Agent Support**:
Bolna voice agents use AssemblyAI's streaming API for real-time English transcription with high accuracy and low latency.
* **Turn-Based Conversation Management**:
Bolna leverages AssemblyAI's turn-based transcription to structure conversations, with each speaking turn having unique identifiers for better context management and response generation.
* **Telephony Provider Optimization**:
Bolna automatically configures audio encoding (Mu-law for Twilio, Linear16 for others) and sample rates (8kHz for telephony, 16kHz for web) based on the provider.
* **Streaming and Batch Processing**:
Bolna supports both real-time streaming for live conversations and batch processing for recorded calls, using AssemblyAI's HTTP API for non-streaming scenarios.
* **Enterprise-Grade Reliability**:
Bolna uses AssemblyAI's enterprise features including automatic language detection, confidence thresholds, and detailed latency tracking for production voice applications.
## 4. List of AssemblyAI models supported on Bolna AI
| Model |
| --------- |
| universal |
## 5. Supported Languages
For real-time voice agents, AssemblyAI streaming supports:
* **English** - en
## Conclusion
AssemblyAI's STT capabilities empower Bolna AI to deliver highly accurate, real-time English speech-to-text transcription for voice agents. By integrating AssemblyAI's streaming technology, Bolna provides turn-based conversation management, immutable transcripts, and enterprise-grade reliability for production voice AI applications.
# Azure Transcriber (Speech to Text)
Source: https://www.bolna.ai/docs/providers/transcriber/azure
Integrate Azure Speech-to-Text with Bolna Voice AI for real-time, multilingual, high-accuracy transcriptions and enterprise-grade scalability.
## What is Azure Speech-to-Text?
Azure Speech-to-Text, part of Microsoft Azure Cognitive Services, offers cloud-based automatic speech recognition (ASR). It converts spoken language into text using advanced deep learning models—enabling real-time transcription, batch processing, and support for custom model training. It’s designed to handle enterprise-grade workloads with high accuracy and multi-language capabilities.
## Why choose Azure for speech transcription?
Azure offers a variety of features that make it a leading STT solution:
* **Real-Time Streaming & Batch Transcription**: Supports both low-latency streaming for live interactions and batch processing for recorded files.
* **Speaker Diarization & Language Identification**: Detects speaker turns and identifies languages in multi-party, multilingual scenarios.
* **Noise Reduction**: Advanced noise suppression techniques improve transcription accuracy in challenging audio conditions.
* **Secure & Scalable**: Fully managed service with options for resource control, webhook callbacks, and deployment across regions.
## How does Bolna integrate with Azure Speech-to-Text?
Bolna AI integrates Azure’s STT technology to enable real-time, high-accuracy speech transcription for its AI-powered voice agents. Here’s how Bolna leverages Azure:
* **Live Conversation Transcription**:
Bolna uses Azure's real-time streaming to convert user speech into text with minimal delay, enabling dynamic agent interaction.
* **Multi-Language, Multi-Speaker Context**:
With speaker diarization and language detection, Bolna agents accurately follow multilingual or multi-party calls.
* **Speaker Identification and Context Retention**:
Bolna uses Azure’s speaker diarization capabilities to differentiate between the agent and the caller in conversations. This feature helps in maintaining context and structuring responses effectively.
* **Recording & Post-Call Analysis**:
Bolna supports batch transcription of stored calls via REST, using callbacks/webhooks to asynchronously retrieve results for insights, compliance, and analytics.
## Next steps
Ready to configure Azure Speech-to-Text for your voice AI agent? Start by [setting up your transcriber in the Playground](/agent-setup/audio-tab) or explore our [API documentation](/api-reference/introduction) for programmatic integration.
For related integrations:
* Compare with [Deepgram transcriber](/providers/transcriber/deepgram) for alternative transcription
* Explore [Azure OpenAI](/providers/llm-model/azure-openai) for a complete Azure ecosystem
* Learn about [data residency options](/enterprise/data-residency) for compliance
* Configure [multilingual support](/customizations/multilingual-languages-support) for global agents
* You can also connect your own Azure account and use it with [Bolna AI](https://platform.bolna.ai/auth/azure)
Integrating Azure Speech-to-Text with Bolna empowers voice AI agents to deliver seamless, real-time, and highly accurate transcriptions across diverse languages and speaker scenarios.e.
# Deepgram Transcriber (Speech to Text)
Source: https://www.bolna.ai/docs/providers/transcriber/deepgram
Integrate Deepgram with your Bolna Voice AI agents for fast, accurate streaming transcription. Supports both Nova-3 and Nova-2 speech models.
## What is Deepgram STT?
[Deepgram](https://deepgram.com/) Speech-to-Text (STT) is an advanced automatic speech recognition (ASR) platform that leverages deep learning and artificial intelligence to transcribe spoken language into text with high accuracy.
Deepgram is designed for real-time and batch transcription, making it a powerful solution for applications requiring voice-driven automation, such as virtual assistants, customer support systems, and conversational AI agents.
## Why choose Deepgram for voice AI transcription?
Deepgram offers a variety of features that make it a leading STT solution:
* **High Accuracy**: Deepgram uses deep neural networks trained on diverse datasets, achieving state-of-the-art transcription accuracy even in noisy environments.
* **Low Latency**: Designed for real-time processing, Deepgram provides near-instantaneous transcription, making it ideal for live applications like customer support and interactive voice agents.
* **Multi-Language Support**: It supports multiple languages and dialects, catering to a global audience.
* **Speaker Diarization**: Automatically detects and differentiates between multiple speakers in an audio stream.
* **Noise Reduction**: Advanced noise suppression techniques improve transcription accuracy in challenging audio conditions.
* **Keyword Boosting**: Allows prioritization of specific words or phrases to ensure better recognition of important terms.
* **Cost-Effective**: Compared to traditional ASR solutions, Deepgram offers competitive pricing with high performance and scalability.
## How does Bolna integrate with Deepgram?
Bolna AI integrates Deepgram’s STT technology to enable real-time, high-accuracy speech transcription for its AI-powered voice agents. Here’s how Bolna leverages Deepgram:
* **Real-Time Speech Processing**:
Bolna uses Deepgram's streaming STT API to convert spoken language into text in real time. This allows the AI agent to understand and process user input without significant delays, ensuring a smooth and natural conversation flow.
* **Multilingual Voice Agent Support**:
Given Bolna’s multilingual capabilities, Deepgram's support for various languages ensures that voice interactions can be transcribed accurately, regardless of the language or accent used by the caller.
* **Noise-Resistant Transcription for High Accuracy**:
Bolna agents often handle calls in diverse environments where background noise can be an issue. By leveraging Deepgram’s noise reduction features, Bolna ensures that transcriptions remain accurate, even in challenging conditions.
* **Speaker Identification and Context Retention**:
Bolna uses Deepgram’s speaker diarization capabilities to differentiate between the agent and the caller in conversations. This feature helps in maintaining context and structuring responses effectively.
* **Custom Vocabulary and Industry-Specific Terms**:
Since Bolna AI is used in industries such as recruitment, customer support, and e-commerce, it benefits from Deepgram’s keyword boosting and custom model training to improve recognition of specific industry terms, technical jargon, and company names.
* **Call Recording and Post-Processing**:
In addition to real-time transcription, Bolna also uses Deepgram for batch transcription of recorded calls. These transcriptions are later analyzed for insights, compliance checks, and improving the AI model’s response accuracy.
## Which Deepgram models are supported on Bolna AI?
| Model |
| ----------------------- |
| nova-3 |
| nova-3-medical |
| nova-2 |
| nova-2-atc |
| nova-2-meeting |
| nova-2-phonecall |
| nova-2-finance |
| nova-2-conversationalai |
| nova-2-medical |
| nova-2-drivethru |
| nova-2-automotive |
## Next steps
Ready to configure Deepgram transcription for your voice AI agent? Start by [setting up your transcriber in the Playground](/agent-setup/audio-tab) or explore our [API documentation](/api-reference/introduction) for programmatic integration.
For related integrations:
* Explore [Azure transcriber](/providers/transcriber/azure) for enterprise deployments
* Compare with [AssemblyAI](/providers/transcriber/assemblyai) for alternative transcription
* Learn about [multilingual support](/customizations/multilingual-languages-support) for global agents
* Configure [LLM providers](/providers/llm-model/openai) to process transcribed text
* You can also connect your own Deepgram account and use it with [Bolna AI](https://platform.bolna.ai/auth/deepgram)
Deepgram's STT capabilities empower Bolna AI to deliver highly accurate, real-time speech-to-text transcription, making voice interactions seamless and efficient.ons.
# ElevenLabs Transcriber (Speech to Text)
Source: https://www.bolna.ai/docs/providers/transcriber/elevenlabs
Integrate ElevenLabs Scribe with Bolna Voice AI agents for real-time, low-latency speech transcription. Supports word-level timestamps & VAD-based endpointing.
## What is ElevenLabs Scribe STT?
[ElevenLabs](https://elevenlabs.io/) Scribe is a state-of-the-art real-time speech-to-text (STT) model designed for low-latency transcription in voice AI applications. The Scribe v2 Realtime model delivers accurate transcription across 90 languages with approximately 150ms latency, making it ideal for conversational AI agents, customer support systems, and interactive voice applications.
ElevenLabs Scribe combines advanced deep learning with real-time streaming capabilities, providing precise word-level timestamps, automatic language detection, and intelligent voice activity detection (VAD) for natural conversation flow.
## Why choose ElevenLabs Scribe for voice AI transcription?
ElevenLabs Scribe offers several features that make it a powerful choice for real-time speech recognition:
* **Ultra-Low Latency**: With approximately 150ms latency (excluding network overhead), Scribe v2 Realtime enables natural, responsive conversations without noticeable delays.
* **Extensive Language Support**: Supports 90 languages with high accuracy, making it suitable for global voice AI deployments and multilingual applications.
* **Word-Level Timestamps**: Provides precise timestamps for each transcribed word, enabling accurate synchronization and detailed conversation analysis.
* **Automatic Language Detection**: Detects the spoken language automatically during transcription, supporting code-switching scenarios where speakers switch between languages.
* **VAD-Based Endpointing**: Uses intelligent voice activity detection to determine when a speaker has finished talking, ensuring accurate turn-taking in conversations.
* **High Accuracy**: Achieves industry-leading word error rates, outperforming many competitors on standard benchmarks like FLEURS and Common Voice.
* **Streaming WebSocket API**: Real-time streaming via WebSocket enables continuous transcription as audio is received, perfect for live voice agent interactions.
## How does Bolna integrate with ElevenLabs Scribe?
Bolna AI integrates ElevenLabs Scribe STT technology to enable real-time, high-accuracy speech transcription for its AI-powered voice agents. Here's how Bolna leverages ElevenLabs:
* **Real-Time Voice Processing**:
Bolna uses ElevenLabs' streaming WebSocket API to convert spoken language into text in real time. The low-latency design ensures that AI agents can understand and respond to user input without perceptible delays, creating natural conversation experiences.
* **Multilingual Voice Agent Support**:
With support for 90 languages, Bolna voice agents can handle conversations in virtually any language. The automatic language detection feature allows agents to adapt to the speaker's language dynamically.
* **Intelligent Turn Detection**:
Bolna leverages ElevenLabs' VAD-based commit strategy to accurately detect when users have finished speaking. Configurable silence thresholds (0.3 to 3.0 seconds) allow fine-tuning for different conversation styles and use cases.
* **Telephony Provider Optimization**:
Bolna automatically configures audio encoding based on the telephony provider. For Twilio, it uses mulaw at 8kHz; for Exotel and Plivo, it uses linear16 at 8kHz; and for web-based calls, it uses linear16 at 16kHz for optimal quality.
* **Word-Level Latency Tracking**:
Bolna tracks per-word latency using ElevenLabs' timestamp data, providing detailed analytics on transcription performance and helping optimize voice agent responsiveness.
* **Code-Switching Detection**:
When language detection is enabled, Bolna can identify when speakers switch between languages within a conversation, tracking per-word language breakdown for multilingual scenarios.
## Which ElevenLabs models are supported on Bolna AI?
| Model | Description |
| -------------------- | ------------------------------------------------- |
| scribe\_v2\_realtime | Real-time speech recognition with \~150ms latency |
## Next steps
Ready to configure ElevenLabs transcription for your voice AI agent? Start by [setting up your transcriber in the Playground](/agent-setup/audio-tab) or explore our [API documentation](/api-reference/introduction) for programmatic integration.
For related integrations:
* Compare with [Deepgram transcriber](/providers/transcriber/deepgram) for alternative transcription
* Explore [ElevenLabs synthesizer](/providers/voice/elevenlabs) for a complete ElevenLabs ecosystem
* Learn about [multilingual support](/customizations/multilingual-languages-support) for global agents
* Configure [LLM providers](/providers/llm-model/openai) to process transcribed text
ElevenLabs Scribe STT capabilities empower Bolna AI to deliver highly accurate, real-time speech-to-text transcription with ultra-low latency, making voice interactions seamless and responsive.
# Gladia Transcriber (Speech to Text)
Source: https://www.bolna.ai/docs/providers/transcriber/gladia
Integrate Gladia with Bolna Voice AI agents for real-time multilingual transcription. Supports code-switching, custom vocabulary, and sub-300ms latency.
## What is Gladia STT?
[Gladia](https://www.gladia.io/) is a state-of-the-art audio transcription and intelligence platform that provides real-time speech-to-text capabilities with industry-leading accuracy. Powered by their Solaria ASR model, Gladia delivers transcription with less than 300 milliseconds latency, making it ideal for voice AI agents, contact centers, and real-time communication applications.
Gladia combines advanced speech recognition with audio intelligence features like sentiment analysis, named entity recognition, and automatic language detection, providing a comprehensive solution for voice-driven applications.
## Why choose Gladia for voice AI transcription?
Gladia offers several features that make it a powerful choice for real-time speech recognition:
* **Ultra-Low Latency**: With sub-300ms latency, Gladia enables natural, responsive conversations without noticeable delays, essential for voice AI agents and real-time applications.
* **Extensive Language Support**: Supports over 100 languages interchangeably, making it suitable for global deployments and multilingual customer interactions.
* **Code-Switching Support**: Handles seamless language switching within conversations, accurately transcribing when speakers alternate between languages like English and Hindi (Hinglish) or other language combinations.
* **Custom Vocabulary**: Allows boosting recognition of specific words, phrases, brand names, or industry-specific terminology to improve accuracy for specialized use cases.
* **Native Mulaw Support**: Directly supports mulaw audio encoding used by Twilio, eliminating the need for audio conversion and reducing latency in telephony applications.
* **Audio Enhancement**: Built-in audio preprocessing improves transcription accuracy in challenging conditions with background noise or poor audio quality.
* **Configurable Endpointing**: Adjustable silence detection thresholds allow fine-tuning for different conversation styles and turn-taking patterns.
* **Sentiment Analysis**: Real-time sentiment detection helps understand caller emotions and enables dynamic agent responses.
## How does Bolna integrate with Gladia?
Bolna AI integrates Gladia's STT technology to enable real-time, high-accuracy speech transcription for its AI-powered voice agents. Here's how Bolna leverages Gladia:
* **Real-Time Voice Processing**:
Bolna uses Gladia's streaming WebSocket API to convert spoken language into text in real time. The two-step connection process (session creation followed by WebSocket connection) ensures reliable, authenticated streaming with optimal performance.
* **Multilingual Voice Agent Support**:
With support for over 100 languages, Bolna voice agents can handle conversations in virtually any language. When code-switching is enabled, agents can accurately transcribe conversations where speakers switch between languages.
* **Telephony Provider Optimization**:
Bolna automatically configures audio encoding based on the telephony provider. For Twilio, it uses native mulaw at 8kHz (wav/ulaw); for Exotel and Plivo, it uses linear16 at 8kHz; and for web-based calls, it uses linear16 at 16kHz for optimal quality.
* **Audio Enhancement for Telephony**:
Bolna enables Gladia's audio enhancer for telephony providers (Twilio, Exotel, Plivo) to improve transcription accuracy in real-world call conditions with background noise and varying audio quality.
* **Custom Vocabulary Integration**:
Bolna supports passing custom vocabulary keywords to Gladia, allowing voice agents to accurately recognize company names, product names, and industry-specific terminology.
* **Intelligent Turn Detection**:
Bolna leverages Gladia's configurable endpointing to accurately detect when users have finished speaking. The endpointing threshold can be adjusted to balance responsiveness with accuracy for different conversation styles.
* **Code-Switching for Multilingual Markets**:
For markets like India where code-switching is common, Bolna configures Gladia to recognize both the primary language and English, enabling accurate transcription of mixed-language conversations.
## Which Gladia models are supported on Bolna AI?
| Model | Description |
| ------- | ---------------------------------------------------- |
| Solaria | Universal real-time STT model with sub-300ms latency |
Gladia's Solaria model is the default and recommended model for real-time voice agent applications.
## Next steps
Ready to configure Gladia transcription for your voice AI agent? Start by [setting up your transcriber in the Playground](/agent-setup/audio-tab) or explore our [API documentation](/api-reference/introduction) for programmatic integration.
For related integrations:
* Compare with [Deepgram transcriber](/providers/transcriber/deepgram) for alternative transcription
* Explore [Azure transcriber](/providers/transcriber/azure) for enterprise deployments
* Learn about [multilingual support](/customizations/multilingual-languages-support) for global agents
* Configure [LLM providers](/providers/llm-model/openai) to process transcribed text
Gladia's STT capabilities empower Bolna AI to deliver highly accurate, real-time speech-to-text transcription with ultra-low latency and comprehensive multilingual support, making voice interactions seamless across global markets.
# Pixa Transcriber (Speech to Text)
Source: https://www.bolna.ai/docs/providers/transcriber/pixa
Integrate Pixa with Bolna Voice AI agents for accurate Hindi speech transcription. Optimized for Indian language recognition with real-time streaming support.
## What is Pixa STT?
[Pixa](https://heypixa.ai/) (HeyPixa) is a speech-to-text platform specifically optimized for Hindi and Indian language transcription. Pixa provides real-time streaming transcription through a WebSocket API, making it ideal for voice AI agents serving Indian markets where accurate Hindi recognition is essential.
Pixa's models are trained on diverse Hindi datasets, enabling high accuracy for regional accents, conversational speech patterns, and the natural variations found in spoken Hindi across different regions of India.
## Why choose Pixa for voice AI transcription?
Pixa offers several features that make it a strong choice for Hindi speech recognition:
* **Hindi Language Expertise**: Pixa's models are specifically optimized for Hindi transcription, delivering high accuracy for native Hindi speakers and various regional accents.
* **Real-Time Streaming**: WebSocket-based streaming API provides continuous transcription as audio is received, enabling responsive voice agent interactions.
* **Multiple Audio Encodings**: Supports linear16, linear32, mulaw, and alaw audio encodings, ensuring compatibility with various telephony providers and audio sources.
* **Multiple Model Options**: Offers both the native pixa-1 model optimized for Hindi and a whisper-1 model for broader language support.
* **Low Latency Design**: Designed for real-time applications with minimal delay between speech and transcription output.
* **Telephony Integration**: Native support for common telephony audio formats makes integration with Twilio, Exotel, and Plivo straightforward.
## How does Bolna integrate with Pixa?
Bolna AI integrates Pixa's STT technology to enable real-time Hindi speech transcription for its AI-powered voice agents. Here's how Bolna leverages Pixa:
* **Real-Time Hindi Voice Processing**:
Bolna uses Pixa's streaming WebSocket API to convert Hindi speech into text in real time. This enables AI agents to understand and respond to Hindi-speaking users without noticeable delays.
* **Hindi Market Voice Agents**:
For businesses serving Indian customers, Pixa's Hindi-optimized transcription ensures accurate understanding of customer queries, names, addresses, and other Hindi content that general-purpose transcribers might struggle with.
* **Telephony Provider Optimization**:
Bolna automatically configures audio encoding based on the telephony provider. For Twilio, it uses mulaw at 8kHz; for Exotel and Plivo, it uses linear16 at 8kHz; and for web-based calls, it uses linear16 at 16kHz.
* **Intelligent Turn Detection**:
Since Pixa relies on final transcript markers rather than VAD events, Bolna implements intelligent turn detection based on the is\_final flag, with configurable timeout handling for edge cases.
* **Utterance Timeout Handling**:
Bolna monitors for stuck utterances and implements force-finalization when transcripts don't receive final confirmation within the configured timeout, ensuring conversations continue smoothly.
* **Connection Management**:
Bolna handles WebSocket connection lifecycle including authentication, heartbeat messages, and graceful disconnection to ensure reliable transcription throughout calls.
## Which Pixa models are supported on Bolna AI?
| Model | Description |
| --------- | --------------------------------------------------------- |
| pixa-1 | Native Hindi-optimized speech recognition model (default) |
| whisper-1 | Whisper-based model for broader language support |
## Next steps
Ready to configure Pixa transcription for your Hindi voice AI agent? Start by [setting up your transcriber in the Playground](/agent-setup/audio-tab) or explore our [API documentation](/api-reference/introduction) for programmatic integration.
For related integrations:
* Compare with [Sarvam transcriber](/providers/transcriber/sarvam) for comprehensive Indian language support
* Explore [Deepgram transcriber](/providers/transcriber/deepgram) for multilingual alternatives
* Learn about [multilingual support](/customizations/multilingual-languages-support) for global agents
* Configure [LLM providers](/providers/llm-model/openai) to process transcribed text
Pixa's Hindi-optimized STT capabilities empower Bolna AI to deliver accurate, real-time speech-to-text transcription for Indian market voice agents, ensuring seamless Hindi conversations with high recognition accuracy.
# Sarvam Transcriber (Speech to Text)
Source: https://www.bolna.ai/docs/providers/transcriber/sarvam
Integrate Sarvam with your Bolna Voice AI agents for accurate Indian language transcription. Supports 11 Indian languages with Saarika and Saaras speech models.
## 1. What is Sarvam STT?
[Sarvam](https://sarvam.ai/) Speech-to-Text (STT) is an advanced automatic speech recognition (ASR) platform specifically designed for Indian languages. Sarvam specializes in understanding regional accents, code-mixed speech, and multilingual conversations common in the Indian subcontinent.
Sarvam's "Saarika" and "Saaras" models are built for real-time transcription with a focus on Indian language accuracy. Saarika provides transcription in the original language, while Saaras offers direct speech-to-English translation with automatic language detection, making them ideal solutions for voice-driven applications serving Indian markets.
## 2. Key Features of Sarvam STT
Sarvam offers specialized features for Indian language transcription:
* **Indian Language Expertise**: Deep neural networks specifically trained on diverse Indian language datasets, achieving high accuracy for regional accents and code-mixed speech patterns.
* **Real-Time Processing**: Designed for streaming transcription with low latency, enabling natural conversation flow in live applications.
* **Code-Mixed Speech Recognition**: Excels at understanding code-mixed languages, handling seamless switches between English and Indian languages within conversations.
* **Multilingual Support**: Supports 10 Indian languages including Hindi, Bengali, Tamil, Telugu, Gujarati, Kannada, Malayalam, Marathi, Punjabi, Odia, plus English (India).
* **Speaker Diarization**: Identifies and separates different speakers in audio streams for better conversation structure.
* **Voice Activity Detection**: Advanced VAD capabilities with configurable sensitivity levels for better speech boundary detection.
* **Automatic Language Detection**: Can automatically detect the spoken language when configured with "unknown" language code.
* **WebSocket Streaming**: Real-time streaming API for continuous speech recognition with immediate results and timestamp support.
## 3. How Bolna Uses Sarvam for STT
Bolna AI integrates Sarvam's STT technology to enable high-accuracy Indian language transcription for voice agents. Here's how Bolna leverages Sarvam:
* **Real-Time Indian Language Processing**:
Bolna uses Sarvam's streaming STT API to convert Indian language speech into text in real time. This enables AI agents to understand and process user input in regional languages without delays.
* **Regional Language Voice Agent Support**:
With Sarvam's specialized Indian language support, Bolna voice agents can handle conversations in Hindi, Bengali, Tamil, Telugu, and other regional languages with high accuracy.
* **Accent-Aware Transcription**:
Bolna leverages Sarvam's training on diverse Indian accents and speaking patterns to ensure accurate transcription across different regions and demographics.
* **Voice Activity Detection for Better Accuracy**:
Bolna uses Sarvam's VAD capabilities to detect speech boundaries accurately, improving conversation flow and reducing false transcriptions from background noise.
* **Indian Market Optimization**:
Since Bolna serves businesses across India, Sarvam's focus on Indian languages and accents ensures better customer experience for regional market deployments.
* **Code-Switching Support**:
Sarvam handles mixed language conversations common in India, where speakers switch between English and regional languages within the same conversation.
## 4. List of Sarvam models supported on Bolna AI
| Model | Description |
| ------------ | ------------------------------------------------------------------------------------ |
| saarika:v2.5 | Speech-to-text transcription in original language |
| saaras:v2.5 | Speech-to-English translation with automatic language detection |
| saaras:v3 | Speech-to-text transcription in original language (configured for STT transcription) |
## 5. Supported Languages
All Sarvam transcriber models support the following 11 languages:
* **English (India)** - en-IN
* **Hindi** - hi-IN
* **Bengali** - bn-IN
* **Tamil** - ta-IN
* **Telugu** - te-IN
* **Gujarati** - gu-IN
* **Kannada** - kn-IN
* **Malayalam** - ml-IN
* **Marathi** - mr-IN
* **Punjabi** - pa-IN
* **Odia** - od-IN
**Model Differences:**
* **Saarika v2.5**: Transcribes speech to text in the original spoken language
* **Saaras v2.5**: Translates speech directly to English text with automatic language detection
* **Saaras v3**: Configured for direct transcription in the original spoken language
Note: All models excel at code-mixed speech where speakers seamlessly switch between English and any of the supported Indian languages within the same conversation.
## Conclusion
Sarvam's STT capabilities empower Bolna AI to deliver highly accurate, real-time speech-to-text transcription for Indian languages, making voice interactions seamless for regional markets. By integrating Sarvam's specialized ASR technology, Bolna enhances its ability to process diverse Indian accents, handle code-switching scenarios, and understand complex multilingual conversations, thereby improving the overall performance and reliability of its voice AI solutions for the Indian market.
For related integrations:
* You can also connect your own Sarvam account and use it with [Bolna AI](https://platform.bolna.ai/auth/sarvam)
# AWS Polly Text to Speech with Bolna Voice AI agents
Source: https://www.bolna.ai/docs/providers/voice/aws-polly
Learn how to integrate and use AWS Polly TTS with Bolna Voice AI agents including Amazon's neural, generative and standard models.
## What is AWS Polly TTS?
[AWS Polly](https://aws.amazon.com/polly/) is a cloud-based text-to-speech (TTS) service powered by Amazon Web Services (AWS). It uses deep learning technologies to convert text into natural-sounding speech, making it ideal for applications requiring high-quality voice synthesis.
AWS Polly supports a wide range of languages and voices, offering both **standard TTS** and **neural TTS (NTTS)**, which enhances the realism of speech output. Designed for real-time and batch processing, AWS Polly enables applications to deliver engaging voice experiences across various industries, including customer service, e-learning, and automated assistants.
## Why choose AWS Polly for voice synthesis?
AWS Polly offers several advanced features that make it a powerful choice for AI-driven voice applications:
**Natural-Sounding Speech**: Utilizes neural TTS (NTTS) to enhance realism, reducing robotic-sounding speech.
**Multiple Languages and Voices**: Supports a wide range of languages and accents, allowing for global reach.
**Real-Time Speech Synthesis**: Generates speech quickly with low latency, making it suitable for interactive applications.
**Neural and Standard TTS Options**: Offers high-quality neural TTS as well as cost-effective standard TTS for scalable deployment.
## How does Bolna integrate with AWS Polly TTS?
Bolna AI integrates AWS Polly’s TTS capabilities to deliver high-quality, real-time speech synthesis for its voice AI agents. Here’s how Bolna leverages AWS Polly:
**Generating Lifelike Speech for Voice AI Agents**:
Bolna AI uses AWS Polly to convert AI-generated text responses into human-like speech, ensuring a more natural interaction experience for users.
**Low-Latency Voice Synthesis for Real-Time Conversations**:
With AWS Polly’s low-latency capabilities, Bolna AI ensures real-time speech generation, allowing its voice agents to respond without noticeable delays.
**Multilingual and Accent Customization**:
AWS Polly’s extensive language and voice options allow Bolna AI to cater to a global audience by providing speech output in multiple languages and accents.
**Scalable and Cost-Effective Deployment**:
As a cloud-based service, AWS Polly allows Bolna AI to scale its voice synthesis needs based on demand while maintaining cost efficiency.
## What AWS Polly TTS models are supported?
Bolna supports the following AWS Polly TTS models:
| Model |
| ---------- |
| neural |
| generative |
| standard |
## Next steps
Ready to configure AWS Polly voices for your voice AI agent? Start by [setting up your synthesizer in the Playground](/agent-setup/engine-tab) or explore our [API documentation](/api-reference/introduction) for programmatic integration.
For related integrations:
* Compare with [ElevenLabs voices](/providers/voice/elevenlabs) for alternative synthesis
* Explore [Azure TTS](/providers/voice/azure) for Microsoft ecosystem integration
* Review [Deepgram voices](/providers/voice/deepgram) for low-latency options
* Configure [multilingual support](/customizations/multilingual-languages-support) for global reach
AWS Polly's TTS capabilities enhance Bolna AI's ability to deliver realistic, engaging, and highly responsive voice interactions. AI.
# Azure Text to Speech with Bolna Voice AI agents
Source: https://www.bolna.ai/docs/providers/voice/azure
Integrate Microsoft Azure Text-to-Speech with Bolna to create natural, expressive Voice AI agents. Supports neural voices and multilingual output.
## What is Azure TTS?
Azure Text-to-Speech (TTS) is a cloud-based speech synthesis service offered by Microsoft as part of its Azure Cognitive Services. It uses advanced deep learning models to generate realistic and natural-sounding speech from text. Designed for enterprise-grade applications, Azure TTS enables businesses to create interactive voice experiences, enhance accessibility, and automate customer interactions with high-fidelity voice output.
Azure TTS provides **neural voice synthesis**, offering near-human pronunciation, tone, and emotion control. This technology is widely used in virtual assistants, automated call centers, media narration, and real-time conversational AI applications.
## Why choose Azure for voice synthesis?
Azure Text-to-Speech stands out with the following capabilities:
**Neural TTS for Human-Like Speech**: Uses deep neural networks to create speech that closely mimics human intonation and expressiveness.
**Extensive Language & Voice Support**: Supports over 140 languages and multiple voice options, making it a powerful tool for global reach.
**Real-Time & Batch Processing**: Enables both live interaction and bulk conversion of text to speech.
**AI-Driven Emotion Infusion**: Adjusts emotional expression in speech (e.g., happy, neutral, sad) to improve engagement.
**Latency-Optimized Speech Processing**: Ensures minimal lag, making it suitable for real-time conversational AI applications.
## How does Bolna integrate with Azure TTS?
Bolna AI integrates Azure Text-to-Speech to deliver high-quality, human-like speech output for its AI-driven voice agents. Azure TTS enhances Bolna’s ability to conduct seamless, engaging, and contextually aware voice interactions. Here’s how Bolna leverages this technology:
**Lifelike Speech for Interactive AI Conversations**:
Azure’s Neural TTS allows Bolna AI to generate speech that mirrors human conversation patterns, improving user experience and making voice AI interactions more natural.
**Multi-Language and Multimodal Conversational AI**:
Since Bolna serves a global user base, Azure’s extensive language and accent library helps deliver culturally relevant and clear speech output tailored to different regions.
**Adaptive Speech Based on User Interaction**:
Azure TTS enables Bolna AI to modify speech output dynamically based on conversational context. For instance, the AI can adjust intonation when emphasizing key details in recruitment interviews or customer support interactions.
**Emotionally Intelligent Voice AI**:
By leveraging Azure’s emotion-infused speech synthesis, Bolna AI ensures that the voice agent sounds empathetic, enthusiastic, or neutral based on the conversation’s nature. This is especially useful in customer service and human resource automation.
**Enhanced Pronunciation for Industry-Specific Terms**:
Azure’s custom lexicons and SSML-based pronunciation adjustments help Bolna AI deliver precise pronunciation for technical terms, job roles, and company names, ensuring clarity in voice interactions.
**Real-Time Speech Output for Seamless Conversations**:
Azure’s low-latency synthesis ensures that Bolna AI voice agents can provide instant responses, making them highly effective in real-time support scenarios such as call handling, interview assistance, and virtual customer service.
## Next steps
Ready to configure Azure voices for your voice AI agent? Start by [setting up your synthesizer in the Playground](/agent-setup/engine-tab) or explore our [API documentation](/api-reference/introduction) for programmatic integration.
For related integrations:
* Combine with [Azure Speech-to-Text](/providers/transcriber/azure) for complete Azure integration
* Compare with [ElevenLabs voices](/providers/voice/elevenlabs) for alternative synthesis
* Explore [Azure OpenAI](/providers/llm-model/azure-openai) for enterprise LLM deployment
* Configure [multilingual support](/customizations/multilingual-languages-support) for global reach
* You can also connect your own Azure account and use it with [Bolna AI](https://platform.bolna.ai/auth/azure)
Azure TTS plays a crucial role in enhancing Bolna AI's voice-driven experiences, offering superior speech quality, multilingual support, real-time processing, and brand customization.ide.
# Cartesia Text to Speech with Bolna Voice AI agents
Source: https://www.bolna.ai/docs/providers/voice/cartesia
Enable Cartesia voices in Bolna Voice AI agents for expressive, customizable AI voices using their latest voice models for multilingual Indian voices.
## What is Cartesia text-to-speech API?
[Cartesia](https://cartesia.ai/) is a state-of-the-art text-to-speech (TTS) API that generates high-fidelity, natural-sounding speech for AI voice applications. Cartesia uses advanced neural network models to replicate human speech patterns, delivering expressive and realistic audio output that enhances user engagement in conversational AI systems.
Cartesia TTS API is optimized for real-time voice synthesis with ultra-low latency, making it ideal for AI voice assistants, virtual customer support agents, conversational AI chatbots, and automated business communication systems. The platform offers multilingual voice support, customizable voice characteristics, and high-quality prosody that adapts to different use cases including customer service automation, sales outreach, appointment scheduling, and interactive voice response (IVR) systems.
## Why use Cartesia TTS for AI voice agents?
Cartesia text-to-speech API offers powerful capabilities that make it an excellent choice for building conversational AI applications and voice automation systems:
**Ultra-low latency voice synthesis**: Cartesia delivers real-time speech generation with minimal delay, ensuring natural conversation flow in AI voice assistants and customer support bots. This low-latency performance is critical for interactive applications where response time directly impacts user experience.
**Natural-sounding neural voices**: Powered by advanced deep learning models, Cartesia produces human-like speech with natural prosody, intonation, and emotional expression. The neural TTS technology creates voices that sound authentic and engaging, improving user trust and satisfaction in AI interactions.
**Multilingual and accent support**: Cartesia supports multiple languages and regional accents, enabling businesses to deploy AI voice agents for global audiences. This multilingual capability is essential for international customer support, sales automation, and localized voice experiences.
**Customizable voice characteristics**: Businesses can fine-tune voice parameters to match their brand identity and use case requirements. Adjust speaking rate, pitch, and emotional tone to create distinct voice personas for different AI agent roles.
**Scalable API infrastructure**: Cartesia's cloud-based TTS API scales automatically to handle high-volume voice synthesis requests, making it suitable for enterprise-grade conversational AI deployments and large-scale voice automation campaigns.
**Sonic model family**: Cartesia's Sonic models, including the latest sonic-3-preview, deliver state-of-the-art voice quality with improved naturalness and expressiveness for demanding voice AI applications.
## How to integrate Cartesia TTS with Bolna voice AI agents
Bolna provides seamless integration with Cartesia's text-to-speech API, enabling you to build sophisticated AI voice agents with natural-sounding speech synthesis. The integration supports real-time voice generation for various conversational AI use cases.
### Use cases for Cartesia voice synthesis in Bolna
**AI customer support automation**: Deploy Cartesia-powered voice agents that handle customer inquiries with empathetic, professional speech. The natural voice quality helps build trust and improves customer satisfaction in automated support interactions.
**Sales and lead qualification bots**: Create AI sales agents with persuasive, engaging voices that can conduct outbound calls, qualify leads, and schedule appointments. Cartesia's expressive speech synthesis makes automated sales conversations feel more human and authentic.
**Appointment scheduling and reminders**: Build voice AI systems that handle appointment booking, confirmations, and reminders with clear, friendly speech. The low-latency synthesis ensures smooth, real-time conversations.
**Healthcare voice assistants**: Develop HIPAA-compliant voice agents for patient intake, appointment scheduling, and health information delivery. Cartesia's natural voices create comfortable, trustworthy interactions in healthcare settings.
**E-commerce and order management**: Implement AI voice agents that assist with product inquiries, order tracking, and customer service. The multilingual support enables global e-commerce voice automation.
**Survey and feedback collection**: Automate survey calls and feedback collection with conversational AI agents that use natural speech to improve response rates and data quality.
### Cartesia voice configuration in Bolna
Bolna supports flexible configuration of Cartesia TTS parameters including voice selection, speaking rate, and language settings. You can configure Cartesia voices through the Bolna Playground interface or programmatically via the API for custom voice AI agent deployments.s.
## Supported Cartesia TTS models
Bolna supports the following Cartesia text-to-speech models for AI voice synthesis:
| Model | Description |
| ----------------- | -------------------------------------------------------------------- |
| `sonic` | High-quality neural TTS model optimized for natural speech synthesis |
| `sonic-3-preview` | Latest preview model with enhanced voice quality and expressiveness |
The Cartesia Sonic model family provides state-of-the-art voice synthesis with low latency and natural prosody. The sonic-3-preview model offers improved speech quality and is recommended for applications requiring the highest level of voice naturalness.
## Getting started with Cartesia TTS integration
Ready to build AI voice agents with Cartesia text-to-speech? You can configure Cartesia voices through the [Bolna Playground](/agent-setup/engine-tab) for quick testing or use the [Bolna API](/api-reference/introduction) for programmatic integration in production applications.
To connect your own Cartesia API account, visit the [Cartesia integration page](https://platform.bolna.ai/auth/cartesia) in your Bolna dashboard.
### Compare voice synthesis providers
Explore alternative TTS providers to find the best fit for your AI voice agent requirements:
* [ElevenLabs TTS](/providers/voice/elevenlabs) - Premium voice cloning and expressive synthesis
* [Deepgram TTS](/providers/voice/deepgram) - Ultra-low latency voice generation
* [AWS Polly](/providers/voice/aws-polly) - Cost-effective cloud-based speech synthesis
* [Azure TTS](/providers/voice/azure) - Enterprise-grade multilingual voices
### Related documentation
* [Configure multilingual support](/customizations/multilingual-languages-support) for global voice AI deployments
* [Voice AI agent configuration](/agent-setup/engine-tab) in the Bolna Playground
* [API reference](/api-reference/introduction) for programmatic voice agent creation
Cartesia TTS integration enables Bolna to deliver natural, expressive, and low-latency voice synthesis for conversational AI applications across customer support, sales automation, healthcare, and more.
# Deepgram Text to Speech with Bolna Voice AI agents
Source: https://www.bolna.ai/docs/providers/voice/deepgram
Integrate and use your Bolna Voice AI agents with high-quality neural voices from Deepgram for natural, human-like conversational experiences.
## What is Deepgram TTS?
[Deepgram](https://deepgram.com/) Text-to-Speech (TTS) is an AI-driven speech synthesis technology designed to generate highly realistic, human-like voices. Built using deep learning models, Deepgram TTS offers natural-sounding speech output with expressive intonations, making it suitable for applications that require high-quality voice interactions.
Deepgram TTS is optimized for real-time processing and supports multiple languages, accents, and emotions, allowing businesses to deliver personalized and engaging voice experiences. Compared to traditional TTS solutions, Deepgram leverages end-to-end neural speech synthesis, reducing latency and improving the naturalness of generated speech.
## Why choose Deepgram for voice synthesis?
Deepgram TTS provides several advanced features that enhance voice AI applications:
**Human-Like Speech Output**: Produces clear, natural, and expressive speech that closely mimics human intonation and pacing.
**Real-Time Speech Generation**: Optimized for low-latency responses, ensuring a seamless conversational flow.
**Multilingual and Accent Support**: Provides high-quality speech synthesis in multiple languages, allowing for global reach.
**Noise Reduction & Clarity Enhancement**: Ensures crisp and intelligible speech output even in challenging audio environments.
## How does Bolna integrate with Deepgram TTS?
Bolna AI integrates Deepgram’s TTS technology to power its voice AI agents, enabling them to deliver lifelike speech responses during conversations. Here’s how Bolna leverages Deepgram TTS:
**Generating High-Quality Speech for AI Conversations**:
Bolna AI utilizes Deepgram TTS to convert AI-generated text responses into natural-sounding speech. This enables voice agents to interact seamlessly with users, improving engagement and usability.
**Real-Time Voice Synthesis for Smooth Interactions**:
With Deepgram’s low-latency processing, Bolna AI ensures real-time speech synthesis, eliminating delays and making voice interactions feel more natural and responsive.
**Multilingual and Accent Adaptation for Global Users**:
Bolna AI serves customers across different regions, requiring multilingual voice capabilities. Deepgram’s support for multiple languages and accents allows Bolna to offer voice AI solutions tailored to diverse user bases.
**Emotionally Expressive Speech for Personalized Interactions**:
Bolna AI leverages Deepgram’s emotion control feature to adjust the tone and expressiveness of speech output. This ensures that AI responses sound more engaging and contextually appropriate, whether for customer support, recruitment, or e-commerce applications.
**Handling Complex Pronunciations and Technical Terms**:
Deepgram TTS helps Bolna AI correctly pronounce names, technical jargon, and industry-specific terminology, ensuring clarity and accuracy in conversations.
## What Deepgram TTS models are supported?
Bolna supports the following Deepgram TTS models:
| Model |
| ------ |
| aura |
| aura-2 |
## Next steps
Ready to configure Deepgram voices for your voice AI agent? Start by [setting up your synthesizer in the Playground](/agent-setup/engine-tab) or explore our [API documentation](/api-reference/introduction) for programmatic integration.
For related integrations:
* Compare with [ElevenLabs voices](/providers/voice/elevenlabs) for alternative synthesis
* Combine with [Deepgram transcriber](/providers/transcriber/deepgram) for complete Deepgram integration
* Explore [Azure TTS](/providers/voice/azure) for enterprise deployment
* Configure [multilingual support](/customizations/multilingual-languages-support) for global reach
* You can also connect your own Deepgram account and use it with [Bolna AI](https://platform.bolna.ai/auth/deepgram)
Deepgram's advanced TTS technology enhances Bolna AI's ability to deliver realistic, engaging, and context-aware speech output in voice-driven applications.ive.
# ElevenLabs Text to Speech with Bolna Voice AI agents
Source: https://www.bolna.ai/docs/providers/voice/elevenlabs
Enhance your Bolna Voice AI agents using ElevenLabs ultra-realistic voices, featuring multilingual support through the latest Turbo and Flash models.
## What is ElevenLabs TTS?
[ElevenLabs](https://elevenlabs.io/) Text-to-Speech (TTS) is an advanced AI-powered speech synthesis platform designed to generate high-quality, natural-sounding voices. Using deep learning models, ElevenLabs replicates human-like speech with remarkable accuracy, making it an ideal solution for applications requiring realistic voice interactions.
Unlike traditional TTS systems that rely on rule-based or concatenative synthesis, ElevenLabs leverages deep neural networks to analyze and generate speech in a way that mimics human intonation, pacing, and expressiveness. This makes it particularly useful for AI-driven applications such as virtual assistants, audiobooks, dubbing, and interactive voice agents.
## Why choose ElevenLabs for voice synthesis?
ElevenLabs offers several cutting-edge features that set it apart from traditional text-to-speech engines:
* **Human-Like Speech Quality**: Produces natural-sounding voices with expressive intonations, eliminating robotic-sounding speech.
* **Multi-Language Support**: Supports multiple languages and accents, enabling seamless localization for global applications.
* **Voice Cloning**: Allows users to create AI-generated voices that closely match specific speakers with minimal data.
* **Real-Time Synthesis**: Generates speech with minimal latency, making it suitable for real-time applications such as AI voice assistants.
* **Custom Voice Models**: Provides options to train and fine-tune voice models for industry-specific or brand-personalized voices.
## How does Bolna integrate with ElevenLabs?
Bolna AI integrates ElevenLabs' TTS technology to enhance its voice AI agents, providing realistic and natural speech output for seamless user interactions. Here’s how Bolna leverages ElevenLabs TTS:
* **Generating Human-Like Voice Responses**:
Bolna AI uses ElevenLabs to convert AI-generated text responses into high-quality, lifelike speech. This allows users to interact with Bolna’s voice agents in a more natural and engaging manner.
* **Multi-Language and Accent Adaptation**:
Given Bolna’s need to cater to diverse global audiences, ElevenLabs’ multilingual capabilities ensure that voice agents can communicate fluently in multiple languages and accents, enhancing user accessibility and comprehension.
* **Real-Time Voice Processing for Conversations**:
Bolna’s AI-driven voice agents operate in real-time, requiring low-latency speech synthesis. ElevenLabs' real-time TTS API ensures that responses are generated instantly, maintaining a smooth conversational flow.
* **Custom Voice Models for Brand Identity**:
For businesses using Bolna AI, ElevenLabs’ custom voice models allow for the creation of distinct and brand-aligned voice personas. This helps companies establish a unique audio identity that resonates with their audience.
* **Handling Complex Pronunciations and Domain-Specific Vocabulary**:
Bolna AI works in industries such as recruitment, customer support, and e-commerce, where precise pronunciation of names, technical jargon, and domain-specific terms is crucial. ElevenLabs helps Bolna generate accurate speech outputs by recognizing and adjusting for industry-specific vocabulary.
## Which ElevenLabs models are supported on Bolna AI?
| Model |
| -------------------- |
| eleven\_turbo\_v2\_5 |
| eleven\_flash\_v2\_5 |
## Next steps
Ready to configure ElevenLabs voices for your voice AI agent? Start by [setting up your synthesizer in the Playground](/agent-setup/engine-tab) or [import custom voices](/import-voices) for personalized experiences.
For related integrations:
* Explore [voice cloning](/clone-voices) to create custom voice models
* Compare with [Azure voices](/providers/voice/azure) for enterprise deployments
* Try [Cartesia](/providers/voice/cartesia) for ultra-low latency synthesis
* Configure [multilingual support](/customizations/multilingual-languages-support) for global reach
* You can also connect your own ElevenLabs account and use it with [Bolna AI](https://platform.bolna.ai/auth/elevenlabs)
ElevenLabs' advanced TTS technology enables Bolna AI to deliver realistic, engaging, and context-aware speech output for voice-driven applications.e.
# Rime Text to Speech with Bolna Voice AI agents
Source: https://www.bolna.ai/docs/providers/voice/rime
Integrate Rime TTS with Bolna Voice AI agents for ultra-fast, expressive speech synthesis with sub-200ms latency and diverse conversational voice options.
## What is Rime TTS?
[Rime](https://www.rime.ai/) TTS is an advanced AI-powered speech synthesis platform designed to deliver **ultra-fast, highly expressive, and natural-sounding voices** for conversational AI applications. Rime provides speech synthesis technologies that perfectly balance quality, customizability, and speed for building conversational applications.
Rime TTS is specifically optimized for **real-time conversational AI**, offering **sub-200 millisecond speech synthesis speeds** with their flagship models. With a focus on **emotional expressiveness, demographic diversity, and lightning-fast processing**, Rime TTS enables enterprises to create **engaging, responsive, and human-like voice interactions** across various industries and use cases.
## Why choose Rime for voice synthesis?
Rime TTS provides several cutting-edge features that enhance conversational AI applications:
**Ultra-Fast Speech Synthesis**: Delivers sub-200 millisecond synthesis speeds, with Mist v2 achieving \~70ms latency for real-time applications.
**Highly Expressive Speech Output**: Arcana model pushes the boundary of naturalness and emotional depth in synthesized speech with fine-grained prosody control.
**Multilingual and Demographic Diversity**: Supports multiple languages (English, Spanish, with more coming soon) and offers voices across many different demographic categories including age ranges, accents, and cultural backgrounds.
**Wide Range of Voice Options**: Features flagship voices like luna, celeste, orion, ursa, astra, esther, estelle, and andromeda across different speaking styles and demographics.
**Genre-Specific Optimization**: Provides specialized models for General, Conversational, Narration, and IVR use cases.
**Advanced Pronunciation Control**: Offers sophisticated control over speech performance using linguistically-aware markup and contextual nuances.
**Real-Time Processing Capabilities**: Engineered specifically for interactive applications requiring instant voice responses.
## How does Bolna integrate with Rime TTS?
Bolna AI leverages Rime's cutting-edge TTS technology to create ultra-responsive, engaging, and lifelike voice responses for its AI-powered conversational agents. Here's how Bolna AI integrates Rime TTS:
**Ultra-Fast Voice Output for Real-Time Conversations**:
Bolna AI utilizes Rime's industry-leading synthesis speeds to ensure that its AI-driven voice agents deliver instantaneous responses during live interactions. With sub-200ms latency, Bolna eliminates unnatural delays and creates seamless conversational flow that feels natural and responsive.
**Highly Expressive Speech for Enhanced User Engagement**:
Bolna AI takes advantage of Rime's Arcana model to produce emotionally nuanced and expressive speech output. This enables AI agents to adjust their tone and emotional delivery based on conversation context, creating more engaging and human-like interactions.
**Diverse Voice Demographics for Global Accessibility**:
To serve diverse customer bases, Bolna AI utilizes Rime's wide range of voice demographics and accents, ensuring clear communication across different user populations. This demographic diversity helps businesses create more inclusive and accessible voice AI experiences.
**Multilingual Support for International Applications**:
Bolna AI leverages Rime's multilingual capabilities (English, Spanish, with expanding language support) to provide voice AI solutions that can serve global markets with native-sounding speech in multiple languages.
**Genre-Optimized Speech for Specific Use Cases**:
Bolna AI integrates Rime's genre-specific optimizations to deliver contextually appropriate speech output. For example:
* **Customer Support Agents**: Use conversational-optimized voices that sound empathetic and professional during support interactions.
* **Recruitment AI Assistants**: Employ general-purpose voices with neutral yet engaging tones for job-related communications.
* **E-commerce AI Representatives**: Utilize expressive voices that can adapt tone to enhance user engagement and sales conversations.
* **IVR Systems**: Deploy IVR-optimized voices for clear, professional automated phone system interactions.
**Advanced Prosody Control for Brand Customization**:
For businesses looking to create distinctive voice experiences, Bolna AI integrates Rime's advanced prosody and pronunciation controls, enabling fine-tuned speech output that aligns with specific brand personalities and communication styles.
## What Rime TTS models are supported?
Bolna supports the following Rime TTS models:
| Model |
| ------ |
| arcana |
| mistv2 |
## Next steps
Ready to configure ultra-fast Rime voices for your voice AI agent? Start by [setting up your synthesizer in the Playground](/agent-setup/engine-tab) or explore our [API documentation](/api-reference/introduction) for programmatic integration.
For related integrations:
* Compare with [ElevenLabs voices](/providers/voice/elevenlabs) for alternative expressive synthesis
* Explore [Cartesia voices](/providers/voice/cartesia) for another fast TTS option
* Review [Deepgram voices](/providers/voice/deepgram) for low-latency alternatives
* Configure [multilingual support](/customizations/multilingual-languages-support) for global reach
* You can also connect your own Rime account and use it with [Bolna AI](https://platform.bolna.ai/auth/rime)
By integrating Rime TTS, Bolna AI significantly enhances its conversational AI capabilities, delivering ultra-fast, expressive, and demographically diverse voice output.
# Sarvam Text to Speech with Bolna Voice AI agents
Source: https://www.bolna.ai/docs/providers/voice/sarvam
Integrate and use your Bolna Voice AI agents with high-quality neural voices from Sarvam for natural, human-like conversational experiences.
## 1. What is Sarvam TTS?
[Sarvam](https://www.sarvam.ai/) TTS is a high-performance text-to-speech service developed by Sarvam AI, designed specifically for Indian languages. It delivers natural and expressive voice synthesis optimized for conversational use cases such as virtual assistants, IVRs, and customer support bots. Built using advanced generative AI techniques, Sarvam TTS offers real-time streaming capabilities and supports deployment at scale across multilingual environments.
## 2. Key Features of Sarvam TTS
Sarvam TTS provides several advanced features that enhance Bolna Voice AI applications:
**Multilingual Support**: Specially optimized for Indian languages such as Hindi, Telugu, Tamil, Kannada, and more.
**Natural-Sounding Voices**: Trained on diverse datasets to produce lifelike speech with proper intonation and pronunciation.
**Low Latency Streaming**: Designed for real-time use cases, ensuring smooth conversational flow in interactive systems.
**Custom Voice Options**: Ability to fine-tune or adapt voices for enterprise-specific needs.
## 3. How Bolna Uses Sarvam for TTS
Bolna Voice AI integrates Sarvam TTS to power Indian-language voice agents across recruitment, sales, and support workflows. The TTS system is used to generate real-time voice prompts, questions, and responses in native languages, ensuring better engagement and understanding, especially in Tier 2/3 regions.
**Real-Time Speech for Seamless Conversations**:
Sarvam’s low-latency streaming capabilities enable Bolna agents to synthesize speech in real time. This ensures a smooth, uninterrupted flow of conversation, making interactions feel natural and responsive for users.
**Multilingual & Accent-Aware Voice Support**:
Bolna uses Sarvam to serve candidates and customers in Hindi, Telugu, Tamil, and other Indian languages. The multilingual support allows each voice agent to adapt to the preferred language and accent of the user, improving comprehension and engagement—especially in Tier 2/3 regions.
**Handling Complex Pronunciations and Technical Terms**:
From candidate names to role-specific jargon, Sarvam TTS enables accurate pronunciation of complex or technical terms. This ensures that Bolna’s agents sound professional and easy to understand across varied use cases.
## 4. List of Sarvam TTS models supported on Bolna AI
| Model |
| ----------- |
| `bulbul:v3` |
| `bulbul:v2` |
| `bulbul:v1` |
## Conclusion
Sarvam TTS brings localized voice synthesis to the forefront of conversational AI in India. By integrating Sarvam, Bolna ensures its voice agents are not only intelligent but also relatable and linguistically inclusive. This helps improve candidate experience, increase response rates, and expand accessibility across diverse demographics.
For related integrations:
* You can also connect your own Sarvam account and use it with [Bolna AI](https://platform.bolna.ai/auth/sarvam)
# Smallest Text to Speech with Bolna Voice AI agents
Source: https://www.bolna.ai/docs/providers/voice/smallest
Integrate and use Smallest voices with Bolna Voice AI agents for lightweight and efficient text-to-speech solutions.
## 1. What is Smallest TTS?
[Smallest AI](https://smallest.ai/) TTS is an ultra-lightweight, high-efficiency speech synthesis engine designed for low-resource environments and edge computing applications. Unlike traditional cloud-based TTS solutions, Smallest AI focuses on delivering **fast, memory-efficient, and locally deployable speech synthesis** without sacrificing voice quality. It is ideal for AI-driven systems that require **real-time voice synthesis** on resource-constrained devices, such as mobile applications, IoT devices, and offline virtual assistants.
## 2. Key Features of Smallest TTS
Smallest AI TTS offers several unique features that make it an attractive option for AI-driven voice interactions:
**Lightweight and Efficient**: Optimized for low-power devices, embedded systems, and mobile applications, ensuring smooth performance on minimal hardware.
**Low-Latency, Real-Time Speech Generation**: Unlike cloud-based TTS solutions, Smallest AI offers instant voice synthesis with near-zero delay.
**Offline and On-Device Processing**: Supports fully offline speech generation without requiring an internet connection.
**Neural Compression for Compact Model Size**: Uses advanced compression techniques to reduce the model footprint while maintaining high-quality speech output.
**Multilingual Support with Minimal Resource Consumption**: Provides high-quality voice synthesis across multiple languages without requiring large storage or compute resources.
## 3. How Bolna Uses Smallest for TTS
Bolna AI integrates Smallest AI’s ultra-efficient speech synthesis technology to enhance its real-time conversational AI experience, particularly in low-resource and privacy-sensitive environments. Here’s how Bolna leverages Smallest AI TTS:
**Lightning-Fast Voice Responses for Instant AI Interactions**:
With Smallest AI’s low-latency TTS, Bolna ensures that its voice agents respond instantly, making interactions feel seamless, natural, and fluid.
**Efficient Multilingual Speech Processing with Minimal Compute**:
Bolna AI utilizes Smallest AI’s multilingual synthesis to generate speech without the overhead of large AI models, making it scalable for voice automation across multiple regions and languages.
**Customizable Voices for Enterprise Branding**:
Smallest AI supports lightweight, trainable voice models, allowing Bolna AI to provide custom-branded voices for businesses, ensuring a unique and recognizable AI-driven voice identity.
## 4. List of Smallest models supported on Bolna AI
| Model |
| ------------ |
| lightning-v2 |
## Conclusion
Smallest AI TTS enhances Bolna AI’s ability to deliver **ultra-fast voice interactions**. By integrating **Smallest AI’s lightweight and highly efficient speech synthesis**, Bolna ensures seamless **real-time AI conversations with low-latency responses**. This makes Bolna’s AI voice agents highly scalable for industries requiring **compact, high-performance voice AI solutions in customer service, healthcare and enterprise automation**.
# Handle Inbound Calls with Bolna Voice AI Agents
Source: https://www.bolna.ai/docs/receiving-incoming-calls
Set up Bolna Voice AI agents to answer incoming calls. Assign phone numbers, configure settings via the dashboard or API, and enhance customer interactions.
## How to set up inbound calls with Bolna?
To handle incoming calls with your Bolna Voice AI agent, you need to assign a phone number to your agent. When someone calls that number, your agent will automatically answer and have a conversation based on your configured prompts and settings.
You will need to assign a phone number to your Bolna Voice AI agent for automatically answering all incoming calls on that phone number
## What are my options for getting a phone number?
### Method 1. Purchase a phone number from the [Bolna Dashboard](https://platform.bolna.ai/phone-numbers).
Please refer to a [step by step tutorial for purchasing phone numbers on Bolna](/buying-phone-numbers).
### Method 2. Connect your Telephony account and use your own phone numbers.
>
}
href="/twilio-connect-provider"
>
Use your own Twilio phone numbers with Bolna
>
}
href="/plivo-connect-provider"
>
Use your own Plivo phone numbers with Bolna
>
}
href="/vobiz-connect-provider"
>
Use your own Vobiz phone numbers with Bolna
>
}
href="/exotel-connect-provider"
>
Use your own Exotel phone numbers with Bolna
***
## How to set up inbound calls from the dashboard?
## How to set up inbound calls using APIs?
#### Step 1. Use [List Phone Numbers API](api-reference/phone-numbers/get_all) to list all avalable phone numbers.
```curl request-phone-numbers theme={"system"}
curl --request GET \
--url https://api.bolna.ai/phone-numbers/all \
--header 'Authorization: Bearer '
```
```json response-phone-numbers theme={"system"}
[
{
"id": "3c90c3cc0d444b5088888dd25736052a",
"humanized_created_at": "5 minutes ago",
"created_at": "2024-01-23T05:14:37Z",
"humanized_updated_at": "5 minutes ago",
"updated_at": "2024-02-29T04:22:89Z",
"renewal_at": "17th Dec, 2024",
"phone_number": "+19876543210",
"agent_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"price": "$5.0",
"telephony_provider": "twilio",
"rented": true
}
]
```
#### Step 2. Use [Set Inbound Agent API](api-reference/inbound/agent) to assign a phone number for Bolna Voice AI agent.
```curl request-set-inbound-agent theme={"system"}
curl --request POST \
--url https://api.bolna.ai/inbound/setup \
--header 'Authorization: Bearer ' \
--header 'Content-Type: application/json' \
--data '{
"agent_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"phone_number_id": "123e4567-e89b-12d3-a456-426614174000"
}'
```
```json response-setup-inbound-agent theme={"system"}
{
"url": "https://api.bolna.ai/inbound_call?agent_id=3c90c3cc-0d44-4b50-8888-8dd25736052a&user_id=28f9c34b-8eb0-4af5-8689-c2f6c4daec22",
"phone_number": "+19876543210",
"id": "3c90c3cc0d444b5088888dd25736052a"
}
```
## Next steps
Ready to start receiving inbound calls? [Configure your agent](/agent-setup/agent-tab) and explore related features:
* [Make outbound calls](/making-outgoing-calls) to complement your inbound setup
* [Supported telephony providers](/supported-telephony-providers) for integration options
* [Call transfer functions](/tool-calling/transfer-calls) to route to human agents
* [Monitor call status](/list-phone-call-status) in real-time
For 24/7 automated support, combine inbound calling with [guardrails](/guardrails) and [custom prompts](/agent-setup/agent-tab).
# Container Images Release
Source: https://www.bolna.ai/docs/self_hosted_changelog/september-2025
Explore the latest features, performance enhancements, and API updates in the September 2025 Bolna Self-Hosted release.
### Container Image Updates
* `ghcr.io/bolna-ai/api_server:release-250911`
* `ghcr.io/bolna-ai/ws_server:release-250911`
* `ghcr.io/bolna-ai/telephone_server:release-250911`
* `ghcr.io/bolna-ai/q_manager:release-250911`
* `ghcr.io/bolna-ai/q_worker:release-250911`
* `ghcr.io/bolna-ai/arq_worker:release-250911`
### Release Changes
* **New API for Subaccount Usage** – Extended a new endpoint to retrieve the usage of all sub-accounts. ([API doc](/api-reference/sub-accounts/all_usage))
* **Enhanced Logging & Call Statuses** – Added more granular logs, additional call statuses, and exception handling to improve visibility and speed up debugging.
* **Twilio and Plivo SDK Removal** – Removed the synchronous telephony SDK packages, eliminating major bottlenecks and significantly improving call initiation performance.
* **Miscellaneous Fixes** – Addressed several minor bugs to improve overall platform stability and performance.
# Setup Exotel with Bolna for Inbound Calling
Source: https://www.bolna.ai/docs/setup-exotel-app-for-inbound-calls
Create, setup and configure Exotel Application with your account for enabling Inbound calls with Bolna Voice AI Platform
## How to Create an Exotel App for Inbound Calls
To enable inbound calling functionality with Bolna's Voice AI agents through Exotel, you'll need to create and configure a dedicated app in your Exotel dashboard. This app serves as the communication bridge between Bolna's AI voice agents and Exotel's telephony infrastructure for making incoming calls.
### Understanding Exotel Apps for Voice AI Integration
An Exotel app is a customizable workflow that defines how your inbound calls are handled, routed, and connected. For Bolna integration, you'll configure a specialized app that connects the Voicebot functionality with Bolna's API endpoints, enabling seamless AI-powered inbound calling capabilities.
### Prerequisites for Creating Your Exotel Inbound App
Before you begin, ensure you have:
* An active Exotel account with API access
* Access to your Exotel dashboard at [my.exotel.com](https://my.exotel.com/)
### Step 1: Access the Exotel App Bazaar
Navigate to your [Exotel dashboard](https://my.exotel.com/) and locate the **App Bazaar** section under the **Manage** menu. The App Bazaar is where you'll create and configure custom apps for your telephony workflows.
### Step 2: Create a New App for Bolna Integration
Click the **Create** button to start building your new app. Give it a descriptive name such as **"Bolna Inbound"** (you can customize this name based on your preference for easy reference in your dashboard).
### Step 3: Add the Voicebot App Component
Drag the **Voicebot** app from the available components and drop it into the **"Drop app here"** box. This is the primary component that will handle the AI voice interaction.
### Step 4: Configure the Voicebot Component
Once dropped, a configuration popup will appear for the Voicebot settings:
* In the URL field, copy and paste the following Bolna API endpoint:
```
https://api.bolna.ai/inbound_call
```
* Enable the **"Record this"** checkbox to record your inbound calls for quality assurance and compliance purposes
### Step 5: Configure App for Transfer calling
Within the Voicebot popup, you'll notice another **"Drop app here"** section at the bottom. This is where you'll configure the call connection logic.
Drag and drop the **Connect** voice app into this designated area. This component manages the actual phone call connection and routing.
When the Connect app popup opens, you'll need to specify how connection parameters are controlled:
1. Look for the section titled **"How do you want to control your Connect params?"**
2. Select the option: **"Configure parameters dynamically by providing a URL"**
3. In the **Primary URL** field, copy and paste the following Bolna API endpoint:
```
https://api.bolna.ai/exotel_connect_transfer
```
This configuration allows Bolna to dynamically control call parameters while transferring a live call.
### Step 6: Save Your Exotel App Configuration
Click the **Save** button to finalize your app configuration. Your Exotel inbound app is now ready to work with Bolna's Voice AI platform.
### Obtaining Your Exotel App ID
After saving your app, Exotel will generate a unique **App ID** for your configuration. This ID is what you'll use when configuring inbound calling campaigns in Bolna. You can find this ID in your Exotel App Bazaar dashboard next to your newly created app.
**Important**: Make sure to test your app configuration with a test call before launching production campaigns to ensure all components are working correctly together.
# Setup Exotel with Bolna for Outbound Calling
Source: https://www.bolna.ai/docs/setup-exotel-app-for-outbound-calls
Create, setup and configure Exotel Application with your account for enabling Outbound calls with Bolna Voice AI Platform
## How to Create an Exotel App for Outbound Calls
To enable outbound calling functionality with Bolna's Voice AI agents through Exotel, you'll need to create and configure a dedicated app in your Exotel dashboard. This app serves as the communication bridge between Bolna's AI voice agents and Exotel's telephony infrastructure for making outbound calls.
### Understanding Exotel Apps for Voice AI Integration
An Exotel app is a customizable workflow that defines how your outbound calls are handled, routed, and connected. For Bolna integration, you'll configure a specialized app that connects the Voicebot functionality with Bolna's API endpoints, enabling seamless AI-powered outbound calling capabilities.
### Prerequisites for Creating Your Exotel Outbound App
Before you begin, ensure you have:
* An active Exotel account with API access
* Access to your Exotel dashboard at [my.exotel.com](https://my.exotel.com/)
### Step 1: Access the Exotel App Bazaar
Navigate to your [Exotel dashboard](https://my.exotel.com/) and locate the **App Bazaar** section under the **Manage** menu. The App Bazaar is where you'll create and configure custom apps for your telephony workflows.
### Step 2: Create a New App for Bolna Integration
Click the **Create** button to start building your new app. Give it a descriptive name such as **"Bolna Outbound"** (you can customize this name based on your preference for easy reference in your dashboard).
### Step 3: Add the Voicebot App Component
Drag the **Voicebot** app from the available components and drop it into the **"Drop app here"** box. This is the primary component that will handle the AI voice interaction.
### Step 4: Configure the Voicebot Component
Once dropped, a configuration popup will appear for the Voicebot settings:
* In the URL field, copy and paste the following Bolna API endpoint:
```
https://api.bolna.ai/exotel_callback
```
* Enable the **"Record this"** checkbox to record your outbound calls for quality assurance and compliance purposes
### Step 5: Configure App for Transfer calling
Within the Voicebot popup, you'll notice another **"Drop app here"** section at the bottom. This is where you'll configure the call connection logic.
Drag and drop the **Connect** voice app into this designated area. This component manages the actual phone call connection and routing.
When the Connect app popup opens, you'll need to specify how connection parameters are controlled:
1. Look for the section titled **"How do you want to control your Connect params?"**
2. Select the option: **"Configure parameters dynamically by providing a URL"**
3. In the **Primary URL** field, copy and paste the following Bolna API endpoint:
```
https://api.bolna.ai/exotel_connect_transfer
```
This configuration allows Bolna to dynamically control call parameters while transferring a live call.
### Step 6: Save Your Exotel App Configuration
Click the **Save** button to finalize your app configuration. Your Exotel outbound app is now ready to work with Bolna's Voice AI platform.
### Obtaining Your Exotel App ID
After saving your app, Exotel will generate a unique **App ID** for your configuration. This ID is what you'll use when configuring outbound calling campaigns in Bolna. You can find this ID in your Exotel App Bazaar dashboard next to your newly created app.
### Next Steps: Using Your Exotel App with Bolna
With your Exotel app configured and your App ID obtained, you can now:
* Configure outbound calling campaigns in Bolna using your Exotel App ID
* Launch AI-powered outbound voice campaigns through your Exotel infrastructure
* Monitor call performance and analytics through both Bolna and Exotel dashboards
**Important**: Make sure to test your app configuration with a test call before launching production campaigns to ensure all components are working correctly together.
# Receive Inbound Calls via Your SIP Trunk
Source: https://www.bolna.ai/docs/sip-trunking/byot-inbound-calls
Route incoming calls from your SIP trunk to Bolna AI agents. Map DID phone numbers to agents so calls are automatically answered.
## How inbound calls work with BYOT
When a call arrives on one of your DID numbers, the following happens:
1. Your SIP provider sends the INVITE to Bolna's SIP server (`sip:13.200.45.61:5060`)
2. Bolna matches the called number against your registered phone numbers
3. The call is routed to the AI agent mapped to that number
4. The agent answers and handles the conversation
## Prerequisites
Before setting up inbound calls, ensure:
1. You have [created a SIP trunk](/sip-trunking/byot-setup) on Bolna
2. You have [added your phone numbers](/sip-trunking/byot-setup#add-phone-numbers-to-your-trunk) to the trunk
3. Your SIP provider is routing those DIDs to `sip:13.200.45.61:5060`
4. `inbound_enabled` is set to `true` on your trunk
5. You have a Bolna agent created
## Map a phone number to an agent
Use the [Set Inbound Agent API](/api-reference/inbound/agent) to map a phone number to your Bolna agent.
```bash request theme={"system"}
curl -X POST https://api.bolna.ai/inbound/setup \
-H "Authorization: Bearer " \
-H "Content-Type: application/json" \
-d '{
"agent_id": "agt-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"phone_number_id": "01HQNUMBER111222333"
}'
```
```json response theme={"system"}
{
"message": "SIP trunk number successfully mapped to agent"
}
```
| Field | Type | Required | Description |
| ----------------- | ------ | -------- | ------------------------------------------------------------------------------------------------------------------- |
| `agent_id` | string | **Yes** | The UUID of the Bolna agent that should handle calls on this number. |
| `phone_number_id` | string | **Yes** | The phone number ID returned when you [added the number to the trunk](/byot-setup#add-phone-numbers-to-your-trunk). |
Once mapped, any call arriving on that DID will be answered by the specified agent. The agent's audio format is automatically updated to `ulaw` to match Asterisk's requirements.
**One number, one agent:** A phone number can only be mapped to one agent at a time. Mapping it to a new agent automatically unmaps it from the previous one.
## Unlink a number from an agent
To stop an agent from answering calls on a number (without removing the number from the trunk), use the unlink endpoint:
```bash theme={"system"}
curl -X POST https://api.bolna.ai/inbound/unlink \
-H "Authorization: Bearer " \
-H "Content-Type: application/json" \
-d '{
"agent_id": "agt-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"phone_number_id": "01HQNUMBER111222333"
}'
```
After unlinking, inbound calls to that number will no longer be answered by an agent.
## Troubleshooting inbound calls
If inbound calls are not arriving or are being rejected:
1. Confirm your SIP provider has `sip:13.200.45.61:5060` set as the origination URI for the DID
2. Confirm the phone number has been [added to the trunk](/sip-trunking/byot-setup#add-phone-numbers-to-your-trunk)
3. Confirm the phone number has been mapped to an agent (above)
4. Confirm `inbound_enabled` is `true` on the trunk
5. Check that the number format in the INVITE's `Request-URI` or `To` header matches what you stored (with or without `+`)
## Next steps
* [Make outbound calls](/sip-trunking/byot-outbound-calls) from your SIP trunk numbers
* [Manage your trunk](/api-reference/sip-trunks/overview) using the SIP Trunk API
* [Monitor call status](/list-phone-call-status) in real-time
# Make Outbound Calls via Your SIP Trunk
Source: https://www.bolna.ai/docs/sip-trunking/byot-outbound-calls
Place outbound calls from your own SIP trunk phone numbers using Bolna AI agents. Configure your agent and start calling through your trunk.
## How outbound calls work with BYOT
Outbound calls from your SIP trunk are placed via the standard Bolna call API. Bolna looks up the `from_number`, resolves the associated trunk and gateway, and places the call via Asterisk's PJSIP channel driver using your trunk's credentials.
## Prerequisites
Before making outbound calls, ensure:
1. You have [created a SIP trunk](/sip-trunking/byot-setup) on Bolna
2. You have [added your phone numbers](/sip-trunking/byot-setup#add-phone-numbers-to-your-trunk) to the trunk
3. `is_active` is `true` on the trunk
4. You have a Bolna agent created
## Step 1. Configure the agent's telephony provider
Set `telephony_provider` to `"sip-trunk"` in your agent's configuration. This tells Bolna to route outbound calls through your SIP trunk and use ulaw audio encoding.
```bash theme={"system"}
curl -X PATCH https://api.bolna.ai/v2/agent/{agent_id} \
-H "Authorization: Bearer " \
-H "Content-Type: application/json" \
-d '{
"agent_config": {
"telephony_provider": "sip-trunk"
}
}'
```
## Step 2. Place an outbound call
Use the standard [call API](/api-reference/calls/make), specifying the `from_number` as a DID registered on your trunk:
```bash request theme={"system"}
curl -X POST https://api.bolna.ai/call \
-H "Authorization: Bearer " \
-H "Content-Type: application/json" \
-d '{
"agent_id": "agt-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"recipient": {
"phone_number": "+918800001234",
"name": "Rahul Sharma"
},
"from_number": "+919876543210"
}'
```
The `from_number` must be a phone number you have registered on your SIP trunk. Bolna will use the trunk's gateway and credentials to place the call.
## Troubleshooting outbound calls
If outbound calls are failing or not being placed:
1. Confirm `is_active` is `true` on the trunk
2. Confirm the `from_number` used in the call request is registered on the trunk
3. Confirm the gateway address and credentials are correct -- check your provider portal for authentication errors
4. For `ip-based` trunks, ensure `13.200.45.61` is in your provider's IP whitelist
5. Confirm `outbound_leading_plus_enabled` matches what your carrier expects (some carriers reject `+`, others require it)
### No audio / call connects but no voice
SRTP is not supported. If your SIP trunk has SRTP enabled, the media negotiation will fail. Disable SRTP on your trunk and ensure media is negotiated as plain RTP.
### Audio quality issues / one-way audio
* Ensure `rtp_symmetric` and `force_rport` are both `true` (the defaults)
* Confirm your SIP provider's RTP IP ranges are reachable from `13.200.45.61`
* Verify `allow` includes `ulaw`
* Avoid enabling `direct_media` unless explicitly advised by Bolna support
## Next steps
* [Set up inbound calls](/sip-trunking/byot-inbound-calls) to receive calls on your SIP trunk numbers
* [Batch calling](/batch-calling) for high-volume outbound campaigns
* [Monitor call status](/list-phone-call-status) and [call hangup statuses](/list-phone-call-hangup-status)
# Set Up Your SIP Trunk on Bolna
Source: https://www.bolna.ai/docs/sip-trunking/byot-setup
Step-by-step guide to configure your SIP provider and create a SIP trunk on Bolna for AI-powered voice calls using your own telephony infrastructure.
## Prerequisites
Before creating a trunk in Bolna, configure the following on your SIP trunk provider's portal.
### 1. Whitelist Bolna's IP Address
Bolna's SIP media server IP is:
```
13.200.45.61
```
You **must** whitelist this IP on your SIP trunk so that Bolna's outbound SIP INVITE and RTP packets are accepted. In most provider portals this is called an **IP whitelist**, **allowed IP**, **trusted IP**, or **ACL**.
If you are using `ip-based` authentication, this is the IP you will add as your identifier -- Bolna will be recognized solely by its source IP.
### 2. Set the Origination URL (for inbound calls)
If you want calls to your DID numbers to ring through to Bolna, point your SIP trunk's **origination URI** to:
```
sip:13.200.45.61:5060
```
In your provider portal this is usually labeled as:
* **Origination URI** or **Origination URL**
* **Inbound SIP URI**
* **SIP Termination Point**
* **Route to** / **Forward to**
Set this for every DID number (or for the trunk as a whole, depending on your provider) that you intend to route to Bolna.
If your provider uses a **domain-based** origination URI rather than an IP, contact Bolna support for an alternative hostname.
### 3. Codec Configuration
Bolna's SIP layer uses **G.711 u-law (ulaw)** audio by default. Ensure your trunk allows ulaw, or at minimum alaw, in its codec preferences. G.729 and other compressed codecs are not recommended.
### 4. Disable SRTP
**SRTP (Secure RTP) is not currently supported by Bolna.** Media is transmitted over standard (unencrypted) RTP. If your provider has SRTP enabled by default or as a mandatory setting, disable it before connecting the trunk to Bolna.
***
## Create a SIP Trunk
Use the [Create SIP Trunk API](/api-reference/sip-trunks/create) to register your trunk with Bolna.
### Example -- Username/Password Authentication
```bash request theme={"system"}
curl -X POST https://api.bolna.ai/sip-trunks/trunks \
-H "Authorization: Bearer " \
-H "Content-Type: application/json" \
-d '{
"name": "Zadarma Production",
"provider": "zadarma",
"description": "Main Zadarma trunk for outbound sales",
"auth_type": "userpass",
"auth_username": "",
"auth_password": "",
"gateways": [
{
"gateway_address": "sip.zadarma.com",
"port": 5060,
"priority": 1
}
],
"allow": "ulaw,alaw",
"disallow": "all",
"inbound_enabled": true,
"outbound_leading_plus_enabled": true
}'
```
```json response theme={"system"}
{
"id": "01HQXYZ123ABC456DEF",
"name": "Zadarma Production",
"provider": "zadarma",
"description": "Main Zadarma trunk for outbound sales",
"auth_type": "userpass",
"auth_username": "",
"gateways": [
{
"id": "01HQXYZ111AAA111BBB",
"gateway_address": "sip.zadarma.com",
"port": 5060,
"priority": 1,
"created_at": "2025-01-15T10:00:00Z"
}
],
"ip_identifiers": [],
"phone_numbers": [],
"allow": "ulaw,alaw",
"disallow": "all",
"transport": "transport-udp",
"direct_media": false,
"rtp_symmetric": true,
"force_rport": true,
"ice_support": true,
"qualify_frequency": 60,
"inbound_enabled": true,
"outbound_leading_plus_enabled": true,
"is_active": true,
"created_at": "2025-01-15T10:00:00Z",
"updated_at": "2025-01-15T10:00:00Z"
}
```
### Example -- IP-Based Authentication (e.g. Plivo Elastic SIP)
```bash request theme={"system"}
curl -X POST https://api.bolna.ai/sip-trunks/trunks \
-H "Authorization: Bearer " \
-H "Content-Type: application/json" \
-d '{
"name": "Plivo Elastic Trunk",
"provider": "plivo",
"auth_type": "ip-based",
"gateways": [
{
"gateway_address": "21467306465797919.zt.plivo.com",
"port": 5060,
"priority": 1
}
],
"ip_identifiers": [
{ "ip_address": "15.207.90.192/31" },
{ "ip_address": "204.89.151.128/27" },
{ "ip_address": "13.52.9.0/25" }
],
"inbound_enabled": true
}'
```
```json response theme={"system"}
{
"id": "01HQXYZ789GHI012JKL",
"name": "Plivo Elastic Trunk",
"provider": "plivo",
"auth_type": "ip-based",
"gateways": [
{
"id": "01HQXYZ222BBB222CCC",
"gateway_address": "21467306465797919.zt.plivo.com",
"port": 5060,
"priority": 1,
"created_at": "2025-01-15T10:00:00Z"
}
],
"ip_identifiers": [
{ "ip_address": "15.207.90.192/31" },
{ "ip_address": "204.89.151.128/27" },
{ "ip_address": "13.52.9.0/25" }
],
"phone_numbers": [],
"is_active": true,
"inbound_enabled": true,
"created_at": "2025-01-15T10:00:00Z",
"updated_at": "2025-01-15T10:00:00Z"
}
```
Save the `id` field from the response -- this is your **trunk ID** used in all subsequent API requests.
***
## Add Phone Numbers to Your Trunk
After creating a trunk, add your DID phone numbers using the [Add Phone Number API](/api-reference/sip-trunks/add_number).
```bash request theme={"system"}
curl -X POST https://api.bolna.ai/sip-trunks/trunks/01HQXYZ123ABC456DEF/numbers \
-H "Authorization: Bearer " \
-H "Content-Type: application/json" \
-d '{
"phone_number": "919876543210",
"name": "Mumbai Support Line"
}'
```
```json response theme={"system"}
{
"id": "01HQNUMBER111222333",
"phone_number": "919876543210",
"byot_trunk_id": "01HQXYZ123ABC456DEF",
"telephony_provider": "sip-trunk",
"deleted": false,
"created_at": "2025-01-15T10:05:00Z",
"updated_at": "2025-01-15T10:05:00Z"
}
```
Save the `id` field -- this is the **phone number ID** used when setting up inbound call routing or making outbound calls.
**Phone number format:** Bolna stores the number exactly as provided. When matching inbound calls, the platform performs a flexible lookup that checks both the number with and without a `+` prefix. Use a consistent format across your trunk and inbound DID configuration.
***
## Create Trunk field reference
| Field | Type | Required | Default | Description |
| ------------------------------- | ------- | ----------- | ----------------- | --------------------------------------------------------------------------------------------------------------- |
| `name` | string | **Yes** | -- | Human-readable label. Must be unique per account. |
| `provider` | string | **Yes** | -- | SIP provider name (e.g. `"twilio"`, `"plivo"`, `"zadarma"`, `"telnyx"`, `"vonage"`, `"custom"`). |
| `description` | string | No | `null` | Optional description for internal reference. |
| `auth_type` | string | **Yes** | -- | `"userpass"` or `"ip-based"`. |
| `auth_username` | string | Conditional | `null` | Required when `auth_type` is `"userpass"`. |
| `auth_password` | string | Conditional | `null` | Required when `auth_type` is `"userpass"`. |
| `gateways` | array | **Yes** | -- | At least one gateway. Each has `gateway_address` (required), `port` (default `5060`), `priority` (default `1`). |
| `ip_identifiers` | array | Conditional | `[]` | Required when `auth_type` is `"ip-based"`. List of `{ "ip_address": "..." }` objects. |
| `allow` | string | No | `"ulaw,alaw"` | Comma-separated codecs to allow. Always include `ulaw`. |
| `disallow` | string | No | `"all"` | Comma-separated codecs to disallow. |
| `inbound_enabled` | boolean | No | `false` | Set `true` to receive inbound calls. |
| `outbound_leading_plus_enabled` | boolean | No | `true` | Prepend `+` to outbound dialed numbers. |
| `transport` | string | No | `"transport-udp"` | SIP transport protocol. |
| `direct_media` | boolean | No | `false` | Set up RTP directly between caller and callee. Keep `false`. |
| `rtp_symmetric` | boolean | No | `true` | Symmetric RTP. Required for NAT. |
| `force_rport` | boolean | No | `true` | Force responses to source port. Required for NAT. |
| `ice_support` | boolean | No | `true` | ICE for media negotiation. |
| `qualify_frequency` | integer | No | `60` | SIP OPTIONS ping interval in seconds. `0` to disable. |
| `phone_numbers` | array | No | `[]` | Optional phone numbers to add at creation time. |
***
## Next steps
* [Set up inbound calls](/sip-trunking/byot-inbound-calls) to route incoming calls to your AI agents
* [Make outbound calls](/sip-trunking/byot-outbound-calls) from your SIP trunk numbers
* [Manage your trunk](/api-reference/sip-trunks/overview) using the full SIP Trunk API
# Bring Your Own SIP Trunk to Bolna Voice AI
Source: https://www.bolna.ai/docs/sip-trunking/introduction
Connect your own SIP trunk to Bolna and use your existing telephony relationships and phone numbers for AI-powered inbound and outbound voice calls.
## What is Bring Your Own Telephony (BYOT)?
Bring Your Own Telephony (BYOT) lets you connect any standards-compliant SIP trunk to the Bolna platform. Instead of using Bolna's built-in telephony providers (Twilio, Plivo, etc.), you can use your existing SIP trunk provider, your own phone numbers, and your own calling rates.
Once connected, Bolna can:
* **Receive inbound calls** on your DID numbers and route them to AI agents
* **Place outbound calls** from your DID numbers using your trunk's minutes and rates
Learn more about [supported telephony providers](/supported-telephony-providers).
**SIP Trunking** is currently in Beta.
Please reach out to us at [enterprise@bolna.ai](mailto:enterprise@bolna.ai) or schedule a call at [https://www.bolna.ai/meet](https://www.bolna.ai/meet) for more information and access.
## How to get started with your SIP Trunk
Configure your SIP provider and create a trunk on Bolna
Place outbound calls through your SIP trunk
Route incoming calls to your Bolna AI agents
Full API reference for managing SIP trunks
## Supported authentication methods
| Method | How it works |
| ---------- | --------------------------------------------------------------------------------------------------------------------------------- |
| `userpass` | Bolna authenticates to your SIP trunk using a username and password (SIP REGISTER or INVITE auth). |
| `ip-based` | Your SIP trunk identifies Bolna by source IP address; no username/password required. You must whitelist Bolna's IP on your trunk. |
## Why bring your own SIP trunk?
* **Use existing relationships**: Keep your current SIP provider and phone numbers
* **Cost control**: Use your own negotiated rates and minutes
* **Provider flexibility**: Works with any standards-compliant SIP trunk (Twilio Elastic SIP, Plivo, Zadarma, Telnyx, Vonage, DIDWW, and more)
* **Number portability**: No need to port numbers to a new provider
**SRTP (Secure RTP) is not currently supported.** Media must be transmitted over standard (unencrypted) RTP. Ensure your SIP trunk is configured to use plain RTP. Trunks that require mandatory SRTP will not work with Bolna at this time.
## Next steps
Ready to connect your SIP trunk? Start with the [setup guide](/byot-setup) to configure your provider and create a trunk on Bolna.
# Explore Telephony Integrations with Bolna Voice AI
Source: https://www.bolna.ai/docs/supported-telephony-providers
Review the telephony providers compatible with Bolna agents, including Twilio and Plivo. Integrate seamlessly to initiate inbound and outbound Voice AI calls.
## What telephony providers does Bolna support?
Bolna Voice AI integrates with leading telephony providers to enable both inbound and outbound voice calls for your AI agents.
## Supported use cases
You can create your agents on Bolna and use them to initiate calls for a variety of use-cases:
* 24x7 AI Front desk
* Automated scheduling
* Lead qualifications
* Recruitments
* Customer support
* Sales and outreach
* And many more
## How to set up telephony for your Bolna agents
We have the following telephony integrations available for initiating both **outbound** and **inbound** calls:
| Provider | Supported Countries | Inbound | Outbound | Bring Your Own Account |
| ------------------------------------------------ | --------------------------------------------------------- | ------- | -------- | ---------------------- |
| [Plivo](/plivo) | India | ✅ Yes | ✅ Yes | ✅ Yes |
| [Exotel](/exotel) | India | ✅ Yes | ✅ Yes | ✅ Yes |
| [Vobiz](/vobiz) | India | ✅ Yes | ✅ Yes | ✅ Yes |
| [Twilio](/twilio) | United States, United Kingdom, Singapore, Australia, etc. | ✅ Yes | ✅ Yes | ✅ Yes |
| [Your Own SIP Trunk](/sip-trunking/introduction) | Any (depends on your SIP provider) | ✅ Yes | ✅ Yes | ✅ Yes |
## What's the difference between Twilio, Plivo, Vobiz & Exotel ?
All above telephony providers support inbound and outbound calls with Bolna agents. Choose based on your requirements:
* **Twilio**: if you're making or receiving calls outside India
* **Plivo**: if you're making or receiving calls within India
* **Vobiz**: if you're making or receiving calls within India
* **Exotel**: if you're making or receiving calls within India
* **[Your Own SIP Trunk (BYOT)](/sip-trunking/introduction)**: if you want to use your existing SIP trunk provider, phone numbers, and rates with Bolna
## Next steps
Ready to set up telephony? [Connect your Twilio account](/twilio) or [set up Plivo integration](/plivo). Already have a SIP trunk? [Bring Your Own Telephony](/sip-trunking/introduction) to use your existing provider. Need phone numbers? Learn how to [purchase dedicated phone numbers](/buying-phone-numbers) directly from Bolna or [make your first outbound call](/making-outgoing-calls).
# Prompting & best practices for Bolna Voice AI agents
Source: https://www.bolna.ai/docs/tips-and-tricks
Explore practical tips and tricks to enhance the performance of Bolna Voice AI agents. Master best practices for effective implementation.
## How to choose the right agent type?
* Choosing between a Free flowing and an IVR agent
* **Benefits of Free Flowing agents** : A free flowing agent requires a plain english prompt to create. It enables truly natural conversations and allows your agent to be creative when responding
* **Harms of Free Flowing agents**: The harms of free flowing agents are that the prompt and settings often require fine-tuning to ensure you are getting desired responses. Free flowing agents are also costlier
* **Benefits of IVR agents** : You have complete control over the exact sentences your IVR agent will say. IVR agents are also cheaper and have much no risk of deviation / hallucination
* **Harms of IVR agents** : Conversations are limited to what you have defined in the IVR tree. The agent will try to map any response a user makes to the options that you have given it. This increases chances of the call seeming artificial. It also takes time to build an IVR tree
* Choosing a Task
* The quickest way of creating an agent is choosing a task and making small changes to the pre-defined template that we have set for you (Note: these agents are built to run on default settings. Changes in settings will require changing prompts)
* If you want to start from scratch, choose Others as your task
* Choosing invocation
* Choose telephone only if you want your agent to make telephone calls (Note: Telephone calling is expensive and you will burn through your credits rapidly. We **strongly** suggest you to use our playground to thoroughly test your agent before initiating a call)
## How to write effective prompts?
* Stay concise with your prompts. Use the 'Tips' to quickly build a prompt. Ideally start, with a clear, short prompt and keep adding details.
* Prompt engineering takes time! Be patient if your agent does not follow your prompt the way you want it to
* **Expert Tips** : For smart low-latency conversations, only use the Overview page (leave all pages blank). Clearly state your required intent, and start the prompt with the line "You will not speak more than 2 sentences"
## How to configure follow-up tasks?
* Summary will give a short summary of all important points discussed in the conversation
* Extraction allows you to specify what classifiers you want to pull from the conversation. Be clear in defining what you want to extract
* For webhook, you will have to give a webhook url (e.g., Zapier). Your extraction prompt should trigger the task set through the webhook.
## How to optimize settings for performance?
* Refer to this page for a detailed pricing + latency guide when assigning settings -
* Make sure the voice you choose speaks the language that you have chosen
* Only modify advanced settings if you have experience working with LLMs
* **Expert Tips** : For smart low-latency conversations use these settings
* LLM: Azure/gpt-4.1mini-cluster
* Voice: ElevenLabs
* Transcriber: Deepgram
* Telephony: Plivo
## Next steps
Ready to build your agent? Apply these best practices:
* Start with an [agent template](/agents-library) and customize it
* Configure [guardrails](/guardrails) to control agent behavior
* Use [context variables](/using-context) for personalization
* Test thoroughly in the [Playground](/agent-setup/agent-tab) before deploying
For multilingual agents, review the [prompting guide for non-English languages](/guides/writing-prompts-in-non-english-languages).
# Book Calendar Slots with Bolna Voice AI and Cal.com
Source: https://www.bolna.ai/docs/tool-calling/book-calendar-slots
Learn how to book calendar appointments during live calls using Bolna Voice AI integrated with Cal.com. Automate appointment scheduling with your voice agent.
## What is Book Calendar Slots?
The **Book Calendar Slots** function allows your Voice AI agent to schedule appointments directly into your Cal.com calendar during live conversations. After a caller selects a time slot, your agent can book it instantly.
***
## Configuration Options
| Setting | Description |
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------- |
| **Description (Prompt)** | When to book - e.g., *"Use this tool to book an appointment with given details and save the appointment in the calendar"* |
| **Pre-tool Message** | What agent says while booking - e.g., *"Just give me a moment, I'll be back with you"* |
| **API Key** | Your [Cal.com API key](https://app.cal.com/settings/developer/api-keys) |
| **Select Events** | Choose event types from your Cal.com account (15 min, 30 min, etc.) |
| **Choose Timezone** | Timezone for accurate slot booking |
**Select Events** and **Choose Timezone** dropdowns appear only after entering a valid Cal.com API key.
***
## How to Set Up
Navigate to [Tools Tab](/agent-setup/tools-tab) in your agent configuration.
Click **"Select functions"** → choose **"Book appointment (using Cal.com)"**.
Paste your Cal.com API key. Event types will load automatically once validated.
Choose which event to book - *15 min meeting*, *30 min meeting*, or your custom events.
Match your Cal.com event timezone for accurate booking.
Add a clear trigger description - e.g., *"Book the appointment after the caller confirms their preferred time slot."*
Click **Save configuration** to apply your settings.
***
## Example Conversation
**Caller**: "I'll take the 2 PM slot on Friday."
**Agent**: "Perfect! Let me book that for you. Just give me a moment..."
*Agent triggers book\_appointment function*
**Agent**: "Done! I've booked your appointment for Friday at 2 PM. You'll receive a calendar invite shortly. Is there anything else I can help with?"
***
## Best Practices
Combine with [Check Calendar Slots](/tool-calling/fetch-calendar-slots) - first fetch availability, then book
Ensure Bolna timezone matches Cal.com event timezone
Have your agent confirm the slot with the caller before booking
Ensure agent collects name and email before triggering the booking
**Pro workflow:** First use **Check Calendar Slots** to show availability, then use **Book Calendar Slots** after the caller confirms their preferred time.
**Test before deploying!** Verify appointments are being created correctly in your Cal.com calendar.
***
## Next Steps
Query available slots before booking
Build your own API integrations
Route calls to human agents
Complete guide to configuring functions
# Custom Function Calls: Complete Guide for Bolna Voice AI
Source: https://www.bolna.ai/docs/tool-calling/custom-function-calls
Build custom function tools with Bolna Voice agents using OpenAI standards. Complete guide with schema examples, code snippets & implementation best practices.
## What are Custom Functions?
Custom functions let your Voice AI agent call your own APIs during live conversations. Check order status, update a CRM, book appointments, or integrate with any system - all while on a call.
Bolna custom functions follow the [OpenAI function calling specification](https://platform.openai.com/docs/guides/function-calling). If you've used OpenAI function calling before, you'll feel right at home.
***
## How Custom Functions Work
The LLM sees your function's `name` and `description` to understand what the function does
Based on conversation context, the LLM decides if this function should be triggered
The LLM collects required parameter values from the conversation with the caller
Bolna makes the HTTP request to your API endpoint with the extracted parameters
The API response is returned to the LLM, which continues the conversation naturally
**The description is everything.** The LLM relies heavily on your description to know when to call the function. A vague description = unreliable triggering.
***
## Complete Schema Structure
Every custom function has two parts: **Function Definition** (tells LLM what it does) and **API Configuration** (tells Bolna how to call your API).
```json theme={"system"}
{
"name": "function_name",
"description": "Detailed description of when to call this function",
"pre_call_message": "What agent says while the API is being called",
"parameters": {
"type": "object",
"properties": {
"param_name": {
"type": "string",
"description": "What this parameter represents"
}
},
"required": ["param_name"]
},
"key": "custom_task",
"value": {
"method": "GET",
"param": {
"param_name": "%(param_name)s"
},
"url": "https://your-api.com/endpoint",
"api_token": "Bearer your_token",
"headers": {}
}
}
```
**Mandatory:** The field `"key": "custom_task"` must be present exactly as shown. Do not modify this value.
***
## Schema Reference
Parts 1-2 follow the [OpenAI function calling specification](https://platform.openai.com/docs/guides/function-calling) - they define **what** the function does. Parts 3-5 are Bolna extensions that define **how** to execute the API call automatically.
### 1. Function Definition
These fields tell the LLM about your function:
| Field | Required | Description |
| ------------- | -------- | ----------------------------------------------------------------------- |
| `name` | Yes | Unique function identifier. Use `snake_case` (e.g., `get_order_status`) |
| `description` | Yes | Tells the LLM when to trigger this function. Be specific and detailed. |
| `parameters` | Yes | Defines what information to collect from the caller |
***
### 2. Parameters Object
The `parameters` object defines what information the LLM should collect from the caller.
```json theme={"system"}
"parameters": {
"type": "object",
"properties": {
"customer_name": {
"type": "string",
"description": "The customer's full name"
},
"order_id": {
"type": "string",
"description": "The order ID, usually starts with ORD-"
},
"quantity": {
"type": "integer",
"description": "Number of items"
}
},
"required": ["customer_name", "order_id"]
}
```
**Supported Data Types:**
| Type | Use Case | Example Values |
| --------- | ------------------------------- | --------------------------- |
| `string` | Text, names, IDs, phone numbers | `"John Doe"`, `"ORD-12345"` |
| `integer` | Whole numbers | `5`, `100`, `-10` |
| `number` | Decimal numbers | `29.99`, `3.14` |
| `boolean` | True/false flags | `true`, `false` |
**Required vs Optional:**
| In `required` array? | Behavior |
| -------------------- | --------------------------------------------------- |
| Yes | LLM will keep asking until this value is provided |
| No | Optional - included if mentioned, skipped otherwise |
***
### 3. Bolna Extensions
These fields are specific to Bolna:
| Field | Required | Description |
| ------------------ | -------- | -------------------------------------------------------------------------------- |
| `pre_call_message` | No | Message the agent speaks while API is executing (e.g., *"One moment please..."*) |
| `key` | Yes | Must be `"custom_task"` - identifies this as a custom function |
| `value` | Yes | API configuration object (see below) |
***
### 4. API Configuration (`value` object)
This tells Bolna how to make the HTTP request:
| Field | Required | Description |
| ----------- | -------- | ------------------------------------------------------ |
| `method` | Yes | HTTP method: `GET`, `POST`, `PUT`, `PATCH`, `DELETE` |
| `url` | Yes | Your API endpoint URL |
| `param` | Yes | Maps parameters to API request using format specifiers |
| `api_token` | No | Authorization header value (e.g., `Bearer your_token`) |
| `headers` | No | Additional HTTP headers as key-value pairs |
***
### 5. Format Specifiers
The `param` object maps your parameters to the API request. Use Python-style format specifiers:
| Data Type | Format Specifier | Example |
| --------- | ---------------- | ---------------------------------- |
| String | `%(param_name)s` | `"customer_id": "%(customer_id)s"` |
| Integer | `%(param_name)i` | `"quantity": "%(quantity)i"` |
| Float | `%(param_name)f` | `"price": "%(price)f"` |
**Parameter names must match exactly.** The name in `properties` must be identical to the name in `param` mapping (case-sensitive).
***
## Examples
```curl theme={"system"}
curl --location 'https://my-api-dev.xyz?customer_phone=+19876543210' \
--header 'Authorization: Bearer your_api_token' \
--header 'header1: value1' \
--header 'header2: value2'
```
The above request corresponds to the following `GET` custom function:
```json theme={"system"}
{
"name": "get_product_details",
"description": "Use this tool to fetch product details when the customer asks about products, pricing, or availability.",
"pre_call_message": "Let me look that up for you.",
"parameters": {
"type": "object",
"properties": {
"customer_phone": {
"type": "string",
"description": "Customer's phone number for verification"
}
},
"required": ["customer_phone"]
},
"key": "custom_task",
"value": {
"method": "GET",
"param": {
"customer_phone": "%(customer_phone)s"
},
"url": "https://my-api-dev.xyz",
"api_token": "Bearer your_api_token",
"headers": {
"header1": "value1",
"header2": "value2"
}
}
}
```
```curl theme={"system"}
curl --location 'https://my-api-dev.xyz/v1/store_rating' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer your_api_token' \
--header 'version: 1.0' \
--data '{
"customer_id": "134532",
"rating": "5",
"comment": "Great service!"
}'
```
The above request corresponds to the following `POST` custom function:
```json theme={"system"}
{
"name": "save_feedback",
"description": "Use this tool to save customer feedback when they provide a rating, review, or comment about our service.",
"pre_call_message": "I'm saving your feedback now.",
"parameters": {
"type": "object",
"properties": {
"customer_id": {
"type": "string",
"description": "The customer's unique ID"
},
"rating": {
"type": "string",
"description": "Rating from 1 to 5"
},
"comment": {
"type": "string",
"description": "Customer's comment or feedback"
}
},
"required": ["customer_id", "rating"]
},
"key": "custom_task",
"value": {
"method": "POST",
"param": {
"customer_id": "%(customer_id)s",
"rating": "%(rating)s",
"comment": "%(comment)s"
},
"url": "https://my-api-dev.xyz/v1/store_rating",
"api_token": "Bearer your_api_token",
"headers": {
"Content-Type": "application/json",
"version": "1.0"
}
}
}
```
***
## Using Variables and Dynamic Context
[Context variables](/using-context) defined in your agent prompt are automatically substituted into custom functions. The LLM won't ask the caller for these values - they're already available.
### Auto-Injected System Variables
| Variable | Description |
| --------------- | -------------------------------------------------------- |
| `{agent_id}` | The `id` of the agent |
| `{call_sid}` | Unique `id` of the phone call (from Twilio, Plivo, etc.) |
| `{from_number}` | Phone number that **initiated** the call |
| `{to_number}` | Phone number that **received** the call |
### How Variable Substitution Works
```text agent_prompt theme={"system"}
You are agent Sam speaking to {customer_name}.
The agent ID is "{agent_id}".
The call ID is "{call_sid}".
The customer's phone is "{to_number}".
```
```json custom_function theme={"system"}
{
"name": "log_interaction",
"description": "Log customer interaction to CRM",
"parameters": {
"type": "object",
"properties": {
"to_number": {
"type": "string",
"description": "Customer's phone number"
},
"agent_id": {
"type": "string",
"description": "Agent ID"
},
"customer_name": {
"type": "string",
"description": "Customer's name"
},
"customer_address": {
"type": "string",
"description": "Customer's address"
}
},
"required": ["to_number", "agent_id", "customer_name", "customer_address"]
},
"key": "custom_task",
"value": {
"method": "POST",
"param": {
"to_number": "%(to_number)s",
"agent_id": "%(agent_id)s",
"customer_name": "%(customer_name)s",
"customer_address": "%(customer_address)s"
},
"url": "https://my-api-dev.xyz",
"api_token": "Bearer your_token",
"headers": {}
}
}
```
```json runtime_substitution theme={"system"}
{
"to_number": "+19876543210",
"agent_id": "7d86b904-da64-4b8e-8f51-6fef2c630380",
"customer_name": "Bruce",
"customer_address": "221B Baker Street"
}
```
| Parameter | Defined in Prompt? | Result |
| ------------------ | --------------------- | ---------------------------- |
| `to_number` | Yes (system) | Auto-substituted |
| `agent_id` | Yes (system) | Auto-substituted |
| `customer_name` | Yes (passed via call) | Auto-substituted |
| `customer_address` | No | LLM will collect from caller |
***
## Best Practices
Include synonyms and variations: *"Use when customer asks about order status, shipping, delivery, or tracking"*
Set a friendly message like *"Let me check that for you"* so callers know to wait
Only mark parameters as required if the function truly cannot work without them
Verify your API works with tools like curl or Postman before adding to Bolna
Put known data in the agent prompt to avoid asking callers for information you already have
Parameter names in `properties` and `param` must be identical (case-sensitive)
***
## Troubleshooting
**Cause:** Description doesn't match what the caller is saying.
**Fix:** Make your description more comprehensive. Include synonyms and example phrases.
**Cause:** Incorrect URL, authentication, or headers.
**Fix:** Test your API with curl or Postman first. Verify `api_token` format and required headers.
**Cause:** Typo or format specifier mismatch.
**Fix:** Ensure parameter names match exactly between `properties` and `param`. Use `%(name)s` format.
**Cause:** Variable not defined in agent prompt.
**Fix:** Add the variable to your agent prompt using `{variable_name}` syntax.
***
## Next Steps
Learn about dynamic variable injection
Route calls to human agents
Book appointments via Cal.com
Programmatic function configuration
# Check Calendar Slots with Bolna and Cal.com
Source: https://www.bolna.ai/docs/tool-calling/fetch-calendar-slots
Integrate Bolna Voice Agents with Cal.com to fetch real-time available calendar slots during live conversations to check appointment availability automatically.
## What is Check Calendar Slots?
The **Check Calendar Slots** function lets your Voice AI agent query available appointment slots from Cal.com in real-time. When callers ask about availability, your agent instantly fetches open slots and presents options.
***
## Configuration Options
| Setting | Description |
| ------------------------ | ------------------------------------------------------------------------------------------ |
| **Description (Prompt)** | When to check availability - e.g., *"Fetch available slots before booking an appointment"* |
| **Pre-tool Message** | What agent says while fetching - e.g., *"Just a moment, let me check our availability"* |
| **API Key** | Your [Cal.com API key](https://app.cal.com/settings/developer/api-keys) |
| **Select Events** | Choose event types from your Cal.com account (15 min, 30 min, etc.) |
| **Choose Timezone** | Timezone for accurate slot times |
**Select Events** and **Choose Timezone** dropdowns appear only after entering a valid Cal.com API key.
***
## How to Set Up
Navigate to [Tools Tab](/agent-setup/tools-tab) in your agent configuration.
Click **"Select functions"** → choose **"Check slot availability (using Cal.com)"**.
Paste your Cal.com API key. Event types will load automatically once validated.
Choose which event to check - *15 min meeting*, *30 min meeting*, or your custom events.
Match your Cal.com event timezone for accurate time communication.
Add a clear trigger description - e.g., *"Check available slots when caller wants to schedule a meeting."*
***
## Example Conversation
**Caller**: "Hi, I'd like to schedule a meeting with your team."
**Agent**: "Of course! Let me check our available slots for you."
*Agent triggers check\_availability\_of\_slots function*
**Agent**: "I have openings tomorrow at 10 AM, 2 PM, and 4 PM. We also have slots on Friday at 11 AM and 3 PM. Which works best for you?"
***
## Best Practices
Use *"Fetch available slots when caller wants to schedule or asks about times"* instead of just "Check availability"
Ensure Bolna timezone matches Cal.com event timezone to avoid confusion
Set a friendly message like *"Just a moment..."* so callers know to wait
Verify slots are being fetched correctly with test calls
**Timezone matters!** Mismatched timezones cause the agent to communicate incorrect times to callers.
***
## Next Steps
After checking availability, book the appointment
Build your own API integrations
Route calls to human agents
Complete guide to configuring functions
# Function Calling in Bolna Voice AI
Source: https://www.bolna.ai/docs/tool-calling/introduction
Use function tools with Bolna Voice agents to automate workflows. Integrate call transfers, calendar booking, and custom API integrations with Bolna Voice AI.
## What is Function Calling?
Function calling enables your Voice AI agents to **execute real-time actions** during live conversations. Instead of just responding with text, your agent can transfer calls, book appointments, fetch data from APIs, or trigger any custom workflow.
Function calling follows [OpenAI specifications](https://platform.openai.com/docs/guides/function-calling), so you can use existing function schemas with Bolna.
***
## Built-in Function Tools
Bolna provides ready-to-use tools for common use cases. Select them from the **"Choose functions"** dropdown - no coding required.
Query available appointment slots from Cal.com in real-time
Schedule meetings via Cal.com directly during the call
Route calls to human agents based on conversation context
Build your own integrations to call any API endpoint
***
## How It Works
The LLM sees your function's `name` and `description` to understand what the function does
Based on conversation context, the LLM decides if this function should be triggered
The LLM collects required parameter values from the conversation with the caller
Bolna makes the HTTP request to your API endpoint with the extracted parameters
The API response is returned to the LLM, which continues the conversation naturally
**The description is everything.** The LLM relies heavily on your description to know when to call the function. A vague description = unreliable triggering.
***
## Context Variables
The following variables are available in the conversation context and can be passed to function parameters:
| Variable | Description |
| ---------------- | -------------------------------------------------------- |
| `{agent_id}` | The `id` of the agent |
| `{call_sid}` | Unique `id` of the phone call (from Twilio, Plivo, etc.) |
| `{from_number}` | Phone number that **initiated** the call |
| `{to_number}` | Phone number that **received** the call |
| Custom variables | Any variable you define in the agent prompt |
Variables defined in your agent prompt are automatically substituted in function parameters. Learn more in [Using Context Variables](/using-context).
***
## Next Steps
Complete guide to building your own API integrations
Set up call routing to human agents
Integrate Cal.com for appointment scheduling
Complete guide to the Tools Tab configuration
# Transfer Live Calls to Human Agents with Bolna Voice AI
Source: https://www.bolna.ai/docs/tool-calling/transfer-calls
Learn how to transfer live phone calls to human agents or custom endpoints using Bolna Voice AI. Enable seamless handoffs based on conversation context.
## What is Call Transfer?
Call transfer enables your Voice AI agent to route live calls to human agents or specific phone numbers based on conversation context. Essential for escalations, specialized support, or when human intervention is needed.
***
## Configuration Options
| Setting | Description |
| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| **Description (Prompt)** | Tell the LLM when to trigger the transfer. Be specific - e.g., *"Transfer when caller requests to speak with a human agent or sales team."* |
| **Transfer to phone number** | Destination number in international format (e.g., `+19876543210`) |
| **Pre-tool message** | What the agent says while transferring - e.g., *"Sure, I'll transfer the call for you. Please wait a moment."* Supports multiple languages. |
Add multiple languages for pre-tool messages using **+ Add** to support multilingual callers.
***
## How to Set Up Call Transfer
Navigate to the [Tools Tab](/agent-setup/tools-tab) in your agent configuration.
Click **"Select functions"** → choose **"Transfer Call"** from the dropdown.
Enter the destination phone number where calls should be transferred.
Describe when the transfer should trigger - e.g., *"Transfer when caller asks for sales, pricing, or demos."*
Set the message your agent speaks while initiating the transfer.
Click **Save transfer call** to apply your settings.
**Multiple departments?** Add separate transfer functions for Sales, Support, Billing - each with its own phone number and trigger description.
***
## Custom Server URL (Advanced)
For dynamic routing, enable **"Receive transfer call on your own server URL"** to handle transfers with custom logic.
| Setting | Description |
| -------------- | ---------------------------------------------------- |
| **Custom URL** | Your server endpoint that accepts POST requests |
| **Parameters** | JSON schema defining variables your endpoint expects |
### Example Parameters Schema
```json theme={"system"}
{
"type": "object",
"properties": {
"department": {
"type": "string",
"description": "Department to transfer to"
},
"caller_id": {
"type": "string",
"description": "Caller's phone number"
}
},
"required": ["department"]
}
```
Your endpoint receives a POST request with the configured parameters. Return a JSON response with `phone_number` to complete the transfer dynamically.
***
## Example Conversation
**Caller**: "I'd like to speak with someone from your sales team."
**Agent**: "Sure, I'll transfer you to our sales team. Please wait a moment..."
*Agent triggers transfer\_call function → Call is routed to configured sales number*
***
## Best Practices
Use detailed descriptions like *"Transfer to sales when caller asks about pricing, demos, or purchasing"* instead of generic "Transfer call"
Verify destination numbers are correct and always reachable before deploying
Always set a friendly message so callers know they're being transferred
Have a fallback plan if the destination is busy or unavailable
**Test before deploying!** Failed transfers frustrate callers. Always verify phone numbers are correct and reachable.
***
## Next Steps
Build custom API integrations for your agent
Query availability via Cal.com integration
Schedule meetings during live calls
Complete function configuration guide
# Truecaller Verification for Phone Numbers
Source: https://www.bolna.ai/docs/truecaller-verification
Verify phone numbers with Truecaller to display your business name with logo when making calls to improve answer rates and build trust with Bolna Voice agents.
## What is Truecaller Verification?
Truecaller verification allows your **business name and logo** to be displayed on recipients' phones when your Voice AI agents make outbound calls. This powerful feature significantly increases call answer rates and builds instant trust with your customers by showing them exactly who is calling before they pick up.
Truecaller verification is available for phone numbers purchased through Bolna. The service costs **\$20 per month** per verified number.
## Why Use Truecaller Verification?
Recipients are significantly more likely to answer calls when they see your verified business name
Display your company logo alongside your business name on every call
Verified caller ID establishes credibility and professionalism with customers
Identified calls are far less likely to be marked as spam or blocked
## Verification Status States
Your phone number can be in one of the following Truecaller verification states:
| Status | Icon | Description |
| --------------------- | ----------------- | ----------------------------------------------------------- |
| **Unverified** | REQUEST | Number has not been submitted for Truecaller verification |
| **Pending** | PENDING | Verification request is being processed by our team |
| **Active** | ACTIVE | Number is verified and displaying your business information |
| **Delisting Pending** | DELISTING PENDING | Delisting request is being processed |
| **Delisted** | REQUEST | Number has been removed from Truecaller verification |
**Important**: When a number is in the **Delisting Pending** state, calls cannot be made from that number. Remove the number from any active agents and avoid using it until the delisting process is complete.
## How to Request Truecaller Verification
Follow these steps to get your phone number verified with Truecaller:
1. Navigate to the [Phone Numbers](https://platform.bolna.ai/phone-numbers) page in your Bolna dashboard.
Find the phone number you want to verify and click REQUEST in the **Verify on Truecaller** column.
2. A verification request form will appear. Enter your **Company Name** — this is the business name that will be displayed to call recipients when your Voice AI agents make calls.
3. Select the **Category** that best describes your business from the dropdown menu. Categories include Education, Finance & Insurance, Health & Wellness, and many more.
4. Choose a **Sub-category** that more specifically describes your business type. This helps Truecaller accurately classify your business for recipients.
5. Select the **Reason for Calling** from the options provided. This tells recipients the purpose of your calls, such as Customer Support, Delivery Confirmation, Front Desk, Recruitment, and more.
6. Upload your **Brand Icon** (company logo) that will be displayed alongside your business name.
**Brand Icon Requirements:**
* **File format**: PNG only
* **Dimensions**: Exactly **200 × 200 pixels**
* Use a clear, recognizable version of your logo. Avoid text-heavy images as they may not be legible at small sizes on mobile devices.
7. Click **Submit request** to send your verification application. Your number's status will change to **Pending**.
## After Submitting Your Request
Once you submit your Truecaller verification request:
Our team reviews your application to ensure it meets Truecaller's guidelines
Verification typically takes **a couple of business days**
You'll receive an email notification once your verification is activated
The status icon will change to when active
You can continue making calls while your verification is pending. The Truecaller display will only appear once the verification is active.
## Viewing Verification Details
For numbers with **Pending**, **Active**, or **Delisting Pending** status, click the status icon to view your verification details including:
* Company name
* Category and sub-category
* Reason for calling
## How to Delist a Number
If you no longer want Truecaller verification for a phone number, you can request delisting:
Navigate to [Phone Numbers](https://platform.bolna.ai/phone-numbers) and click the ACTIVE on the verified number.
In the verification details dialog, click the **Delist verification** button.
Your number's status will change to **Delisting Pending** while the delisting is being processed internally by the team. Note that once opted for delisting pending outbound and inbound calls on this number will be blocked.
**Critical Warning**: During the delisting process, your phone number **cannot be used for calls**. This includes both outbound calls and batch campaigns. Make sure to:
* Remove the number from any active Voice AI agents
* Pause any scheduled batch campaigns using this number
* Wait for the delisting to complete before reassigning the number
## Pricing
Truecaller verification is billed at **\$20 per month** per verified phone number. The charge is:
* Automatically deducted from your Bolna wallet balance
* Billed monthly from the date of verification activation
* Stopped when you delist the number (after the current billing period)
## Frequently Asked Questions
Verification typically takes **1-3 business days**. You'll receive an email notification once your verification is active.
To update your company name, logo, or other details, you'll need to delist the current verification and submit a new request with the updated information.
Common reasons for rejection include:
* **Brand icon not meeting requirements** — must be exactly 200×200 pixels PNG
* **Company name mismatch** — name not matching your registered business
* **Incorrect category** — category selection not appropriate for your business type
If rejected, you can submit a new request with corrected information.
Yes, you can request Truecaller verification for any phone number purchased through Bolna. Each number is verified and billed separately at \$20/month.
If your wallet balance is insufficient for the monthly renewal, your verification may be suspended. Ensure you maintain adequate balance to keep your verifications active.
Delisting typically takes **1-3 business days**. During this time, the number cannot be used for calls.
# Using Bolna AI with No-code Tools
Source: https://www.bolna.ai/docs/tutorials/introduction
Build your custom workflows and applications using Bolna Voice AI integrations with popular automations tools like Make.com, Zapier and viaSocket
## What are Bolna no-code integrations?
Bolna Voice AI seamlessly integrates with popular automation platforms like Make.com, Zapier, n8n, and viaSocket. These integrations allow you to build powerful workflows that trigger actions before, during, or after voice calls—without writing any code.
## Why use no-code tools with Bolna?
No-code automation platforms enable you to:
* **Automate post-call workflows**: Send emails, SMS, or WhatsApp messages after calls
* **Sync with CRMs**: Automatically update Salesforce, HubSpot, or other systems with call data
* **Schedule follow-ups**: Create calendar events or reminders based on call outcomes
* **Trigger notifications**: Alert your team through Slack, Discord, or other channels
* **Build complex workflows**: Chain multiple actions together based on call results
## How to integrate Bolna with Make.com
1. Create API connection with Bolna AI + Make.com: [Read tutorial](/tutorials/make-com/create-bolna-api-connection).
2. Create Webhook connection with Bolna AI + Make.com: [Read tutorial](/tutorials/make-com/create-bolna-webhook-connection).
3. Email workflows using Bolna AI with Make.com: [Read tutorial](/tutorials/make-com/send-email-after-bolna-call).
4. SMS workflows using Bolna AI with Make.com: [Read tutorial](/tutorials/make-com/send-sms-after-bolna-call).
5. WhatsApp workflows using Bolna AI with Make.com: [Read tutorial](/tutorials/make-com/send-whatsapp-after-bolna-call).
## How to integrate Bolna with n8n.io
1. Create API connection with Bolna AI + n8n: [Read tutorial](/tutorials/n8n/send-email-after-bolna-call).
## How to integrate Bolna with Zapier
1. Create API connection with Bolna AI + Zapier: [Read tutorial](/tutorials/zapier/create-bolna-api-connection).
## How to integrate Bolna with viaSocket
1. Create API connection with Bolna AI + viaSocket: [Read tutorial](/tutorials/viasocket/create-bolna-api-connection).
## Next steps
Ready to build powerful voice AI workflows? Start with these resources:
* Learn about the [Bolna API](/api-reference/introduction) for authentication and endpoints
* Set up [webhooks in the Tasks Tab](/agent-setup/analytics-tab) for post-call actions
* Review [data extraction](/call-details) to capture structured call information
* Explore [custom function calls](/tool-calling/custom-function-calls) for in-call integrations
For support with automation platforms, [contact our team](mailto:support@bolna.ai) or join our community.
# Create Bolna API connection with Make.com
Source: https://www.bolna.ai/docs/tutorials/make-com/create-bolna-api-connection
Learn how to establish an API connection between Bolna Voice AI agents and Make.com, facilitating seamless integration and automation.
## Following are the steps to create a API connection
In this tutorial, we will:
1. Use Bolna's Make.com Module `Make an Outgoing Phone Call` module
2. Create a new API connection
Please refer to [this documentation](/api-reference/introduction#authentication) for creating a new API Key.
After completing the above steps, you can use Action modules to make Bolna APIs call on Make.com.
Please refer to Bolna APIs from [API reference docs](/api-reference/introduction).
# Create Bolna Webhook connection with Make.com
Source: https://www.bolna.ai/docs/tutorials/make-com/create-bolna-webhook-connection
Step-by-step tutorial on integrating Bolna Voice AI agents with Make.com using webhook connections for seamless workflow automations.
## Following are the steps to create a Webhook connection
In this tutorial, we will:
1. Use Bolna's Make.com Trigger `Watch end of Phone call` module
2. Create a new Webhook connection
3. Generate a Webhook URL on Make.com
4. Use the Webhook URL created by Make.com in Bolna's voice AI agent
After completing the above steps, your Bolna Voice AI agent is successfully configured to automatically send phone call information to Make.com.
# Using Bolna AI with Make.com
Source: https://www.bolna.ai/docs/tutorials/make-com/overview
Learn how to connect Bolna AI with Make.com to build custom automation workflows. Trigger voice calls, sync data, and automate tasks easily.
## Bolna AI modules using APIs on Make.com
These are modules that require [Bolna's API connection with Make.com](/tutorials/make-com/create-bolna-api-connection).
Use this to make Outgoing Phone Calls to phone numbers
Use this to performs any authorized API call
## Bolna AI Trigger modules using webhooks on Make.com
These get triggered when Make.com receives events from Bolna servers and requires [Bolna's webhook connection with Make.com](/tutorials/make-com/create-bolna-webhook-connection).
Use this to get entire payload of call data post every every
***
## Bolna + Make.com Tutorials
# Integrating make.com with Bolna AI to send emails
Source: https://www.bolna.ai/docs/tutorials/make-com/send-email-after-bolna-call
Discover how to automate email notifications after a Bolna Voice AI phone call using Make.com for your automations and workflows.
Connect Bolna with any of your favorite apps in just a few clicks using [official bolna's make.com integrations](https://www.make.com/en/integrations/bolna).
## Overview and requirements
1. Bolna account. You may create a free Bolna account by [signing up on Bolna](https://platform.bolna.ai/sign-up)
2. A Bolna Voice AI agent which will be making the calls
3. Official Bolna's Make.com `Bolna Watch end of Phone call` trigger integration
## Steps to send emails after a Bolna AI phone call is completed
Follow the [webhook connection guide](/tutorials/make-com/create-bolna-webhook-connection) to create a webhook connection and generate a webhook URL.
Please note:
1. If you want to use any extraction details, it will be provided as a JSON under `"extracted_data"` as shown below. Please refer to [extracting conversation data](/call-details) for more details and using it.
```json using extracted content theme={"system"}
...
...
"extracted_data": {
"address": "Market street, San francisco",
"salary_expected": "100k USD"
},
...
```
2. Any dynamic variables you pass for making the call, can be retrieved from `"context_details" > "recipient_data"` as shown below:
```json using user details theme={"system"}
...
"context_details": {
"recipient_data": {
"name": "Harry",
"email": "harry@hogwarts.com"
},
"recipient_phone_number": "+19876543210"
},
...
```
# Integrating make.com with Bolna AI to send SMS
Source: https://www.bolna.ai/docs/tutorials/make-com/send-sms-after-bolna-call
Discover how to automate SMS notifications after a Bolna Voice AI phone call by integrating with Make.com, improving follow-up communication.
Connect Bolna with any of your favorite apps in just a few clicks using [official bolna's make.com integrations](https://www.make.com/en/integrations/bolna).
## Overview and requirements
1. Bolna account. You may create a free Bolna account by [signing up on Bolna](https://platform.bolna.ai/sign-up)
2. A Bolna Voice AI agent which will be making the calls
3. Official Bolna's Make.com `Bolna Watch end of Phone call` trigger integration
## Steps to send SMS after a Bolna AI phone call is completed
Follow the [webhook connection guide](/tutorials/make-com/create-bolna-webhook-connection) to create a webhook connection and generate a webhook URL.
Please note:
1. If you want to use call summary, it will be provided under `"summary"` as shown below.
```json using call summary theme={"system"}
...
...
"summary": "The conversation was between a user named Harry and an agent named Charles from Alexa. Charles initiated the call to assist Harry with inquiries about Apple Service Center. Harry asked for the location of the closest service center, and Charles informed about Apple Union Square, 300 Post Street San Francisco. After receiving the information, Harry indicated he had no further questions, and Charles offered to help in the future before concluding the call.",
...
```
2. Any dynamic variables you pass for making the call, can be retrieved from `"context_details" > "recipient_data"` as shown below:
```json using user details theme={"system"}
...
"context_details": {
"recipient_data": {
"name": "Harry",
"email": "harry@hogwarts.com"
},
"recipient_phone_number": "+19876543210"
},
...
```
# Integrating make.com with Bolna AI to send WhatsApp
Source: https://www.bolna.ai/docs/tutorials/make-com/send-whatsapp-after-bolna-call
Learn how to send automated WhatsApp messages following a Bolna Voice AI phone call by integrating with Make.com.
Connect Bolna with any of your favorite apps in just a few clicks using [official bolna's make.com integrations](https://www.make.com/en/integrations/bolna).
## Overview and requirements
1. Bolna account. You may create a free Bolna account by [signing up on Bolna](https://platform.bolna.ai/sign-up)
2. A Bolna AI agent which will be making the calls
3. Official Bolna's Make.com `Bolna Watch end of Phone call` trigger integration
## Steps to send WhatsApp after a Bolna AI phone call is completed
Follow the [webhook connection guide](/tutorials/make-com/create-bolna-webhook-connection) to create a webhook connection and generate a webhook URL.
Please note:
1. If you want to use any extraction details, it will be provided as a JSON under `"extracted_data"` as shown below. Please refer to [extracting conversation data](/call-details) for more details and using it.
```json using extracted content theme={"system"}
...
...
"extracted_data": {
"salary_expected": "120K USD"
},
...
```
2. Any dynamic variables you pass for making the call, can be retrieved from `"context_details" > "recipient_data"` as shown below:
```json using user details theme={"system"}
...
"context_details": {
"recipient_data": {
"name": "Harry",
"email": "harry@hogwarts.com"
},
"recipient_phone_number": "+19876543210"
},
...
```
# Using Bolna AI with n8n
Source: https://www.bolna.ai/docs/tutorials/n8n/overview
Learn how to integrate Bolna Voice AI with n8n to create custom workflows, enabling seamless automation between Bolna and other applications.
Integrating Bolna Voice AI with [n8n](https://n8n.io/) allows you to trigger powerful, custom workflows from your voice agent's activities. With this integration, a completed Bolna call can initiate actions in hundreds of apps connected through n8n, making your processes more efficient and reducing manual work. It helps streamline post-call workflows and improve productivity by automating repetitive tasks like sending emails or updating a CRM.
## Bolna AI Triggers on n8n
The primary way to integrate Bolna with n8n is by using a webhook. Bolna sends data to an n8n webhook URL when an event occurs, which then triggers your workflow.
To create Outbound calls
Get all agents executions and their details
***
You can get help from the n8n community at [https://community.n8n.io/](https://community.n8n.io/).
# Integrating n8n with Bolna AI to send emails
Source: https://www.bolna.ai/docs/tutorials/n8n/send-email-after-bolna-call
Discover how to automate email notifications after a Bolna Voice AI phone call using n8n for your automations and workflows.
Connect Bolna with any of your favorite apps in just a few clicks using n8n's powerful and flexible workflow automation.
## Overview and requirements
1. A **Bolna account**. You may create a free Bolna account by [signing up on Bolna](https://platform.bolna.ai/sign-up).
2. A **Bolna Voice AI agent** which will be making the calls.
3. An **n8n instance** (cloud or self-hosted) with its **`Webhook`** trigger node.
## Steps to send emails after a Bolna AI phone call is completed
In your n8n canvas, add a **`Webhook`** node to start your workflow. Copy the **Test URL** provided by the node and paste it into the `webhook_url` field in your Bolna agent's configuration. Finally, click **"Listen for Test Event"** in n8n and make a test call with your Bolna agent to send sample data to your workflow.
Add a **`Gmail`** node (or any other email node like `Send Email (SMTP)`) after the Webhook trigger. Connect your email account in the credentials section. Then, map the data received from the Bolna webhook into the email fields using n8n's expression editor.
Please note:
1. If you want to use any extraction details, it will be provided as a JSON under `"extracted_data"`. You can access it in n8n using an expression like `{{ $json.body.extracted_data.address }}`.
```json theme={"system"}
...
...
"extracted_data": {
"address": "Market street, San francisco",
"salary_expected": "100k USD"
},
...
```
2. Any dynamic variables you pass for making the call can be retrieved from `"context_details" > "recipient_data"`. You can access the recipient's email with an expression like `{{ $json.body.context_details.recipient_data.email }}`.
```json theme={"system"}
...
"context_details": {
"recipient_data": {
"name": "Harry",
"email": "harry@hogwarts.com"
},
"recipient_phone_number": "+19876543210"
},
...
```
Click **"Execute Workflow"** on your n8n canvas. The workflow will use the data captured from the last test call. You should see a green success indicator on both the Webhook and the Gmail nodes, confirming that the data was processed and the email was sent successfully.
Check the recipient's inbox to confirm the email has been delivered. Verify that all the dynamic data, such as the recipient's name and the extracted call details, have been correctly populated in the email. Once confirmed, save and **activate your workflow**. Remember to replace the Test URL in Bolna with the **Production URL** from your n8n Webhook node for live calls.
# Receive Inbound Calls via SIP Trunk on Bolna
Source: https://www.bolna.ai/docs/tutorials/sip-trunking/inbound-calls
Route incoming phone calls from your SIP trunk to Bolna AI agents. Map DID phone numbers to specific agents so inbound calls are automatically answered by your Voice AI.
## How Inbound Calls Work
When someone calls your DID phone number, here is the complete flow:
A caller on the PSTN (regular phone network) dials your DID phone number, for example `+919876543210`.
Your SIP trunk provider (Plivo or Twilio) receives the call and forwards a SIP INVITE message to Bolna's SIP server at `sip:13.200.45.61:5060`, based on the origination settings you configured in the previous steps.
Bolna receives the INVITE and looks at the called number in the SIP headers. It matches this number against your registered phone numbers to find the associated trunk and agent.
The call is routed to the AI agent that you have **mapped** to that phone number. The agent answers and begins the conversation, speaking and listening in real-time.
***
## Prerequisites
Before setting up inbound calls, make sure you have completed all these previous steps:
1. Created a SIP trunk on your provider ([Plivo guide](/tutorials/sip-trunking/plivo-trunk-setup) or [Twilio guide](/tutorials/sip-trunking/twilio-trunk-setup))
2. Configured origination settings so your provider knows to route inbound calls to `sip:13.200.45.61:5060`
3. [Registered the trunk on Bolna](/tutorials/sip-trunking/register-trunk-on-bolna) with `inbound_enabled` set to `true`
4. [Added your phone numbers](/tutorials/sip-trunking/register-trunk-on-bolna#step-2-add-phone-numbers) to the trunk on Bolna
5. Created a Bolna AI agent via the [Dashboard](https://platform.bolna.ai/) or the [Agent API](/api-reference/agent/v2/create)
***
## Map a Phone Number to an AI Agent
This is the key step where you tell Bolna which AI agent should answer calls on a specific phone number. Use the [Set Inbound Agent API](/api-reference/inbound/agent):
```bash request theme={"system"}
curl -X POST https://api.bolna.ai/inbound/setup \
-H "Authorization: Bearer " \
-H "Content-Type: application/json" \
-d '{
"agent_id": "agt-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"phone_number_id": "01HQNUMBER111222333"
}'
```
```json response theme={"system"}
{
"message": "SIP trunk number successfully mapped to agent"
}
```
### Where to find these values
| Field | Type | Where to Find It |
| ----------------- | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `agent_id` | string | The UUID of your Bolna agent. Found in the [Bolna Dashboard](https://platform.bolna.ai/) by clicking on your agent, or returned by the [Create Agent API](/api-reference/agent/v2/create). |
| `phone_number_id` | string | The ID of the phone number on Bolna. This must be a number you purchased on your SIP provider and then [added to your trunk on Bolna](/tutorials/sip-trunking/register-trunk-on-bolna#step-2-add-phone-numbers). Use the `id` from the Add Number response, not the phone number itself. |
**One number can only be mapped to one agent at a time.** If you map a number to a new agent, it is automatically unmapped from the previous agent. When a number is mapped to an agent via SIP trunk, Bolna automatically sets the audio format to **ulaw** (G.711) to match the trunk's requirements.
***
## Test Your Inbound Setup
After mapping your number, test the complete flow:
From any phone (a mobile phone will do), call the DID number you mapped to the agent. For example, dial `+919876543210`.
You should hear your AI agent's greeting message. Try having a brief conversation to confirm the agent is responding correctly.
After the call, verify it appeared in:
* Your [Bolna Dashboard](https://platform.bolna.ai/) call history
* Your SIP provider's call logs ([Plivo logs](https://console.plivo.com/zentrunk/logs/calls/) or [Twilio logs](https://www.twilio.com/console/sip-trunking/logs))
***
## Unlink a Number from an Agent
To stop an agent from answering calls on a specific number (without removing the number from the trunk entirely), use the unlink endpoint:
```bash theme={"system"}
curl -X POST https://api.bolna.ai/inbound/unlink \
-H "Authorization: Bearer " \
-H "Content-Type: application/json" \
-d '{
"agent_id": "agt-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"phone_number_id": "01HQNUMBER111222333"
}'
```
After unlinking, inbound calls to that number will no longer be answered by any agent. The number remains on the trunk and can be re-mapped to a different agent (or the same agent) at any time.
***
## Troubleshooting Inbound Calls
If calls ring on the caller's end but never reach Bolna:
* **Check your provider's origination settings.** Confirm the origination URI is set to `sip:13.200.45.61:5060` on your provider.
* **Check the phone number assignment** on your provider's side:
* **Plivo:** Ensure the Application Type is set to `Zentrunk` and the correct inbound trunk is selected for the number.
* **Twilio:** Ensure the number is associated with the correct trunk in the Numbers tab.
* **Review your provider's call logs** for error codes or rejection reasons (e.g., `404 Not Found` or `403 Forbidden`).
If the call connects (no ringing tone stops) but neither party can hear anything:
* **SRTP is likely enabled.** This is the most common cause. Ensure Secure Trunking / SRTP is **disabled** on your SIP provider.
* **Check codec settings.** Verify that `ulaw` is in the `allow` list on your Bolna trunk configuration.
* **Check Symmetric RTP.** Ensure `rtp_symmetric` is set to `true` on your Bolna trunk.
If the call fails immediately with an error:
* **Phone number not registered.** Confirm the number has been [added to the trunk on Bolna](/tutorials/sip-trunking/register-trunk-on-bolna#step-2-add-phone-numbers) using the Add Number API.
* **Number not mapped to an agent.** Confirm you have [mapped the number to an agent](#map-a-phone-number-to-an-ai-agent) using the inbound setup API.
* **Inbound is disabled.** Check your trunk configuration and verify that `inbound_enabled` is set to `true`.
* **Number format mismatch.** The number in the SIP INVITE's `To` header should match what you stored. Bolna performs flexible matching (with/without `+`), but try to keep the format consistent.
If the call connects to Bolna but the agent doesn't speak:
* **Verify the agent is active.** Open the [Bolna Dashboard](https://platform.bolna.ai/), find your agent, and confirm it is in an active state.
* **Check provider connections.** Make sure all required AI providers (transcriber, LLM, and voice synthesizer) are properly configured and connected in the agent's settings.
***
## Next Steps
Place outbound calls from your SIP trunk numbers using AI agents
Full API reference for managing SIP trunks and phone numbers
# SIP Trunking for Voice AI on Bolna
Source: https://www.bolna.ai/docs/tutorials/sip-trunking/introduction
Learn what SIP trunking is, how it works, the benefits it offers, and how Bolna enables you to bring your own SIP trunk for AI-powered voice calls.
## What is a SIP Trunk?
A **SIP trunk** (Session Initiation Protocol trunk) is a virtual phone line that connects your phone system to the public telephone network (PSTN) over the internet. Instead of physical copper wires, voice calls are transmitted as data packets over your existing internet connection.
| Traditional Phone Line | SIP Trunk |
| ------------------------------------ | --------------------------------- |
| Physical copper wires | Virtual connection over internet |
| Fixed capacity (23 channels per PRI) | Scalable on demand |
| Local provider lock-in | Provider-agnostic, works globally |
| High fixed monthly costs | Pay-per-use or wholesale rates |
Just like email replaced physical mail for messages, SIP trunking replaces physical phone lines for calls. The calls sound the same to the person on the other end.
***
## How Does SIP Trunking Work?
Two protocols work together: **SIP** handles the signaling (setting up and tearing down calls), and **RTP** carries the actual voice audio.
### The Call Flow
A **SIP INVITE** is sent to the provider's gateway with the destination number and codec preferences (e.g., G.711 ulaw).
The provider verifies the request via **IP-based auth** or **username/password** (digest auth), then routes the call to the PSTN.
Both sides exchange **SDP** messages to agree on audio codecs, IP addresses, and ports for the voice stream.
Voice audio flows as **RTP packets** between the endpoints, encoded using the agreed codec (typically G.711 ulaw at 64 kbps).
When either party hangs up, a **SIP BYE** message closes the session and stops the audio stream.
### Key Terms
| Term | Meaning |
| --------------- | ------------------------------------------------------------------------ |
| **Origination** | Receiving inbound calls from the PSTN and delivering them to your system |
| **Termination** | Sending outbound calls from your system to the PSTN via the trunk |
| **DID Number** | A phone number assigned to your trunk that external callers can dial |
| **Gateway** | The provider's server address where SIP traffic is sent |
| **Codec** | Audio encoding format (G.711 ulaw is the standard) |
***
## How Bolna Accommodates SIP Trunking
Bolna's **Bring Your Own Telephony (BYOT)** feature lets you connect any standards-compliant SIP trunk. Bolna runs an **Asterisk-based SIP media server** with the **PJSIP** channel driver.
When you register your trunk:
1. **Bolna creates a SIP endpoint** with your gateway address, authentication details, and codec preferences
2. **Inbound calls** arrive at Bolna's server (`sip:13.200.45.61:5060`), get matched to a registered DID, and route to the assigned AI agent
3. **Outbound calls** are sent through your trunk's gateway using your credentials and caller ID
4. **The AI agent** handles the conversation in real-time (speech-to-text, LLM response, text-to-speech)
### Supported Authentication
| Method | How It Works | Best For |
| ---------------------------------- | -------------------------------------------- | ---------------------- |
| **Username/Password** (`userpass`) | SIP digest auth with username and password | Zadarma, Vonage, DIDWW |
| **IP-Based** (`ip-based`) | Bolna identified by source IP `13.200.45.61` | Plivo Zentrunk, Telnyx |
***
## Benefits of Using a SIP Trunk with Bolna
Keep your current SIP provider, contracts, and phone numbers. Connect your trunk to Bolna and your AI agents are ready instantly.
Pay your SIP provider directly for call minutes at your own negotiated rates. Bolna charges separately only for AI processing.
Your DID numbers stay with your current provider. No porting, no downtime. Just point them to Bolna's SIP server.
Switch providers without changing anything on Bolna. Configure multiple trunks from different providers for failover.
Bring US toll-free, Indian DIDs, European local numbers, or any numbers from your provider's inventory.
Your existing compliance setup (DLT registration, STIR/SHAKEN) stays with your provider. Bolna does not interfere.
Scale from 1 concurrent call to thousands without hardware changes. Bolna scales alongside your trunk capacity.
**SRTP (Secure RTP) is not supported.** Media must use standard (unencrypted) RTP. Trunks requiring mandatory SRTP will not work with Bolna.
***
## Get Started
Follow these guides in order to set up SIP trunking with Bolna:
Create inbound and outbound SIP trunks on Plivo Zentrunk
Create an Elastic SIP Trunk on Twilio
Register your trunk and add phone numbers via API
Route incoming calls to Bolna AI agents
Place outbound calls from your trunk numbers
Full API reference for managing trunks and numbers
# Make Outbound Calls via SIP Trunk on Bolna
Source: https://www.bolna.ai/docs/tutorials/sip-trunking/outbound-calls
Place outbound calls from your SIP trunk phone numbers using Bolna AI agents. Configure your agent, set the telephony provider, and start calling through your own trunk.
## How Outbound Calls Work
When you initiate an outbound call through your SIP trunk, here is the complete flow:
You send a request to the [Bolna Call API](/api-reference/calls/make) with your agent ID, the recipient's phone number, and the `from_number` (your SIP trunk phone number to use as the caller ID).
Bolna looks up the `from_number` in its database to find the associated SIP trunk and its gateway configuration (address, credentials, codecs).
Bolna's Asterisk/PJSIP server sends a **SIP INVITE** to your trunk's gateway address (e.g., `bolna-trunk.pstn.twilio.com` or `XXXX.zt.plivo.com`) with the appropriate authentication.
Your SIP trunk provider receives the INVITE, authenticates the request, verifies the caller ID, and then routes the call to the recipient's phone number on the PSTN.
Once the recipient answers the phone, Bolna's Voice AI pipeline takes over. The AI agent speaks, listens, and responds in real-time throughout the entire conversation.
***
## Prerequisites
Before making outbound calls, make sure you have completed all previous steps:
1. Created a SIP trunk on your provider ([Plivo guide](/tutorials/sip-trunking/plivo-trunk-setup) or [Twilio guide](/tutorials/sip-trunking/twilio-trunk-setup))
2. [Registered the trunk on Bolna](/tutorials/sip-trunking/register-trunk-on-bolna) and confirmed `is_active` is `true`
3. [Added your phone numbers](/tutorials/sip-trunking/register-trunk-on-bolna#step-2-add-phone-numbers) to the trunk on Bolna
4. Created a Bolna AI agent via the [Dashboard](https://platform.bolna.ai/) or the [Agent API](/api-reference/agent/v2/create)
***
## Step 1: Configure the Agent's Telephony Provider
Before your agent can place calls through your SIP trunk, you need to tell it to use SIP trunking instead of the default telephony provider. Set `telephony_provider` to `"sip-trunk"` in your agent's configuration:
```bash theme={"system"}
curl -X PATCH https://api.bolna.ai/v2/agent/ \
-H "Authorization: Bearer " \
-H "Content-Type: application/json" \
-d '{
"agent_config": {
"telephony_provider": "sip-trunk"
}
}'
```
Setting `telephony_provider` to `"sip-trunk"` tells Bolna to:
1. Route all outbound calls through your SIP trunk's gateway instead of Twilio's or Plivo's standard API
2. Use **ulaw** audio encoding (G.711 u-law) as required by SIP trunks
3. Authenticate using the credentials stored in your trunk configuration
***
## Step 2: Place an Outbound Call
Use the standard [Call API](/api-reference/calls/make) to place a call. The key difference from a regular Bolna call is the `from_number` field, which must be a phone number registered on your SIP trunk.
```bash request theme={"system"}
curl -X POST https://api.bolna.ai/call \
-H "Authorization: Bearer " \
-H "Content-Type: application/json" \
-d '{
"agent_id": "agt-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"recipient": {
"phone_number": "+918800001234",
"name": "Rahul Sharma"
},
"from_number": "+919876543210"
}'
```
### Field Reference
| Field | Description |
| ------------------------ | -------------------------------------------------------------------------------------------------------------- |
| `agent_id` | UUID of the Bolna agent that will handle the conversation |
| `recipient.phone_number` | The recipient's phone number in E.164 format (`+` followed by country code and number) |
| `recipient.name` | The recipient's name. This is available to the AI agent during the conversation for personalized interactions. |
| `from_number` | Your SIP trunk phone number to use as the caller ID. **This number must be registered on your SIP trunk.** |
The `from_number` **must** be a phone number that you purchased on your SIP provider (Plivo, Twilio, etc.) and then [added to your trunk on Bolna](/tutorials/sip-trunking/register-trunk-on-bolna#step-2-add-phone-numbers). If the number is not found on any trunk, Bolna will not know which gateway to route the call through and the call will fail.
***
## Step 3: Verify Call Status
After placing a call, you can monitor its status using the [Call Status API](/list-phone-call-status):
```bash theme={"system"}
curl -X GET https://api.bolna.ai/call//status \
-H "Authorization: Bearer "
```
You can also set up [webhooks](/polling-call-status-webhooks) to receive real-time status updates as the call progresses through different stages (ringing, answered, completed, etc.).
***
## Batch Outbound Calling
For high-volume outbound campaigns where you need to call many people automatically, Bolna supports batch calling through your SIP trunk. Use the [Batch API](/api-reference/batches/create) to schedule and manage large call campaigns.
Key points for batch calling with SIP trunks:
* Ensure the agent's `telephony_provider` is set to `"sip-trunk"` as described in Step 1
* Each call in the batch should use a `from_number` that is registered on your trunk
* Monitor concurrency limits, which depend on your SIP trunk provider's capacity and plan
For detailed batch calling instructions, see the [Batch Calling guide](/batch-calling).
***
## Troubleshooting Outbound Calls
If the call never rings on the recipient's phone:
* **Check trunk status.** Verify your trunk's `is_active` is `true`:
```bash theme={"system"}
curl -X GET https://api.bolna.ai/sip-trunks/trunks/ \
-H "Authorization: Bearer "
```
* **Verify `from_number`.** Ensure the `from_number` you used in the call request is registered on the trunk.
* **Check gateway credentials.** For `userpass` auth, verify the username and password in your trunk configuration are correct and match what you set up on your provider.
* **Check IP whitelist.** For `ip-based` auth, ensure `13.200.45.61` is whitelisted on your provider's side.
* **Review provider logs.** Check your provider's call logs for SIP error codes (e.g., `401 Unauthorized`, `403 Forbidden`, `404 Not Found`).
This is almost always caused by an **SRTP mismatch**:
* **Disable SRTP / Secure Trunking** on your SIP provider. Bolna does not support SRTP, and if it is enabled, the media negotiation fails silently.
* **Verify codec settings.** Ensure `ulaw` is in the `allow` list on your Bolna trunk.
* **Check `rtp_symmetric`.** This should be `true` (which is the default).
* **Check `force_rport`.** This should be `true` (which is the default).
If you can hear the agent but the caller cannot, or vice versa:
* **Enable Symmetric RTP.** Set `rtp_symmetric` to `true` on your Bolna trunk (this is the default).
* **Enable force\_rport.** Set `force_rport` to `true` (this is the default).
* **Check NAT traversal.** Confirm your provider's RTP IP ranges are reachable from Bolna's IP `13.200.45.61`.
* **Keep direct\_media disabled.** Ensure `direct_media` is `false` (the default). Enabling it bypasses Bolna's media server, which often causes one-way audio.
Some carriers require the `+` prefix on dialed numbers (E.164 format), while others reject it.
* **Twilio** requires the `+` prefix. Keep `outbound_leading_plus_enabled` as `true` (default).
* **Plivo** generally accepts both formats.
* **Other providers:** Check your provider's documentation for their preferred number format.
You can update this setting per-trunk:
```bash theme={"system"}
curl -X PATCH https://api.bolna.ai/sip-trunks/trunks/ \
-H "Authorization: Bearer " \
-H "Content-Type: application/json" \
-d '{ "outbound_leading_plus_enabled": false }'
```
If the provider rejects the call because of an invalid caller ID:
* **Twilio:** The `from_number` must be either a Twilio DID number on your account or a verified Caller ID number.
* **Plivo:** The `from_number` must be a number in your Plivo account.
* Ensure the number format matches what your provider expects. E.164 (with `+`) is recommended for all providers.
***
## Next Steps
Route incoming calls to your Bolna AI agents
Run high-volume outbound AI call campaigns
Track call status and outcomes in real-time
Full API reference for managing trunks and numbers
# Create a SIP Trunk on Plivo for Bolna
Source: https://www.bolna.ai/docs/tutorials/sip-trunking/plivo-trunk-setup
Step-by-step guide to creating inbound and outbound SIP trunks on Plivo Zentrunk, configured to work with Bolna Voice AI agents.
This guide walks you through creating both an **inbound** and **outbound** SIP trunk on Plivo's Zentrunk platform. By the end, your Plivo account will be fully configured to send and receive calls through Bolna's Voice AI system.
## Prerequisites
Make sure you have the following ready before starting:
A Plivo account is required to create trunks. [Sign up for Plivo](https://console.plivo.com/) if you don't have one. A trial account works for initial testing.
You need at least one voice-enabled phone number from Plivo. [Purchase a number](https://console.plivo.com/active-phone-numbers/) from the Plivo Console. This will be your DID number for making and receiving calls.
An active [Bolna account](https://platform.bolna.ai/) with SIP trunking access enabled. If you don't have access yet, contact [enterprise@bolna.ai](mailto:enterprise@bolna.ai).
Your Bolna API key, which you can find in the [Bolna Dashboard](https://platform.bolna.ai/). You will need this later when registering the trunk on Bolna.
**Bolna's SIP Server IP Address:** Throughout this guide, you will need to use Bolna's SIP media server IP: **`13.200.45.61`**. Keep this handy as you will enter it in multiple configuration steps.
***
## Part 1: Create an Inbound Trunk (Receive Calls)
An **inbound trunk** handles calls coming *in* to your Plivo phone number. When someone dials your number, Plivo will forward the call to Bolna's SIP server, where your AI agent picks up and handles the conversation.
Log in to the [Plivo Console](https://console.plivo.com/) and navigate to **Zentrunk** > **Inbound Trunks** in the left sidebar. You can also go directly to [console.plivo.com/zentrunk/inbound-trunks](https://console.plivo.com/zentrunk/inbound-trunks/).
Click **Create New Inbound Trunk**. Enter a descriptive name that helps you identify this trunk later. For example:
```
Bolna-Inbound
```
This name is just for your reference within the Plivo Console.
This is the most important step. You are telling Plivo *where to send incoming calls*. Click **Add New URI** and fill in the following:
| Field | Value | What it means |
| ------------ | ----------------------- | --------------------------------------------- |
| **URI Name** | `Bolna-Primary` | A label for this destination |
| **SIP URI** | `sip:13.200.45.61:5060` | Bolna's SIP server address |
| **Priority** | `10` (default) | Lower number = higher priority |
| **Weight** | `10` (default) | Used for load balancing between multiple URIs |
**Do NOT add `transport=tcp` or `transport=tls` to the URI.** Bolna's SIP server uses **UDP**, which is the default SIP transport. Adding a TCP or TLS parameter will cause all calls to fail silently.
Review your configuration and click **Create Trunk**. Your inbound trunk is now created. Note down the trunk name for the next step.
Now you need to link your Plivo phone number to this trunk so that incoming calls are forwarded to Bolna:
1. Navigate to **Phone Numbers** > [Your Numbers](https://console.plivo.com/active-phone-numbers/)
2. Click on the phone number you want to use for inbound calls
3. In the **Number Configuration** section, set **Application Type** to **Zentrunk**
4. In the **Trunk** dropdown, select the inbound trunk you just created (e.g., `Bolna-Inbound`)
5. Click **Update Number** to save
You can connect multiple phone numbers to the same inbound trunk. All of them will route incoming calls to Bolna's SIP server, where they can be handled by different AI agents.
Your inbound trunk is now configured. Calls to your Plivo number will be forwarded to Bolna. You will configure which AI agent answers these calls in the [Register Trunk on Bolna](/tutorials/sip-trunking/register-trunk-on-bolna) step.
***
## Part 2: Create an Outbound Trunk (Make Calls)
An **outbound trunk** allows Bolna to place calls *out* to regular phone numbers through your Plivo account. Your AI agents will use this trunk to initiate conversations with recipients.
In the Plivo Console, go to **Zentrunk** > [Outbound Trunks](https://console.plivo.com/zentrunk/outbound-trunks/).
Click **Create New Outbound Trunk** and enter a descriptive name:
```
Bolna-Outbound
```
Plivo uses **username/password authentication** for outbound trunks. Bolna will send these credentials with every outbound call so Plivo can verify the request is legitimate.
In the **Trunk Authentication** section:
1. Click **Add New Credentials List**
2. Enter a **username**, for example: `bolna_trunk`
3. Enter a **strong password** and write it down immediately
**Save your username and password securely.** You will need both when [registering the trunk on Bolna](/tutorials/sip-trunking/register-trunk-on-bolna) in a later step. Plivo will not show the password again after you create it.
In the trunk settings, find **Secure Trunking** and set it to **Disabled**.
**This is critical.** Bolna does **not** support SRTP (Secure RTP). If Secure Trunking is left enabled, the media negotiation between Plivo and Bolna will fail, and you will experience **no audio** on calls (the call appears to connect but neither side can hear anything).
Click **Create Trunk**. After creation, Plivo will display a **Termination SIP Domain** that looks like this:
```
XXXXXXXXXXXXXXXXXXXX.zt.plivo.com
```
**Copy this domain and save it.** This is the gateway address that Bolna will use to route outbound calls through your Plivo account.
The Termination SIP Domain is unique to your outbound trunk. It is the address where Bolna sends SIP INVITE messages when placing outbound calls on your behalf.
Your outbound trunk is now configured on Plivo.
***
## Part 3: Whitelist Bolna's IP Address
For Plivo to accept SIP traffic from Bolna, you need to whitelist Bolna's IP address. Navigate to your outbound trunk's IP Whitelisting or Access Control settings and add:
```
13.200.45.61
```
This ensures that when Bolna sends SIP requests to Plivo, they are recognized and accepted.
***
## Configuration Summary
Here is a quick reference of everything you configured in this guide:
| Setting | Value |
| -------------------------- | ------------------------------------------------------- |
| **Inbound Trunk Name** | `Bolna-Inbound` (or your chosen name) |
| **Inbound Primary URI** | `sip:13.200.45.61:5060` |
| **Outbound Trunk Name** | `Bolna-Outbound` (or your chosen name) |
| **Outbound Credentials** | Username + Password (saved securely) |
| **Termination SIP Domain** | `XXXXXXXXXXXXXXXXXXXX.zt.plivo.com` (copied from Plivo) |
| **Bolna IP to Whitelist** | `13.200.45.61` |
| **Secure Trunking** | Disabled (SRTP not supported) |
| **Transport** | UDP (default, do not change) |
***
## Plivo-Specific Notes
Plivo Zentrunk supports G.711 ulaw (u-law) and G.711 alaw (A-law) codecs by default. These are fully compatible with Bolna, so no additional codec configuration is needed on the Plivo side.
When you register this trunk on Bolna with IP-based authentication, you will need Plivo's IP ranges. These are the IP addresses from which Plivo sends SIP traffic to Bolna:
```
15.207.90.192/31
204.89.151.128/27
13.52.9.0/25
```
You will add these as `ip_identifiers` when [registering the trunk on Bolna](/tutorials/sip-trunking/register-trunk-on-bolna).
If you are using Indian phone numbers (+91), you must complete the DLT (Distributed Ledger Technology) registration process before your numbers will work for outbound calling. See [Plivo's guide on Indian numbers](https://www.plivo.com/docs/numbers/rent-india-numbers) and Bolna's [regulated phone numbers guide](/obtaining-regulated-phone-numbers).
Trial Plivo accounts have limited functionality. You may only be able to call verified numbers (numbers you have manually added to your Plivo account). [Upgrade your Plivo account](https://console.plivo.com/) for full outbound calling capability.
***
## Next Steps
Your Plivo trunks are now configured. Continue with these guides:
Register your Plivo trunk with Bolna and add your phone numbers via API
Map your phone numbers to AI agents so they answer incoming calls
# Register Your SIP Trunk on Bolna and Add Phone Numbers
Source: https://www.bolna.ai/docs/tutorials/sip-trunking/register-trunk-on-bolna
Register your SIP trunk with Bolna using the API, add your DID phone numbers, and verify your trunk is ready for AI-powered calls.
After creating your SIP trunk on your provider ([Plivo](/tutorials/sip-trunking/plivo-trunk-setup) or [Twilio](/tutorials/sip-trunking/twilio-trunk-setup)), the next step is to register that trunk with Bolna. This tells Bolna how to connect to your provider's gateway and which phone numbers belong to this trunk.
You will do two things in this guide:
1. **Create the trunk on Bolna** with your provider's gateway details and authentication credentials
2. **Add your phone numbers (DIDs)** so Bolna knows which numbers to route through this trunk
**SIP Trunking** is currently in **Beta**. Contact [enterprise@bolna.ai](mailto:enterprise@bolna.ai) or [schedule a call](https://www.bolna.ai/meet) for access.
***
## Prerequisites
Before you begin, make sure you have:
1. A SIP trunk already created on your provider ([Plivo guide](/tutorials/sip-trunking/plivo-trunk-setup) or [Twilio guide](/tutorials/sip-trunking/twilio-trunk-setup))
2. Your **provider gateway address** (e.g., `XXXX.zt.plivo.com` for Plivo or `bolna-trunk.pstn.twilio.com` for Twilio)
3. Your **authentication credentials**: username/password for `userpass` auth, or provider IP ranges for `ip-based` auth
4. Your **Bolna API key** from the [Bolna Dashboard](https://platform.bolna.ai/)
5. Your **DID phone numbers** that you purchased from your provider
***
## Step 1: Create the Trunk on Bolna
Use the [Create SIP Trunk API](/api-reference/sip-trunks/create) to register your trunk. The exact payload depends on your provider and authentication method. Choose the example that matches your setup:
With IP-based auth, your provider identifies Bolna by its source IP address. You provide your provider's IP ranges so Bolna can verify that incoming SIP requests are legitimate.
```bash request theme={"system"}
curl -X POST https://api.bolna.ai/sip-trunks/trunks \
-H "Authorization: Bearer " \
-H "Content-Type: application/json" \
-d '{
"name": "Plivo Trunk - Production",
"provider": "plivo",
"description": "Plivo Zentrunk for Bolna Voice AI",
"auth_type": "ip-based",
"gateways": [
{
"gateway_address": "XXXXXXXXXXXXXXXXXXXX.zt.plivo.com",
"port": 5060,
"priority": 1
}
],
"ip_identifiers": [
{ "ip_address": "15.207.90.192/31" },
{ "ip_address": "204.89.151.128/27" },
{ "ip_address": "13.52.9.0/25" }
],
"allow": "ulaw,alaw",
"disallow": "all",
"inbound_enabled": true,
"outbound_leading_plus_enabled": true
}'
```
```json response theme={"system"}
{
"id": "01HQXYZ789GHI012JKL",
"name": "Plivo Trunk - Production",
"provider": "plivo",
"auth_type": "ip-based",
"gateways": [
{
"id": "01HQXYZ222BBB222CCC",
"gateway_address": "XXXXXXXXXXXXXXXXXXXX.zt.plivo.com",
"port": 5060,
"priority": 1
}
],
"ip_identifiers": [
{ "ip_address": "15.207.90.192/31" },
{ "ip_address": "204.89.151.128/27" },
{ "ip_address": "13.52.9.0/25" }
],
"phone_numbers": [],
"is_active": true,
"inbound_enabled": true,
"created_at": "2025-01-15T10:00:00Z"
}
```
Replace `XXXXXXXXXXXXXXXXXXXX.zt.plivo.com` with the **Termination SIP Domain** you copied from your provider's console. The `ip_identifiers` above are Plivo's IP ranges; check your provider's documentation for their specific ranges.
With username/password auth, Bolna sends credentials with every outbound SIP request so your provider can verify the call is authorized.
```bash request theme={"system"}
curl -X POST https://api.bolna.ai/sip-trunks/trunks \
-H "Authorization: Bearer " \
-H "Content-Type: application/json" \
-d '{
"name": "Twilio Trunk - Production",
"provider": "twilio",
"description": "Twilio Elastic SIP Trunk for Bolna Voice AI",
"auth_type": "userpass",
"auth_username": "bolna_trunk",
"auth_password": "",
"gateways": [
{
"gateway_address": "bolna-trunk.pstn.twilio.com",
"port": 5060,
"priority": 1
}
],
"allow": "ulaw,alaw",
"disallow": "all",
"inbound_enabled": true,
"outbound_leading_plus_enabled": true
}'
```
```json response theme={"system"}
{
"id": "01HQXYZ123ABC456DEF",
"name": "Twilio Trunk - Production",
"provider": "twilio",
"auth_type": "userpass",
"auth_username": "bolna_trunk",
"gateways": [
{
"id": "01HQXYZ111AAA111BBB",
"gateway_address": "bolna-trunk.pstn.twilio.com",
"port": 5060,
"priority": 1
}
],
"phone_numbers": [],
"is_active": true,
"inbound_enabled": true,
"created_at": "2025-01-15T10:00:00Z"
}
```
Replace `bolna-trunk.pstn.twilio.com` with the **Termination URI** you configured on your provider. Replace `bolna_trunk` and `` with the credentials you created.
**Save the `id` field from the response.** This is your **Trunk ID** and you will need it for every subsequent API call: adding phone numbers, mapping agents, and making calls.
***
## Step 2: Add Phone Numbers
Register the DID phone numbers you have **already purchased on your SIP provider** (from [Plivo](https://console.plivo.com/active-phone-numbers/) or [Twilio](https://www.twilio.com/console/phone-numbers)). Bolna does not provision numbers, it needs to know which of your provider numbers to route through this trunk for inbound matching and outbound caller ID.
Use the [Add Phone Number API](/api-reference/sip-trunks/add_number) for each number:
```bash request theme={"system"}
curl -X POST https://api.bolna.ai/sip-trunks/trunks//numbers \
-H "Authorization: Bearer " \
-H "Content-Type: application/json" \
-d '{
"phone_number": "919876543210",
"name": "Main Support Line"
}'
```
```json response theme={"system"}
{
"id": "01HQNUMBER111222333",
"phone_number": "919876543210",
"byot_trunk_id": "01HQXYZ123ABC456DEF",
"telephony_provider": "sip-trunk",
"created_at": "2025-01-15T10:05:00Z"
}
```
**Save the `id` from the response.** This is the **Phone Number ID** that you will use when [mapping this number to an AI agent](/tutorials/sip-trunking/inbound-calls) for inbound calls, and when specifying the `from_number` for [outbound calls](/tutorials/sip-trunking/outbound-calls).
### Adding Multiple Numbers
Repeat the API call for each DID number you want to add. Each number receives its own unique `id`:
```bash theme={"system"}
# Example: adding a second number
curl -X POST https://api.bolna.ai/sip-trunks/trunks//numbers \
-H "Authorization: Bearer " \
-H "Content-Type: application/json" \
-d '{
"phone_number": "+14158675309",
"name": "US Sales Line"
}'
```
**Phone number format:** Bolna stores the number exactly as you provide it and performs flexible matching (with and without the `+` prefix) for inbound calls. Use a consistent format across your configuration.
***
## Step 3: Verify Your Trunk
After creating the trunk and adding numbers, verify that everything is configured correctly.
Use the [Get SIP Trunk API](/api-reference/sip-trunks/get) to check your trunk:
```bash theme={"system"}
curl -X GET https://api.bolna.ai/sip-trunks/trunks/ \
-H "Authorization: Bearer "
```
Confirm the following fields in the response:
| Field | Expected Value | What It Means |
| ----------------- | -------------------- | ----------------------------------- |
| `is_active` | `true` | Trunk is active and ready for calls |
| `inbound_enabled` | `true` | Trunk can receive inbound calls |
| `gateways` | Your gateway address | Gateway is correctly configured |
| `phone_numbers` | Your added numbers | All DIDs are registered |
You can also list all phone numbers on the trunk:
```bash theme={"system"}
curl -X GET https://api.bolna.ai/sip-trunks/trunks//numbers \
-H "Authorization: Bearer "
```
***
## Field Reference
Here is a complete reference of all fields you can use when creating a trunk:
| Field | Type | Required | Default | Description |
| ------------------------------- | ------- | ----------- | ------------- | ----------------------------------------------------------------------------------------------------- |
| `name` | string | Yes | | Human-readable label for the trunk. Must be unique. |
| `provider` | string | Yes | | SIP provider: `"twilio"`, `"plivo"`, `"zadarma"`, `"telnyx"`, `"vonage"`, `"custom"` |
| `description` | string | No | `null` | Optional description for your internal reference |
| `auth_type` | string | Yes | | `"userpass"` (username/password) or `"ip-based"` |
| `auth_username` | string | If userpass | `null` | SIP username for authentication |
| `auth_password` | string | If userpass | `null` | SIP password for authentication |
| `gateways` | array | Yes | | At least one gateway with `gateway_address` (required), `port` (default 5060), `priority` (default 1) |
| `ip_identifiers` | array | If ip-based | `[]` | List of `{ "ip_address": "..." }` objects in CIDR notation |
| `allow` | string | No | `"ulaw,alaw"` | Comma-separated codecs to allow. Always include `ulaw`. |
| `disallow` | string | No | `"all"` | Comma-separated codecs to block |
| `inbound_enabled` | boolean | No | `false` | Set to `true` to receive inbound calls |
| `outbound_leading_plus_enabled` | boolean | No | `true` | Prepend `+` to outbound dialed numbers (required by Twilio) |
| `rtp_symmetric` | boolean | No | `true` | Symmetric RTP for NAT traversal. Keep as `true`. |
| `force_rport` | boolean | No | `true` | Force responses to source port. Keep as `true`. |
| `qualify_frequency` | integer | No | `60` | SIP OPTIONS keepalive ping interval in seconds. Set to `0` to disable. |
***
## Next Steps
Your trunk is registered and phone numbers are added. Now configure how calls are handled:
Map your phone numbers to AI agents so they answer incoming calls
Place outbound calls from your trunk numbers using AI agents
# Create a SIP Trunk on Twilio for Bolna
Source: https://www.bolna.ai/docs/tutorials/sip-trunking/twilio-trunk-setup
Step-by-step guide to creating an Elastic SIP Trunk on Twilio for inbound and outbound calling with Bolna Voice AI agents.
This guide walks you through creating and configuring a **Twilio Elastic SIP Trunk** to work with Bolna's Voice AI platform. Twilio's Elastic SIP Trunking provides cloud-based PSTN connectivity. You will configure termination (for outbound calls), origination (for inbound calls), and associate your Twilio phone numbers with the trunk.
## Prerequisites
Make sure you have the following ready before starting:
A Twilio account is required to create trunks. [Sign up for Twilio](https://www.twilio.com/try-twilio) if you don't have one. A free trial can be used for initial testing.
You need at least one Twilio phone number. [Buy a number](https://www.twilio.com/console/phone-numbers) from the Twilio Console. This will be associated with your trunk.
An active [Bolna account](https://platform.bolna.ai/) with SIP trunking access enabled. Contact [enterprise@bolna.ai](mailto:enterprise@bolna.ai) if you don't have access yet.
Your Bolna API key from the [Bolna Dashboard](https://platform.bolna.ai/). You will need this when registering the trunk on Bolna.
**Bolna's SIP Server IP Address:** You will need Bolna's SIP media server IP throughout this guide: **`13.200.45.61`**. Keep this handy.
***
## Step 1: Create a New SIP Trunk
Log in to the [Twilio Console](https://www.twilio.com/console) and navigate to **Elastic SIP Trunking** > **Trunks** in the left sidebar. You can also go directly to [twilio.com/console/sip-trunking/trunks](https://www.twilio.com/console/sip-trunking/trunks).
Click **Create new SIP Trunk** (or the **+** button) and enter a friendly name for your trunk:
```
Bolna Voice AI Trunk
```
Click **Create**. Twilio will assign a unique **Trunk SID** (e.g., `TKxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`). Note this down for reference.
***
## Step 2: Configure Termination (Outbound Calls)
**Termination** settings control how Bolna sends outbound calls through Twilio to the PSTN. You need to set up a Termination URI (the address Bolna will call) and configure authentication so Twilio knows the requests are legitimate.
Go to the **Termination** tab in your trunk's configuration. Enter a unique domain name in the **Termination URI** field:
```
bolna-trunk.pstn.twilio.com
```
Click **Save**. This URI is the gateway address you will provide to Bolna when registering the trunk.
Choose a descriptive name using dashes for readability. The full format is `{your-name}.pstn.twilio.com`. This must be unique across all Twilio accounts.
An IP ACL tells Twilio which IP addresses are allowed to send SIP traffic to your trunk. You need to add Bolna's SIP server IP so Twilio accepts call requests from Bolna.
In the **Authentication** section, find **IP Access Control Lists**:
1. Click **Create IP Access Control List**
2. Enter a friendly name: `Bolna SIP Server`
3. Click **Create**, then click **Add IP Address** and fill in:
| Field | Value | What it means |
| ----------------- | ------------------ | ---------------------------- |
| **Friendly Name** | `Bolna Production` | A label for this IP entry |
| **IP Address** | `13.200.45.61` | Bolna's SIP server IP |
| **CIDR** | `32` | Single IP address (no range) |
4. Save and then **associate this ACL with the trunk** by selecting it from the dropdown on the Termination page
Without Bolna's IP in the ACL, Twilio will reject all outbound SIP INVITE requests from Bolna with a `403 Forbidden` error. Your calls will fail to connect.
In addition to IP-based security, Twilio recommends also using **credential-based authentication**. When configured, Bolna will include a username and password with every outbound call request.
In the **Authentication** section, find **Credential Lists**:
1. Click **Create Credential List**
2. Enter a friendly name: `Bolna Credentials`
3. Add a **username** (e.g., `bolna_trunk`) and a **strong password**
4. Click **Create**, then **associate the Credential List** with the trunk
**Save your username and password securely.** You will need both when [registering the trunk on Bolna](/tutorials/sip-trunking/register-trunk-on-bolna). Twilio will not show the password again after creation.
When both an IP ACL and Credential List are configured, Twilio enforces **both**: the request must come from a whitelisted IP **and** include valid credentials. This is the most secure setup.
***
## Step 3: Configure Origination (Inbound Calls)
**Origination** settings control how Twilio delivers inbound calls (calls from the PSTN) to Bolna's SIP server. This is what enables your AI agent to answer incoming phone calls.
Go to the **Origination** tab in your trunk's configuration. Click **Add new Origination URI** and fill in:
| Setting | Value | What it means |
| ----------------------- | ----------------------- | --------------------------------------------------- |
| **Origination SIP URI** | `sip:13.200.45.61:5060` | Where Twilio sends incoming calls (Bolna's server) |
| **Priority** | `10` | Lower number = higher priority. Use 10 for primary. |
| **Weight** | `10` | Load balancing weight. Use 10 for a single trunk. |
| **Enabled** | Yes | Must be enabled for calls to route |
Click **Add**.
**Failover setup:** You can add multiple Origination URIs with different priorities. If the primary URI fails (e.g., Bolna's server is unreachable), Twilio will try the next URI in priority order.
**Do NOT add `transport=tcp` or `transport=tls` to the URI.** Bolna's SIP server requires **UDP** transport (the default). Adding TCP or TLS will cause inbound calls to fail.
***
## Step 4: General Settings
These settings apply to the entire trunk and affect both inbound and outbound calls.
Go to the **General** tab. Find **Secure Trunking** and set it to **Disabled**. Click **Save**.
**This is critical.** Bolna does not support SRTP (Secure RTP). If Secure Trunking is left enabled, media negotiation between Twilio and Bolna will fail. Calls may appear to connect, but you will experience **no audio** or **one-way audio**.
Set **Symmetric RTP** to **Enabled** and save. This helps prevent one-way audio issues that can occur due to NAT (Network Address Translation) between Twilio's and Bolna's servers.
If you want Twilio to record calls on its side, choose your preference:
* **Do Not Record** (default): No recording on Twilio
* **Record from ringing**: Recording starts when the phone rings
* **Record from answer**: Recording starts when the call is answered
Bolna also offers its own call recording feature. You can use either or both depending on your needs.
***
## Step 5: Associate Phone Numbers
You need to associate at least one Twilio phone number with your trunk. This tells Twilio to route calls to that number through your SIP trunk instead of handling them with TwiML or Studio.
In your trunk's configuration page, click the **Numbers** tab.
If you already have a Twilio phone number:
1. Click **Associate a Number with this Trunk**
2. Select your phone number from the list
3. The number's Voice configuration will automatically be updated to **SIP Trunking**
**One number, one trunk:** A Twilio phone number can only be associated with one trunk at a time. Associating it with a new trunk automatically removes it from the previous one.
To confirm everything is set up correctly:
1. Go to **Phone Numbers** > **Manage** > **Active Numbers** in the Twilio Console
2. Click on your number
3. Under **Voice Configuration**, confirm that **Configure With** is set to **SIP Trunk** and the correct trunk name is shown
***
## Configuration Summary
Here is a complete reference of everything you configured:
| Setting | Value |
| ---------------------- | ---------------------------------------------------- |
| **Trunk Name** | `Bolna Voice AI Trunk` (or your chosen name) |
| **Trunk SID** | `TKxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx` (auto-assigned) |
| **Termination URI** | `bolna-trunk.pstn.twilio.com` (your chosen domain) |
| **IP ACL** | Bolna IP `13.200.45.61/32` in `Bolna SIP Server` ACL |
| **Credential List** | Username + Password (saved securely) |
| **Origination URI** | `sip:13.200.45.61:5060` (Priority: 10, Weight: 10) |
| **Secure Trunking** | Disabled (SRTP not supported by Bolna) |
| **Symmetric RTP** | Enabled |
| **Transport** | UDP (default) |
| **Associated Numbers** | Your Twilio phone number(s) |
***
## Twilio-Specific Notes
Twilio **requires** all phone numbers to be in E.164 format (e.g., `+12128675309`). Numbers without the `+` prefix will be rejected with a `400 Bad Request` response. Bolna's `outbound_leading_plus_enabled` setting (default `true`) automatically ensures the `+` is prepended to outbound numbers.
For lower latency on outbound calls, you can use Twilio's region-specific termination URIs instead of the global one. Replace `bolna-trunk` with your chosen domain name:
| Region | URI |
| ------------------------- | --------------------------------------- |
| N. America (Virginia) | `bolna-trunk.pstn.ashburn.twilio.com` |
| N. America (Oregon) | `bolna-trunk.pstn.umatilla.twilio.com` |
| Europe (Ireland) | `bolna-trunk.pstn.dublin.twilio.com` |
| Europe (Frankfurt) | `bolna-trunk.pstn.frankfurt.twilio.com` |
| Asia Pacific (Singapore) | `bolna-trunk.pstn.singapore.twilio.com` |
| Asia Pacific (Tokyo) | `bolna-trunk.pstn.tokyo.twilio.com` |
| South America (Sao Paulo) | `bolna-trunk.pstn.sao-paulo.twilio.com` |
| Asia Pacific (Sydney) | `bolna-trunk.pstn.sydney.twilio.com` |
For outbound calls, Twilio requires the `from_number` (caller ID) to be either a Twilio DID number on your account or a verified Caller ID number. If an invalid caller ID is used, Twilio will reject the outbound call.
Trial Twilio accounts have some restrictions: you can only call **verified phone numbers**, and outbound calls will play a Twilio trial message before your AI agent speaks. [Upgrade your account](https://www.twilio.com/console) to remove these limitations.
Twilio Elastic SIP Trunking supports call durations up to **24 hours** (extended from the default 4 hours). This can be configured per-trunk in the General settings tab.
***
## Next Steps
Your Twilio Elastic SIP Trunk is fully configured. Continue with these guides:
Register your Twilio trunk with Bolna and add your phone numbers via API
Place outbound calls through your Twilio trunk using Bolna AI agents
# Create Bolna API connection with viaSocket
Source: https://www.bolna.ai/docs/tutorials/viasocket/create-bolna-api-connection
Step-by-step guide to integrating Bolna Voice AI with viaSocket by creating an API connection, enabling efficient workflow automation.
A simple step-by-step guide to integrating Bolna Voice AI with [viaSocket](https://viasocket.com/integrations/bolna) by creating an API connection. This integration will allow you to automate workflows efficiently by connecting voice commands from Bolna to various apps in viaSocket.
## Following are the steps to create a API connection
In this tutorial, we will:
1. Create a new Bolna API connection
Please refer to [this documentation](/api-reference/introduction#authentication) for creating a new API Key.
After completing the above steps, you can use [viaSocket](https://viasocket.com/integrations/bolna) modules with Bolna AI.
# Using Bolna AI with viaSocket
Source: https://www.bolna.ai/docs/tutorials/viasocket/overview
Learn how to integrate Bolna Voice AI with viaSocket to create custom workflows, enabling seamless automation between Bolna and other applications.
Integrating Bolna Voice AI with [viaSocket](http://viasocket.com/integrations?utm_source=Bolna.dev\&utm_medium=marketplace\&utm_campaign=Bolna.dev_listing) allows you to automate tasks using voice commands. With this integration, Bolna can trigger actions in thousands of apps connected through viaSocket, making your processes more efficient and reducing manual work. It helps streamline workflows and improve productivity by automating repetitive tasks.
## Bolna AI modules using APIs on viaSocket
These are modules that require [Bolna's API connection with viaSocket](/tutorials/viasocket/create-bolna-api-connection).
To create Outbound calls
Get all agents executions and their details
***
You can reach out to viaSocket support from [https://viasocket.com/support](https://viasocket.com/support).
# Create Bolna API connection with Zapier
Source: https://www.bolna.ai/docs/tutorials/zapier/create-bolna-api-connection
Step-by-step guide to integrating Bolna Voice AI with Zapier by creating an API connection, enabling efficient workflow automation.
## Following are the steps to create a API connection
In this tutorial, we will:
1. Create a new Bolna API connection
Go to [https://zapier.com/app/connections](https://zapier.com/app/connections) to manage apps
Please refer to [this documentation](/api-reference/introduction#authentication) for creating a new API Key.
After completing the above steps, you can use Action modules to make Bolna APIs call on Zapier.
Please refer to Bolna APIs from [API reference docs](/api-reference/introduction).
# Using Bolna AI with Zapier
Source: https://www.bolna.ai/docs/tutorials/zapier/overview
Learn how to integrate Bolna Voice AI with Zapier to create custom workflows, enabling seamless automation between Bolna and other applications.
## Bolna AI modules using APIs on Zapier
These are modules that require [Bolna's API connection with Zapier](/tutorials/zapier/create-bolna-api-connection).
Use this to make Outgoing Phone Calls to phone numbers
***
## Bolna + Zapier Tutorials
Coming soon
# Integrate Twilio with Bolna for Enhanced Calling
Source: https://www.bolna.ai/docs/twilio
Leverage Twilio with Bolna to handle inbound and outbound calls seamlessly. Follow setup guides and connect your Twilio account for tailored experiences.
## What is Twilio integration in Bolna?
Twilio is one of the leading telephony providers supported by Bolna Voice AI. By integrating Twilio with Bolna, you can make outbound calls, receive inbound calls, and use your own Twilio account for complete control over your phone numbers and calling infrastructure.
Learn more about [supported telephony providers](/supported-telephony-providers) or [purchase phone numbers](/buying-phone-numbers) directly through Bolna.
## How to get started with Twilio
Bolna agents make phone calls using Twilio numbers
Bolna agents receive phone calls on Twilio numbers and answers them
Use your own Twilio account with Bolna
## Why use Twilio with Bolna?
Twilio offers several advantages:
* **Global coverage**: Make and receive calls in 100+ countries
* **Reliability**: Industry-leading uptime and call quality
* **Flexibility**: Use your existing Twilio infrastructure
* **Advanced features**: Access to Twilio's full feature set
For high-volume calling needs, consider using [batch calling](/batch-calling) to scale to millions of calls efficiently.
# Securely Link Your Twilio Account to Bolna
Source: https://www.bolna.ai/docs/twilio-connect-provider
Follow detailed steps to connect your Twilio account with Bolna. Enable the use of your Twilio phone numbers for both inbound and outbound Voice AI calls.
## Use your own Twilio account to make outbound calls
We connect your `Twilio` account securely via using [infisical](https://infisical.com/).
You can connect your own Twilio account and start using it on Bolna. All calls initiated from Bolna will be from your own Twilio account and use your own Twilio phone numbers.
1. Navigate to `Providers` tab from the left menu bar & Click **Twilio connect button**.
2. Fill in the required details.
3. Save details by clicking on the **connect button**.
4. You'll see that your Twilio account was successfully connected. All your calls will now go via your own Twilio account and phone numbers.
# Make Outbound Calls via Twilio with Bolna Voice AI
Source: https://www.bolna.ai/docs/twilio-outbound-calls
Set up Bolna Voice AI agents to place outbound calls through Twilio. Learn dashboard configurations and API methods for efficient call management.
## Making outbound calls from dashboard
1. Login to the dashboard at [https://platform.bolna.ai](https://platform.bolna.ai) using your account credentials
2. Choose `Twilio` as the Call provider for your agent and save it
3. Start placing phone calls by providing the recipient phone numbers.
Bolna will place the calls to the provided phone numbers.
You can place calls using your own custom Twilio phone numbers only if you've connected your Twilio account.
You can read more on how to connect your Twilio account [here](/providers).
## Making outbound calls Using APIs
1. Generate and save your [Bolna API Key](/api-reference/introduction#steps-to-generate-your-api-key)
2. Set your agent `input` and `output` tools as `twilio` while using [`/create` Agent API](/api-reference/agent/create)
```create-agent.json theme={"system"}
...
...
"tools_config": {
"output": {
"format": "wav",
"provider": "twilio"
},
"input": {
"format": "wav",
"provider": "twilio"
},
"synthesizer": {...},
"llm_agent": {...},
"transcriber": {...},
"api_tools": {...}
}
...
...
```
3. Use [`/call` API](api-reference/calls/make) to place the call to the agent
```call.json theme={"system"}
curl --request POST \
--url https://api.bolna.ai/call \
--header 'Authorization: ' \
--header 'Content-Type: application/json' \
--data '{
"agent_id": "123e4567-e89b-12d3-a456-426655440000",
"recipient_phone_number": "+10123456789"
}'
```
# Using Context with Bolna Voice AI Agents
Source: https://www.bolna.ai/docs/using-context
Learn how to effectively use context in Bolna Voice AI agents to create dynamic, personalized, and meaningful interactions
Personalize voice AI conversations by injecting dynamic information into your agent's prompts. Create tailored experiences using customer data, conversation metadata, and custom variables.
***
## Default Variables
The following variables are automatically available in every conversation:
| Variable | Description |
| -------------- | ----------------------------------------------------------- |
| `agent_id` | The `id` of the agent |
| `execution_id` | Unique `id` of the Bolna conversation or call |
| `call_sid` | Unique `id` of the phone call (Twilio, Plivo, Vonage, etc.) |
| `from_number` | Phone number that **initiated** the call |
| `to_number` | Phone number that **received** the call |
**Inbound calls:** `from_number` = caller, `to_number` = your agent\
**Outbound calls:** `from_number` = your agent, `to_number` = recipient
### Example: Using Default Variables
```php Prompt Template theme={"system"}
This is your agent Sam. Please have a friendly conversation with the customer.
Please note:
The agent has a unique id which is "{agent_id}".
The call's unique id is "{call_sid}".
The customer's phone number is "{to_number}".
```
```php Result (After Substitution) theme={"system"}
This is your agent Sam. Please have a friendly conversation with the customer.
Please note:
The agent has a unique id which is "4a8135ce-94fc-4a80-9a33-140fe1ed8ff5".
The call's unique id is "PXNEJUFEWUEWHVEWHQFEWJ".
The customer's phone number is "+19876543210".
```
***
## Timezone
By default, conversations include current date and time in the user's timezone.
For improved accuracy, explicitly pass the timezone:
| Variable | Description |
| ---------- | --------------------------------------------------------------------------------------------- |
| `timezone` | Timezone name per [tz database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) |
***
## Custom Variables
Define your own variables by wrapping text in `{}` in your prompt. Pass values via the API when placing calls.
Any content written between `{}` in the prompt becomes a variable.
### Example: Using Custom Variables
```
This is your agent Sam speaking.
May I confirm if your name is {customer_name} and you called us on
{last_contacted_on} to enquire about your order item {product_name}.
Use the call's id which is {call_sid} to automatically transfer the call to a human when the user asks.
```
```bash theme={"system"}
curl --request POST \
--url https://api.bolna.ai/call \
--header 'Authorization: Bearer ' \
--header 'Content-Type: application/json' \
--data '{
"agent_id": "123e4567-e89b-12d3-a456-426655440000",
"recipient_phone_number": "+10123456789",
"from_phone_number": "+1987654007",
"user_data": {
"customer_name": "Caroline",
"last_contacted_on": "4th August",
"product_name": "Pearl shampoo bar"
}
}'
```
The prompt becomes:
```
This is your agent Sam speaking.
May I confirm if your name is Caroline and you called us on
4th August to enquire about your order item Pearl shampoo bar.
Use the call's id which is PDFHNEWFHVUWEHC to automatically transfer the call to a human when the user asks.
```
`call_sid` is automatically injected as a default variable.
***
## Related Features
Use context variables in function calls for dynamic actions
Add personalized hangup messages with context variables
Extract context data from call details
Build multi-agent workflows with shared context
# Enhance Call Capabilities with Bolna's Vobiz Integration
Source: https://www.bolna.ai/docs/vobiz
Integrate Vobiz with Bolna to manage outbound & inbound calls for India. Access setup guides for seamless Voice AI agent communication using your Vobiz numbers.
## What is Vobiz integration in Bolna?
Vobiz is a cost-effective telephony provider supported by Bolna Voice AI. By integrating Vobiz with Bolna, you can make outbound calls, receive inbound calls, and use your own Vobiz account for complete control over your phone numbers and calling infrastructure.
Learn more about [supported telephony providers](/supported-telephony-providers) or [purchase phone numbers](/buying-phone-numbers) directly through Bolna.
## How to get started with Vobiz
Bolna agents make phone calls using Vobiz numbers
Bolna agents receive phone calls on Vobiz numbers and answers them
Use your own Vobiz account with Bolna
## Why use Vobiz with Bolna?
Vobiz offers several advantages:
* **Cost-effective**: Competitive international calling rates
* **Reliable infrastructure**: Good uptime and call quality
* **Global coverage**: Support for calls in many countries
* **Easy integration**: Seamless setup with Bolna platform
For high-volume calling needs, consider using [batch calling](/batch-calling) to scale efficiently. Compare Vobiz with [Twilio](/twilio) to choose the best provider for your needs.
# Link Your Vobiz Account to Bolna for Voice AI
Source: https://www.bolna.ai/docs/vobiz-connect-provider
Securely connect your Vobiz account with Bolna. Enable your Voice AI agents to utilize Vobiz phone numbers for managing inbound and outbound calls.
## Use your own Vobiz account to make outbound calls
You can connect your own Vobiz account and start using it on Bolna. All calls initiated from Bolna will be from your own Vobiz account and use your own Vobiz phone numbers.
1. Navigate to `Providers` tab from the left menu bar & Click **Vobiz connect button**.
2. Fill in the required details.
3. Save details by clicking on the **connect button**.
4. You'll see that your Vobiz account was successfully connected. All your calls will now go via your own Vobiz account and phone numbers.
# Initiate Outbound Calls via Vobiz with Bolna Voice AI
Source: https://www.bolna.ai/docs/vobiz-outbound-calls
Configure Bolna Voice AI agents to make outbound calls through Vobiz. Learn to set up calls using the dashboard and APIs for effective outreach.
## Making outbound calls from dashboard
1. Login to the dashboard at [https://platform.bolna.ai](https://platform.bolna.ai) using your account credentials
2. Choose `Vobiz` as the Call provider for your agent and save it
3. Start placing phone calls by providing the recipient phone numbers.
Bolna will place the calls to the provided phone numbers.
You can place calls using your own custom Vobiz phone numbers only if you've connected your Vobiz account.
You can read more on how to connect your Vobiz account [here](/providers).
## Making outbound calls Using APIs
1. Generate and save your [Bolna API Key](/api-reference/introduction#steps-to-generate-your-api-key)
2. Set your agent `input` and `output` tools as `vobiz` while using [`/create` Agent API](/api-reference/agent/create)
```create-agent.json theme={"system"}
...
...
"tools_config": {
"output": {
"format": "wav",
"provider": "vobiz"
},
"input": {
"format": "wav",
"provider": "vobiz"
},
"synthesizer": {...},
"llm_agent": {...},
"transcriber": {...},
"api_tools": {...}
}
...
...
```
3. Use [`/call` API](api-reference/calls/make) to place the call to the agent
```call.json theme={"system"}
curl --request POST \
--url https://api.bolna.ai/call \
--header 'Authorization: ' \
--header 'Content-Type: application/json' \
--data '{
"agent_id": "123e4567-e89b-12d3-a456-426655440000",
"recipient_phone_number": "+10123456789"
}'
```
# Announcements Agent - Feature Updates
Source: https://www.bolna.ai/docs/voice-agents/announcements-agent
Keeps users engaged with all feature upgrades and product launches. Automate user communication for product announcements and updates.
## Overview
Amplify your product launches and feature releases with our Announcements Agent - a dynamic AI communicator that transforms routine updates into engaging conversations that drive user adoption and excitement. This intelligent system doesn't just broadcast information; it creates anticipation, explains value, and motivates users to explore new capabilities. By delivering personalized announcements that resonate with individual user needs, this agent turns product updates into growth opportunities.
## Key Features
* **Strategic Launch Orchestration**: Coordinates multi-phase announcement campaigns that build anticipation, educate users, and drive feature adoption
* **Behavioral Targeting Intelligence**: Analyzes user activity patterns to deliver announcements when users are most receptive and likely to engage
* **Value-Driven Messaging**: Crafts announcements that clearly communicate benefits, use cases, and competitive advantages of new features
* **Interactive Engagement Facilitation**: Encourages two-way conversations that gather feedback, answer questions, and address user concerns
* **Adoption Acceleration Tactics**: Uses persuasive communication techniques to motivate immediate feature exploration and usage
* **Comprehensive Impact Analytics**: Tracks announcement effectiveness, user engagement, and feature adoption rates for continuous optimization
## Use Cases
* **Enterprise Software Rollouts**: Communicate complex feature releases to business users with training resources and implementation guidance
* **Consumer App Feature Launches**: Generate excitement for new capabilities while providing clear usage instructions and benefit explanations
* **Platform Integration Announcements**: Educate users about new third-party integrations, API capabilities, and workflow enhancements
* **Pricing & Plan Updates**: Communicate subscription changes, new pricing tiers, and value proposition improvements with transparency
* **Security & Compliance Updates**: Inform users about security enhancements, compliance certifications, and data protection improvements
* **Community & Event Promotion**: Drive participation in user conferences, webinars, training sessions, and community initiatives
## How It Works
1. **Strategic Content Development**: Transforms technical product updates into compelling user benefits with clear value propositions and usage scenarios
2. **Intelligent Audience Segmentation**: Identifies user cohorts based on feature usage, engagement levels, and potential impact for targeted messaging
3. **Personalized Value Communication**: Customizes announcements to highlight specific benefits relevant to each user's workflow and objectives
4. **Optimal Timing Orchestration**: Delivers announcements when users are most active and receptive to maximize attention and engagement
5. **Interactive Conversation Facilitation**: Engages users in dialogue about new features, answers questions, and provides implementation guidance
6. **Adoption Impact Measurement**: Tracks feature adoption rates, user satisfaction, and announcement effectiveness for continuous improvement
## Benefits
* **Feature Adoption Acceleration**: Increase new feature usage by 400% through targeted, value-focused announcement campaigns
* **User Engagement Amplification**: Strengthen product stickiness and reduce churn through regular, meaningful communication touchpoints
* **Product Development Intelligence**: Gather real-time user feedback and feature requests to guide roadmap prioritization and development decisions
* **Customer Success Optimization**: Ensure users discover and utilize features that drive value and justify subscription costs
* **Brand Loyalty Reinforcement**: Demonstrate continuous innovation and user focus through proactive, helpful communication
* **Competitive Differentiation**: Showcase product evolution and market leadership through strategic feature announcement campaigns
## Getting Started
Keep your users engaged and informed with automated product announcements and feature updates. Import this agent template and customize it for your specific product communication needs and user segmentation strategy.
Start using the Announcements Agent template in your Bolna dashboard
## Related Agents
* [Surveys Agent](/voice-agents/surveys-agent) - For collecting detailed user feedback on announcements
* [Onboarding Agent](/voice-agents/onboarding-agent) - For introducing new features during user onboarding
* [Customer Support Agent](/voice-agents/customer-support-agent) - For handling questions about announced features
# Cart Abandonment Agent - Recover Lost Sales with AI
Source: https://www.bolna.ai/docs/voice-agents/cart-abandonment-agent
Calls customers with abandoned items in carts, recovering sales through personalized voice conversations in English and Hindi.
## Overview
Reclaim lost revenue and transform abandoned carts into completed sales with our Cart Abandonment Agent - a persuasive AI specialist that understands the psychology of purchase hesitation. Rather than sending generic emails that get ignored, this intelligent system initiates meaningful conversations with hesitant buyers, uncovering their specific concerns and providing personalized solutions that remove barriers to purchase. Every abandoned cart becomes a sales recovery opportunity.
## Key Features
* **Behavioral Trigger Intelligence**: Analyzes browsing patterns, time spent, and exit points to determine optimal contact timing and messaging approach
* **Psychological Persuasion Engine**: Employs proven sales psychology techniques including scarcity, social proof, and loss aversion to motivate purchase completion
* **Dynamic Objection Resolution**: Identifies and addresses specific purchase barriers such as price concerns, shipping costs, product questions, or checkout complexity
* **Smart Incentive Optimization**: Calculates minimum viable discounts based on customer value, cart size, and purchase probability to maximize profitability
* **Seamless Purchase Facilitation**: Provides one-click completion options, payment assistance, and real-time checkout support to eliminate friction
* **Cross-Channel Recovery Orchestration**: Coordinates voice outreach with email sequences, SMS reminders, and retargeting campaigns for maximum impact
## Use Cases
* **High-Value Product Recovery**: Target luxury goods, electronics, and big-ticket items where personal consultation can justify the purchase decision
* **Seasonal Campaign Optimization**: Recover holiday shopping carts, back-to-school purchases, and time-sensitive promotional offers before deadlines
* **Subscription Conversion Rescue**: Re-engage free trial users who showed interest but didn't convert to paid plans with personalized value demonstrations
* **B2B Quote Follow-Through**: Contact business buyers who requested quotes but didn't proceed, addressing procurement concerns and timeline questions
* **Mobile Commerce Recovery**: Reach customers who abandoned mobile purchases due to checkout friction or payment method issues
* **International Sales Recovery**: Address cross-border shopping concerns including shipping costs, customs, and delivery timeframes for global customers
## How It Works
1. **Abandonment Pattern Analysis**: Monitors real-time shopping behavior to identify high-intent abandonment signals and optimal intervention moments
2. **Strategic Customer Outreach**: Initiates contact using personalized messaging that references specific products and demonstrates genuine interest in helping
3. **Consultative Sales Conversation**: Engages in natural dialogue that feels like helpful advice rather than pushy sales tactics
4. **Barrier Identification & Resolution**: Uncovers hidden objections such as budget constraints, product uncertainty, or competitive comparisons
5. **Value Reinforcement & Incentivization**: Highlights product benefits, creates urgency, and offers strategic incentives that tip the decision scale
6. **Frictionless Completion Assistance**: Provides step-by-step checkout guidance, payment support, and immediate order confirmation to seal the deal
## Benefits
* **Revenue Resurrection**: Recover 20-35% of abandoned cart value through intelligent, personalized intervention strategies
* **Customer Lifetime Value Enhancement**: Transform one-time browsers into repeat customers through exceptional recovery experiences
* **Competitive Intelligence Gathering**: Discover why customers consider competitors and develop counter-strategies for future sales
* **Purchase Psychology Insights**: Understand customer decision-making patterns to optimize product positioning and pricing strategies
* **Marketing Attribution Clarity**: Track which recovery touchpoints drive conversions to optimize multi-channel campaign effectiveness
* **Brand Differentiation Through Service**: Stand out in crowded markets by providing proactive, helpful customer engagement that competitors can't match
## Industries & Applications
* **Luxury & Premium Goods**: Handle high-value purchases requiring personal consultation, authenticity verification, and white-glove service
* **Technology & Electronics**: Address technical specifications, compatibility concerns, warranty questions, and installation support
* **Fashion & Lifestyle**: Resolve sizing uncertainties, style questions, return policies, and seasonal availability concerns
* **Home & Garden**: Discuss delivery logistics, installation requirements, product compatibility, and seasonal timing considerations
* **Health & Beauty**: Provide ingredient information, usage guidance, skin compatibility, and subscription management
* **Business & Professional Services**: Handle procurement processes, bulk pricing, implementation timelines, and contract negotiations
## Getting Started
Transform abandoned carts from lost opportunities into recovered revenue with intelligent, psychology-driven sales recovery. Deploy this agent with your e-commerce platform to start converting hesitant browsers into satisfied customers through personalized, helpful conversations that remove purchase barriers.
Start using the Cart Abandonment Agent template in your Bolna dashboard
## Related Agents
* [Lead Qualification Agent](/voice-agents/lead-qualification-agent) - Apply similar persuasion techniques to qualify and convert potential customers across sales channels
* [Customer Support Agent](/voice-agents/customer-support-agent) - Provide seamless post-purchase support that reinforces buying decisions and builds loyalty
* [Sales - Credit Card Agent](/voice-agents/sales-credit-card-agent) - Extend recovery strategies to financial products and subscription services
# COD Confirmation Agent - Last Mile Logistics Automation
Source: https://www.bolna.ai/docs/voice-agents/cod-confirmation-agent
Handles a variety of last mile logistics tasks, saving human effort. Automate cash-on-delivery confirmations and logistics coordination.
## Overview
Eliminate delivery failures and optimize last-mile logistics with our COD Confirmation Agent - a specialized AI coordinator that transforms uncertain deliveries into guaranteed successes. This intelligent system doesn't just confirm orders; it builds customer confidence, resolves delivery concerns, and ensures every cash-on-delivery transaction proceeds smoothly. By proactively addressing potential issues before they become problems, this agent significantly reduces failed deliveries and improves customer satisfaction.
## Key Features
* **Proactive Delivery Intelligence**: Analyzes order patterns, customer history, and delivery success rates to optimize confirmation timing and messaging
* **Comprehensive Address Validation**: Verifies delivery locations using GPS coordinates, landmark references, and local knowledge for accurate routing
* **Dynamic Scheduling Optimization**: Coordinates delivery windows based on customer preferences, traffic patterns, and delivery route efficiency
* **Payment Process Assurance**: Confirms exact amounts, change requirements, and alternative payment options to prevent delivery complications
* **Real-Time Logistics Synchronization**: Updates delivery teams with confirmed details, special instructions, and customer preferences instantly
* **Intelligent Exception Management**: Handles delivery modifications, emergency rescheduling, and customer concerns with minimal disruption to operations
## Use Cases
* **High-Value Product Delivery**: Secure delivery confirmation for electronics, jewelry, and luxury goods requiring signature and payment verification
* **Perishable Goods Coordination**: Ensure timely delivery of fresh food, pharmaceuticals, and temperature-sensitive products with precise timing
* **B2B Supply Chain Management**: Coordinate business-to-business deliveries, inventory replenishment, and commercial COD transactions
* **Rural & Remote Area Delivery**: Navigate challenging delivery locations with detailed address verification and local landmark identification
* **Cross-Border E-commerce**: Handle international COD deliveries with customs coordination, currency conversion, and regulatory compliance
* **Subscription Box Fulfillment**: Manage recurring delivery confirmations, subscription modifications, and payment processing for subscription services
## How It Works
1. **Intelligent Order Analysis**: Evaluates order complexity, delivery requirements, and customer history to determine optimal confirmation approach
2. **Strategic Customer Engagement**: Initiates contact with personalized messaging that builds confidence and addresses potential delivery concerns
3. **Comprehensive Delivery Planning**: Validates addresses, confirms availability, and establishes backup plans for delivery success
4. **Precision Scheduling Coordination**: Balances customer preferences with delivery route optimization and operational efficiency requirements
5. **Payment Process Verification**: Ensures accurate transaction details, change preparation, and alternative payment method availability
6. **Seamless Operations Integration**: Synchronizes confirmed details across delivery teams, customer service, and tracking systems for unified execution
## Benefits
* **Delivery Success Rate Maximization**: Achieve 95%+ first-attempt delivery success through comprehensive pre-delivery confirmation and planning
* **Customer Trust & Satisfaction Enhancement**: Build confidence through proactive communication that demonstrates care and professionalism
* **Logistics Cost Optimization**: Reduce failed delivery costs, return shipping expenses, and re-delivery attempts by 75% through accurate confirmation
* **Operational Predictability**: Enable precise delivery planning, route optimization, and resource allocation through confirmed delivery windows
* **Cash Flow Acceleration**: Ensure faster payment collection and reduced payment disputes through clear transaction confirmation
* **Competitive Advantage Creation**: Differentiate your delivery service through superior customer communication and reliability standards
## Getting Started
Streamline your last-mile logistics operations with intelligent COD confirmation and delivery coordination. Import this agent template and integrate it with your existing logistics and e-commerce systems.
Start using the COD Confirmation Agent template in your Bolna dashboard
## Related Agents
* [Reminders Agent](/voice-agents/reminders-agent) - For delivery reminders and follow-up communications
* [Customer Support Agent](/voice-agents/customer-support-agent) - For handling delivery-related customer inquiries
* [Surveys Agent](/voice-agents/surveys-agent) - For collecting delivery experience feedback
# Customer Support Agent - 24/7 AI-Powered Customer Service
Source: https://www.bolna.ai/docs/voice-agents/customer-support-agent
Provides 24/7 inbound call answering for FAQs and customer triage. Automate customer support with intelligent voice conversations in English.
## Overview
Elevate your customer service experience with our Customer Support Agent - an empathetic AI assistant that transforms how businesses handle customer inquiries, complaints, and support requests. This intelligent system doesn't just answer questions; it actively listens, understands context, and provides personalized solutions that turn frustrated customers into loyal advocates. By combining emotional intelligence with comprehensive product knowledge, this agent delivers the kind of exceptional support that builds lasting customer relationships.
## Key Features
* **Empathetic Conversation Engine**: Recognizes customer frustration, urgency, and satisfaction levels to provide emotionally appropriate responses
* **Omnichannel Issue Resolution**: Seamlessly handles inquiries across voice, integrating with existing support ticket systems and knowledge bases
* **Intelligent Escalation Protocols**: Uses advanced decision trees to determine when human intervention is needed, ensuring smooth handoffs with complete context
* **Real-Time Customer Intelligence**: Instantly accesses purchase history, previous interactions, and account status for personalized support experiences
* **Proactive Problem Solving**: Identifies potential issues before customers complain and offers preventive solutions
* **Multilingual Support Excellence**: Native English capabilities with cultural nuance understanding for global customer bases
## Use Cases
* **SaaS Platform Support**: Guide users through feature adoption, troubleshoot integration issues, and provide onboarding assistance
* **E-commerce Customer Care**: Handle order modifications, shipping inquiries, return processing, and product recommendations
* **Financial Services Support**: Assist with account inquiries, transaction disputes, fraud reporting, and service explanations
* **Healthcare Patient Support**: Manage appointment scheduling, insurance verification, prescription inquiries, and care coordination
* **Telecommunications Support**: Troubleshoot service issues, explain billing, process plan changes, and handle technical configurations
* **Subscription Service Management**: Process cancellations, upgrades, billing inquiries, and retention conversations
## How It Works
1. **Intelligent Call Routing**: Analyzes caller intent and urgency to prioritize and categorize support requests automatically
2. **Contextual Problem Discovery**: Engages in natural dialogue to uncover root causes, not just surface-level symptoms
3. **Dynamic Knowledge Synthesis**: Combines customer history, product documentation, and real-time data to craft personalized solutions
4. **Multi-Step Resolution Guidance**: Walks customers through complex troubleshooting with patience and clarity, adapting to their technical skill level
5. **Proactive Follow-Through**: Schedules check-ins, creates detailed case notes, and ensures resolution satisfaction through multiple touchpoints
6. **Continuous Learning Integration**: Captures interaction insights to improve future support quality and identify product improvement opportunities
## Benefits
* **Customer Loyalty Acceleration**: Transform support interactions into relationship-building opportunities that increase customer lifetime value
* **Support Cost Optimization**: Reduce support team overhead by 60% while improving first-call resolution rates
* **Brand Reputation Enhancement**: Consistent, professional support experiences that strengthen brand perception and customer trust
* **Infinite Support Scalability**: Handle peak support volumes during product launches, outages, or seasonal spikes without quality degradation
* **Customer Success Intelligence**: Generate actionable insights about product pain points, feature requests, and customer journey optimization opportunities
* **Agent Productivity Amplification**: Free human agents to focus on complex, high-value customer relationships while AI handles routine inquiries
## Industries & Applications
* **Enterprise Software**: Support complex B2B implementations, API integrations, user training, and enterprise account management
* **Digital Commerce Platforms**: Manage marketplace disputes, seller support, payment processing issues, and cross-border transaction assistance
* **Healthcare Technology**: Handle HIPAA-compliant patient communications, telehealth support, medical device troubleshooting, and insurance coordination
* **Fintech & Banking**: Provide fraud prevention support, mobile app assistance, investment guidance, and regulatory compliance communications
* **Cloud Infrastructure**: Support DevOps teams with service outages, billing optimization, security configurations, and performance troubleshooting
* **EdTech Platforms**: Assist students and educators with learning management systems, course access, certification processes, and technical training
## Getting Started
Transform every customer interaction into an opportunity for excellence. Deploy this intelligent support agent configured with your unique knowledge base, brand voice, and escalation workflows to deliver the kind of exceptional service that customers remember and recommend. Your support team becomes a competitive advantage, not just a cost center.
Start using the Customer Support Agent template in your Bolna dashboard
## Next steps
Ready to revolutionize your customer support? Import this agent and customize it for your support needs:
* [Import the Customer Support Agent](https://bolna.ai/a/4f0d937f-3d07-479b-9352-9f3271285d8a) to your Bolna dashboard
* Configure [agent prompts](/agent-setup/agent-tab) with your knowledge base and support scripts
* Set up [data extraction](/call-details) to capture issues and route tickets automatically
* Add [call transfers](/tool-calling/transfer-calls) for seamless human agent handoffs
* Review [inbound calling setup](/receiving-incoming-calls) to handle customer calls
For more use cases, explore other agent templates in the [Agents Library](/agents-library).
## Related Agents
* [Front Desk Agent](/voice-agents/front-desk-agent) - Coordinate seamless handoffs between reception and specialized support for complex service requests
* [Onboarding Agent](/voice-agents/onboarding-agent) - Bridge new customer welcome experiences with ongoing support relationships for long-term success
* [Surveys Agent](/voice-agents/surveys-agent) - Capture detailed feedback from support interactions to continuously improve service quality and customer satisfaction
# Front Desk Agent - AI-Powered Reception & Scheduling
Source: https://www.bolna.ai/docs/voice-agents/front-desk-agent
Answers every call to handle clinic, hotel, and office scheduling. Automate front desk operations with intelligent voice conversations in English.
## Overview
Create an exceptional first impression with our Front Desk Agent - a sophisticated AI receptionist that embodies your brand's professionalism while delivering flawless customer service around the clock. This intelligent system goes beyond basic call answering to become the welcoming face of your organization, managing complex scheduling, providing detailed information, and ensuring every caller feels valued and heard. Your virtual front desk never takes a sick day, never has a bad mood, and always represents your business at its absolute best.
## Key Features
* **Intelligent Call Orchestration**: Analyzes caller intent, urgency, and history to provide personalized greetings and appropriate service routing
* **Advanced Scheduling Intelligence**: Manages complex appointment types, provider preferences, buffer times, and scheduling conflicts with sophisticated optimization
* **Brand Voice Consistency**: Maintains your organization's unique tone, terminology, and service standards across every interaction
* **Multilingual Communication Excellence**: Delivers native-level English service with cultural sensitivity and professional communication standards
* **Dynamic Information Hub**: Provides real-time updates on services, pricing, availability, and business information with accuracy and enthusiasm
* **Seamless Integration Architecture**: Connects with CRM systems, scheduling platforms, payment processors, and communication tools for unified operations
## Use Cases
* **Healthcare Practice Management**: Coordinate multi-provider schedules, insurance verification, patient intake, and emergency appointment handling
* **Hospitality Guest Relations**: Manage reservations, concierge services, special requests, and guest experience coordination
* **Professional Services Coordination**: Handle consultation scheduling, project intake, client communications, and resource allocation
* **Wellness & Beauty Service Management**: Coordinate treatment bookings, therapist matching, package sales, and client relationship management
* **Legal Practice Administration**: Manage attorney calendars, client intake, case scheduling, and confidential communication handling
* **Corporate Reception Services**: Handle visitor management, meeting coordination, internal communications, and executive scheduling support
## How It Works
1. **Personalized Call Welcome**: Greets callers with customized messaging that reflects your brand personality and acknowledges their relationship with your organization
2. **Intelligent Needs Analysis**: Uses conversational AI to understand complex requests, multiple appointment needs, and specific service requirements
3. **Optimized Scheduling Coordination**: Balances provider availability, client preferences, service duration, and operational constraints for optimal appointment placement
4. **Comprehensive Information Concierge**: Delivers detailed service explanations, pricing information, preparation instructions, and location guidance with enthusiasm
5. **Strategic Call Management**: Routes complex inquiries to appropriate specialists while maintaining conversation context and caller satisfaction
6. **Proactive Relationship Building**: Schedules follow-up communications, sends personalized confirmations, and maintains ongoing client engagement
## Benefits
* **Reception Excellence Without Overhead**: Eliminate staffing costs, training expenses, and coverage gaps while delivering superior service quality
* **Revenue Opportunity Maximization**: Capture every potential appointment, inquiry, and service request with 24/7 availability and professional handling
* **Brand Reputation Amplification**: Ensure every caller experiences your organization's values and professionalism through consistent, exceptional service
* **Operational Efficiency Transformation**: Streamline scheduling, reduce no-shows, optimize provider utilization, and eliminate administrative bottlenecks
* **Customer Satisfaction Leadership**: Provide immediate, knowledgeable responses that exceed caller expectations and build lasting relationships
* **Business Growth Enablement**: Scale reception capabilities instantly during peak periods, marketing campaigns, or business expansion without quality compromise
## Getting Started
Transform your front desk operations with AI-powered reception services. Import this agent template and customize it for your specific business type, services, and scheduling requirements.
Start using the Front Desk Agent template in your Bolna dashboard
## Next steps
Ready to elevate your front desk operations? Import this agent and customize it for your business:
* [Import the Front Desk Agent](https://bolna.ai/a/7c33502d-e8b1-4d21-9c41-db745416d802) to your Bolna dashboard
* Configure [agent prompts](/agent-setup/agent-tab) with your services, pricing, and scheduling rules
* Set up [custom functions](/tool-calling/custom-function-calls) for calendar and CRM integration
* Add [call transfers](/tool-calling/transfer-calls) for complex inquiries requiring human assistance
* Review [inbound calling setup](/receiving-incoming-calls) to route calls to your agent
For more use cases, explore other agent templates in the [Agents Library](/agents-library).
## Related Agents
* [Dentist Appointment Agent](/voice-agents/dentist-appointment-agent) - Specialized for dental practice scheduling
* [Salon Booking Agent](/voice-agents/salon-booking-agent) - Specialized for beauty salon appointments
* [Reminders Agent](/voice-agents/reminders-agent) - For automated appointment reminders and follow-ups
# Lead Qualification Agent - Sales Screening
Source: https://www.bolna.ai/docs/voice-agents/lead-qualification-agent
Calls every lead to ask qualifying questions, answer FAQs, and warmly introduce the business. Automate lead qualification in Hindi.
## Overview
Supercharge your sales pipeline with our Lead Qualification Agent - a sophisticated AI prospector that transforms cold leads into hot opportunities through strategic conversation and intelligent assessment. This system doesn't just collect information; it builds rapport, uncovers pain points, and identifies buying signals that human sales teams often miss. By engaging prospects when they're most receptive, this agent ensures your sales team spends time with qualified buyers, not tire-kickers.
## Key Features
* **Rapid Response Engagement**: Contacts inbound leads within minutes of inquiry to maximize conversion potential during peak interest moments
* **Advanced Qualification Methodology**: Employs MEDDIC, BANT, and custom qualification frameworks to assess prospect fit and buying readiness
* **Pain Point Discovery Engine**: Uses consultative questioning techniques to uncover business challenges and quantify potential solution value
* **Decision-Maker Identification**: Maps organizational structure and identifies key stakeholders in the buying process
* **Competitive Intelligence Gathering**: Discovers current solutions, vendor relationships, and competitive evaluation criteria
* **Pipeline Velocity Optimization**: Prioritizes leads based on buying timeline, budget authority, and implementation urgency for maximum sales efficiency
## Use Cases
* **Enterprise Software Sales**: Qualify complex B2B deals involving multiple stakeholders, lengthy sales cycles, and significant implementation requirements
* **Professional Services Consulting**: Screen potential clients for project fit, budget alignment, and engagement scope before expensive proposal development
* **High-Ticket Consumer Sales**: Qualify luxury purchases, investment products, and premium services where personal consultation drives decision-making
* **Channel Partner Recruitment**: Evaluate potential resellers, distributors, and strategic partners for business development opportunities
* **Event & Conference Sales**: Qualify corporate sponsors, exhibitors, and premium attendees for high-value event participation
* **Franchise Development**: Screen potential franchisees for financial qualification, market fit, and operational readiness
## How It Works
1. **Multi-Source Lead Aggregation**: Consolidates prospects from website forms, trade shows, content downloads, and referral programs into unified qualification workflows
2. **Strategic Prospect Engagement**: Initiates conversations with personalized messaging that references specific interests and demonstrates industry knowledge
3. **Consultative Discovery Process**: Conducts in-depth business needs analysis to understand current challenges, desired outcomes, and success metrics
4. **Stakeholder Mapping & Influence Analysis**: Identifies decision-makers, influencers, and potential champions within the prospect organization
5. **Opportunity Sizing & Timeline Assessment**: Quantifies potential deal value, implementation timeline, and competitive landscape dynamics
6. **Intelligent Sales Handoff**: Provides comprehensive prospect profiles with conversation summaries, pain points, and recommended next steps for sales team success
## Benefits
* **Sales Velocity Acceleration**: Increase qualified opportunity flow by 300% through immediate lead engagement and systematic qualification processes
* **Revenue Predictability Enhancement**: Improve sales forecasting accuracy with consistent lead scoring and pipeline quality metrics
* **Sales Team ROI Maximization**: Enable sales professionals to focus exclusively on high-probability deals with pre-qualified buying intent
* **Market Intelligence Amplification**: Gather competitive insights, pricing sensitivity data, and market trends from every prospect conversation
* **Customer Acquisition Cost Optimization**: Reduce CAC by 40% through improved lead-to-customer conversion rates and shortened sales cycles
* **Scalable Growth Foundation**: Build repeatable qualification processes that maintain quality standards regardless of lead volume fluctuations
## Getting Started
Transform every lead into a qualified opportunity with intelligent, systematic qualification that identifies genuine buyers and eliminates time-wasters. Deploy this agent with your unique qualification criteria and watch your sales team's productivity soar as they focus on prospects ready to buy.
Start using the Lead Qualification Agent template in your Bolna dashboard
## Next steps
Ready to accelerate your sales pipeline? Import this agent and customize it for your qualification process:
* [Import the Lead Qualification Agent](https://bolna.ai/a/a8ff62ed-a86e-4881-80cd-5593d1391afb) to your Bolna dashboard
* Configure [agent prompts](/agent-setup/agent-tab) with your BANT or MEDDIC qualification criteria
* Set up [data extraction](/call-details) to capture lead scores and buying signals
* Add [custom functions](/tool-calling/custom-function-calls) for CRM integration
* Review [batch calling](/batch-calling) for high-volume lead outreach campaigns
For more sales use cases, explore other agent templates in the [Agents Library](/agents-library).
## Related Agents
* [Property Tech Agent](/voice-agents/property-tech-agent) - Apply specialized qualification techniques for real estate and property investment opportunities
* [Sales - Loans Agent](/voice-agents/sales-loans-agent) - Extend qualification methodologies to financial products and lending services
* [Cart Abandonment Agent](/voice-agents/cart-abandonment-agent) - Use similar persuasion and qualification techniques for e-commerce recovery
# Onboarding Agent - User Guidance and Welcome
Source: https://www.bolna.ai/docs/voice-agents/onboarding-agent
Conducts personalized guidance calls to warmly onboard users. Automate user onboarding with intelligent voice conversations in English.
## Overview
Transform first impressions into lasting relationships with our Onboarding Agent - a welcoming AI guide that turns overwhelming new user experiences into confident, successful journeys. This intelligent system doesn't just provide information; it creates emotional connections, builds confidence, and ensures every new customer, employee, or user feels valued and supported from day one. By personalizing each onboarding experience, this agent dramatically improves adoption rates and long-term engagement.
## Key Features
* **Adaptive Welcome Orchestration**: Creates personalized onboarding journeys based on user role, experience level, and specific use case requirements
* **Interactive Learning Facilitation**: Guides users through hands-on product exploration with real-time feedback and encouragement
* **Success Milestone Celebration**: Recognizes achievements and progress to build confidence and maintain engagement throughout the onboarding process
* **Proactive Obstacle Resolution**: Identifies common stumbling blocks and provides preemptive guidance to prevent user frustration and abandonment
* **Cultural Sensitivity Integration**: Adapts communication style and pacing to match user preferences and cultural expectations
* **Seamless Human Handoff Coordination**: Intelligently escalates complex questions to subject matter experts while maintaining conversation context and continuity
## Use Cases
* **Enterprise Software Adoption**: Guide new users through complex platform configurations, integrations, and workflow setup for maximum value realization
* **Financial Services Client Onboarding**: Walk new account holders through compliance requirements, product features, and digital banking setup
* **Healthcare Patient Onboarding**: Orient new patients to telehealth platforms, appointment systems, and care coordination processes
* **Remote Employee Integration**: Welcome distributed team members with company culture introduction, tool training, and relationship building
* **Subscription Service Activation**: Help new subscribers discover premium features, customize preferences, and maximize service value
* **Educational Platform Orientation**: Guide learners through course navigation, study tools, and community resources for academic success
## How It Works
1. **Personalized Welcome Orchestration**: Initiates warm, personalized contact that makes new users feel valued and sets positive expectations for their journey
2. **Goal-Oriented Discovery**: Conducts conversational interviews to understand user objectives, success metrics, and potential challenges
3. **Customized Learning Path Creation**: Develops individualized onboarding sequences that match user experience level, role requirements, and time constraints
4. **Interactive Skill Building**: Facilitates hands-on learning experiences with real-time coaching and positive reinforcement
5. **Continuous Progress Assessment**: Monitors engagement levels, completion rates, and comprehension to adapt guidance in real-time
6. **Long-term Success Partnership**: Establishes ongoing support relationships with scheduled check-ins and proactive assistance for sustained user success
## Benefits
* **User Success Acceleration**: Increase feature adoption by 250% and reduce time-to-value from weeks to days through guided, personalized experiences
* **Retention Rate Optimization**: Boost 90-day retention rates by 40% through confidence-building onboarding that creates emotional investment in success
* **Support Ticket Reduction**: Decrease onboarding-related support requests by 60% through proactive guidance and comprehensive initial training
* **Customer Lifetime Value Enhancement**: Establish strong foundation relationships that lead to higher engagement, expansion, and advocacy over time
* **Onboarding Cost Efficiency**: Reduce per-user onboarding costs by 70% while improving experience quality and consistency
* **Organizational Learning Intelligence**: Generate insights about user behavior patterns, common challenges, and optimization opportunities for continuous improvement
## Getting Started
Transform new user experiences from overwhelming to empowering with personalized onboarding that builds confidence and drives success. Deploy this agent with your unique onboarding workflow to create lasting first impressions that turn new users into loyal advocates.
Start using the Onboarding Agent template in your Bolna dashboard
## Next steps
Ready to transform your onboarding experience? Import this agent and customize it for your users:
* [Import the Onboarding Agent](https://bolna.ai/a/3f5b1997-17cc-4a14-9e02-a90ba0dfeb5c) to your Bolna dashboard
* Configure [agent prompts](/agent-setup/agent-tab) with your product features and success criteria
* Set up [data extraction](/call-details) to track onboarding progress and completion
* Add [custom functions](/tool-calling/custom-function-calls) for account setup and feature activation
* Review [batch calling](/batch-calling) for proactive outreach to new users
For more use cases, explore other agent templates in the [Agents Library](/agents-library).
## Related Agents
* [Recruitment Agent](/voice-agents/recruitment-agent) - Seamlessly transition new hires from recruitment to comprehensive onboarding and orientation programs
* [Customer Support Agent](/voice-agents/customer-support-agent) - Bridge onboarding experiences with ongoing support relationships for long-term user success
* [Announcements Agent](/voice-agents/announcements-agent) - Introduce new features and updates to recently onboarded users for continued engagement
# Property Tech Agent - Real Estate Leads
Source: https://www.bolna.ai/docs/voice-agents/property-tech-agent
Lead Qualification of Owner or Broker and asks further details about property. Automate real estate lead qualification and property information collection.
## Overview
Revolutionize your real estate business with our Property Tech Agent - a sophisticated AI specialist that transforms cold property leads into qualified opportunities through strategic conversation and market intelligence. This system doesn't just collect basic information; it uncovers investment motivations, identifies decision-makers, and builds the foundation for successful real estate transactions. By combining market knowledge with persuasive communication, this agent turns every property inquiry into a potential deal.
## Key Features
* **Intelligent Stakeholder Identification**: Distinguishes between property owners, brokers, investors, and end-users to tailor conversation strategies appropriately
* **Comprehensive Property Intelligence**: Collects detailed property specifications, market conditions, pricing expectations, and transaction timelines
* **Financial Qualification Mastery**: Assesses buying power, financing readiness, investment criteria, and budget parameters for accurate lead scoring
* **Market Insight Generation**: Gathers competitive intelligence, pricing trends, and local market conditions from every conversation
* **Relationship Mapping**: Identifies decision-makers, influencers, and key stakeholders in complex real estate transactions
* **Opportunity Pipeline Management**: Prioritizes leads based on transaction probability, timeline urgency, and revenue potential
## Use Cases
* **Luxury Real Estate Qualification**: Handle high-net-worth clients seeking premium properties with sophisticated needs assessment and white-glove service
* **Commercial Property Development**: Qualify business buyers, investors, and developers for office buildings, retail spaces, and industrial properties
* **Residential Investment Analysis**: Screen real estate investors for rental properties, fix-and-flip opportunities, and portfolio expansion
* **International Property Sales**: Handle cross-border real estate transactions with currency, legal, and cultural considerations
* **New Development Pre-Sales**: Qualify buyers for off-plan properties, condominiums, and residential developments before construction completion
* **Distressed Property Acquisition**: Identify motivated sellers, foreclosure opportunities, and quick-sale situations for investment buyers
## How It Works
1. **Strategic Lead Engagement**: Initiates contact with market-specific messaging that demonstrates local expertise and builds immediate credibility
2. **Sophisticated Stakeholder Analysis**: Identifies decision-makers, investment criteria, and transaction motivations through consultative questioning
3. **Comprehensive Property Assessment**: Gathers detailed property information, market conditions, and valuation expectations for accurate opportunity evaluation
4. **Financial Capability Evaluation**: Assesses financing readiness, investment capacity, and transaction timeline to prioritize high-probability deals
5. **Market Intelligence Collection**: Captures competitive insights, pricing trends, and local market dynamics from every conversation
6. **Opportunity Advancement Strategy**: Schedules appropriate next steps including property tours, market analysis presentations, or investment consultations
## Benefits
* **Deal Pipeline Acceleration**: Increase qualified opportunity flow by 300% through systematic lead qualification and market intelligence gathering
* **Commission Revenue Optimization**: Focus on high-value transactions with pre-qualified buyers and sellers who are ready to transact
* **Market Expertise Amplification**: Gather competitive intelligence and pricing insights that position you as the local market authority
* **Client Relationship Foundation**: Build trust and credibility through professional, knowledgeable initial interactions that set the stage for successful transactions
* **Operational Efficiency Maximization**: Eliminate time wasted on unqualified leads while ensuring no genuine opportunities are missed
* **Competitive Advantage Creation**: Respond to leads faster and more professionally than competitors while gathering superior market intelligence
## Getting Started
Streamline your real estate lead qualification and property information collection with intelligent automation. Import this agent template and customize it for your specific real estate market and business requirements.
Start using the Property Tech Agent template in your Bolna dashboard
## Related Agents
* [Lead Qualification Agent](/voice-agents/lead-qualification-agent) - For general lead qualification across industries
* [Front Desk Agent](/voice-agents/front-desk-agent) - For scheduling property viewings and appointments
* [Surveys Agent](/voice-agents/surveys-agent) - For collecting client satisfaction and market feedback
# AI-Powered Recruitment Screening & Interviewing
Source: https://www.bolna.ai/docs/voice-agents/recruitment-agent
AI agents that screen, interview, and onboard candidates at scale. Automate your hiring process with intelligent voice conversations in English.
## Overview
Transform your talent acquisition strategy with our Recruitment Agent - a sophisticated voice AI that revolutionizes how organizations discover, evaluate, and secure top talent. Unlike traditional hiring methods that rely on manual screening and scheduling bottlenecks, this advanced system conducts comprehensive candidate assessments through natural conversations, dramatically accelerating your time-to-hire while ensuring no qualified applicant slips through the cracks.
## Key Features
* **Intelligent Talent Screening**: Employs advanced conversational AI to conduct thorough candidate evaluations using behavioral and competency-based questioning
* **Dynamic Interview Orchestration**: Adapts interview flow based on role requirements and candidate responses for deeper insights
* **Seamless Talent Pipeline Integration**: Connects directly with ATS systems and HR workflows for streamlined candidate management
* **Global Talent Reach**: English-language capability enables international recruitment across diverse markets
* **Round-the-Clock Candidate Engagement**: Eliminates geographical and temporal barriers in talent acquisition
* **Comprehensive Candidate Profiling**: Builds detailed talent profiles with skills assessment, cultural fit analysis, and growth potential indicators
## Use Cases
* **Startup Scaling**: Rapidly build teams during growth phases without overwhelming HR resources
* **Enterprise Volume Hiring**: Process hundreds of applications for seasonal, graduate, or expansion hiring programs
* **Technical Role Assessment**: Evaluate software engineers, data scientists, and technical specialists through structured competency discussions
* **Global Remote Recruitment**: Conduct consistent interviews across time zones for distributed teams
* **Diversity & Inclusion Enhancement**: Eliminate unconscious bias through standardized, objective evaluation processes
* **Executive Search Support**: Pre-qualify senior-level candidates before engaging expensive executive search firms
## How It Works
1. **Candidate Outreach**: Initiates personalized contact with applicants, introducing your company culture and opportunity details
2. **Dynamic Qualification**: Conducts adaptive conversations that explore experience, motivations, and career aspirations beyond basic requirements
3. **Competency Deep-Dive**: Facilitates behavioral interviews using STAR methodology to assess past performance and future potential
4. **Technical Evaluation**: Guides candidates through role-specific scenarios and problem-solving discussions
5. **Cultural Alignment Assessment**: Evaluates values alignment and team fit through targeted questioning
6. **Talent Intelligence Reporting**: Generates comprehensive candidate scorecards with hiring recommendations and development insights
## Benefits
* **Recruitment ROI Maximization**: Slash hiring costs by 70% while improving candidate quality through intelligent pre-screening
* **Bias-Free Talent Evaluation**: Eliminate subjective hiring decisions with objective, criteria-based assessments
* **Accelerated Hiring Velocity**: Reduce time-to-fill from weeks to days through parallel candidate processing
* **Unlimited Recruitment Capacity**: Scale interviewing capability instantly during high-demand periods without additional headcount
* **Strategic Hiring Intelligence**: Access rich candidate analytics and market insights to refine recruitment strategies
* **Premium Candidate Journey**: Deliver exceptional applicant experiences that strengthen your employer brand
## Industries & Applications
* **Technology & Software**: Evaluate full-stack developers, DevOps engineers, product managers, and emerging tech specialists
* **Healthcare & Life Sciences**: Screen clinical professionals, healthcare administrators, research scientists, and medical device specialists
* **Financial Services**: Assess investment advisors, risk analysts, compliance officers, and fintech innovators
* **Professional Services**: Evaluate consultants, project managers, business analysts, and client relationship specialists
* **Manufacturing & Engineering**: Screen process engineers, quality assurance specialists, operations managers, and technical supervisors
* **Sales & Marketing**: Assess account executives, digital marketers, business development representatives, and customer success managers
## Getting Started
Revolutionize your talent acquisition strategy with AI-powered recruitment that never sleeps. Configure this agent with your unique hiring criteria, company values, and role-specific requirements to start building your dream team today. Our recruitment AI adapts to your organization's culture and standards, ensuring every candidate interaction reflects your brand excellence.
Start using the Recruitment Agent template in your Bolna dashboard
## Next steps
Ready to transform your recruitment process? Import this agent and customize it for your hiring needs:
* [Import the Recruitment Agent](https://bolna.ai/a/9a2faf53-00b8-4213-8f8c-cad6011d9f9b) to your Bolna dashboard
* Configure [agent prompts](/agent-setup/agent-tab) to match your company culture and role requirements
* Set up [data extraction](/call-details) to capture candidate information for your ATS
* Add [custom functions](/tool-calling/custom-function-calls) for calendar integration and interview scheduling
* Review [batch calling](/batch-calling) for high-volume candidate outreach campaigns
For more use cases, explore other agent templates in the [Agents Library](/agents-library).
## Related Agents
* [Onboarding Agent](/voice-agents/onboarding-agent) - Seamlessly transition new hires with personalized welcome experiences and comprehensive orientation programs
* [Lead Qualification Agent](/voice-agents/lead-qualification-agent) - Apply similar qualification methodologies to sales prospect evaluation and business development
* [Customer Support Agent](/voice-agents/customer-support-agent) - Provide exceptional candidate support throughout the application process with intelligent query resolution
# Reminders Agent - EMI and Collections
Source: https://www.bolna.ai/docs/voice-agents/reminders-agent
Automates all reminders, from EMIs and collections to form filling deadlines. Streamline reminder communications with intelligent voice calls.
## Overview
Never let another payment, deadline, or appointment slip through the cracks with our Reminders Agent - a persistent yet professional AI assistant that transforms forgetful customers into reliable payers. This intelligent system understands the delicate balance between persistence and politeness, using psychological principles and compliance best practices to motivate action without damaging relationships. Every reminder becomes an opportunity to strengthen customer relationships while protecting your revenue.
## Key Features
* **Behavioral Psychology Integration**: Employs proven psychological triggers including urgency, social proof, and loss aversion to motivate timely payments
* **Regulatory Compliance Automation**: Maintains strict adherence to FDCPA, TCPA, and regional collection regulations while maximizing collection effectiveness
* **Dynamic Escalation Intelligence**: Adapts reminder intensity, frequency, and messaging based on customer payment history and response patterns
* **Multi-Channel Coordination**: Orchestrates voice reminders with SMS, email, and postal communications for comprehensive outreach campaigns
* **Payment Facilitation Integration**: Provides immediate payment options, installment plans, and financial assistance during reminder conversations
* **Relationship Preservation Focus**: Maintains positive customer relationships through respectful, helpful communication that builds trust rather than resentment
## Use Cases
* **Consumer Finance Management**: Automate loan payments, credit card reminders, and installment collections with empathetic, solution-focused communication
* **Healthcare Revenue Cycle**: Manage patient payment plans, insurance copays, and medical bill collections while maintaining care relationships
* **Subscription & Membership Retention**: Prevent involuntary churn through proactive payment failure notifications and recovery assistance
* **Utility & Service Collections**: Handle overdue accounts for telecommunications, utilities, and essential services with customer-centric approaches
* **Small Business Receivables**: Collect outstanding invoices, overdue payments, and contract obligations while preserving business relationships
* **Government & Municipal Collections**: Manage tax collections, fine payments, and civic obligations with respectful, informative communication
## How It Works
1. **Intelligent Reminder Orchestration**: Analyzes customer behavior patterns, payment history, and communication preferences to optimize reminder timing and approach
2. **Empathetic Customer Engagement**: Initiates conversations with understanding and support, acknowledging potential financial challenges while emphasizing solutions
3. **Real-Time Status Intelligence**: Verifies current payment status, account changes, and customer circumstances before initiating reminder communications
4. **Progressive Intervention Strategy**: Escalates reminder intensity through carefully calibrated stages that maintain compliance while increasing motivation
5. **Solution-Oriented Assistance**: Offers payment plans, hardship programs, and alternative arrangements that help customers succeed while protecting revenue
6. **Comprehensive Documentation Management**: Maintains detailed interaction records, compliance logs, and outcome tracking for legal protection and process optimization
## Benefits
* **Revenue Recovery Maximization**: Increase collection rates by 45% through strategic, psychology-based reminder campaigns that motivate payment action
* **Customer Relationship Preservation**: Maintain positive relationships during collection processes through respectful, solution-focused communication approaches
* **Compliance Risk Elimination**: Ensure 100% regulatory compliance with automated documentation, call recording, and legal requirement adherence
* **Operational Cost Reduction**: Reduce collection costs by 65% while improving recovery rates through intelligent automation and targeted outreach
* **Cash Flow Predictability**: Improve payment timing consistency and reduce days sales outstanding through proactive reminder management
* **Customer Insight Generation**: Gather valuable data about payment behaviors, financial challenges, and customer preferences for strategic decision-making
## Getting Started
Automate your reminder communications and improve payment collection rates with intelligent, compliant reminder management. Import this agent template and customize it for your specific reminder needs and compliance requirements.
Start using the Reminders Agent template in your Bolna dashboard
## Related Agents
* [COD Confirmation Agent](/voice-agents/cod-confirmation-agent) - For delivery and payment confirmations
* [Customer Support Agent](/voice-agents/customer-support-agent) - For handling payment-related inquiries
* [Front Desk Agent](/voice-agents/front-desk-agent) - For appointment reminder coordination
# Sales Credit Card Agent - Hindi Sales
Source: https://www.bolna.ai/docs/voice-agents/sales-credit-card-agent
Sales agent for credit cards (Hindi); Helps fintech companies sell credit cards. Automate credit card sales with intelligent Hindi conversations.
## Overview
Accelerate your credit card acquisition with our Sales Credit Card Agent - a culturally intelligent AI specialist that speaks fluent Hindi and understands the unique financial landscape of Indian consumers. This sophisticated system doesn't just pitch products; it builds trust, addresses cultural concerns, and guides customers through financial decisions with empathy and expertise. Every conversation becomes an opportunity to improve someone's financial life while growing your business.
## Key Features
* **Cultural Financial Intelligence**: Understands Indian family financial dynamics, joint decision-making, and cultural attitudes toward credit and debt
* **Comprehensive Product Mastery**: Expert knowledge of rewards programs, cashback structures, annual fees, and competitive positioning across the Indian market
* **Sophisticated Risk Assessment**: Evaluates creditworthiness using traditional and alternative data sources while respecting privacy and cultural sensitivities
* **Trust-Building Communication**: Uses culturally appropriate language, references, and examples that resonate with Indian consumers
* **Regulatory Excellence**: Maintains strict compliance with RBI guidelines, fair lending practices, and consumer protection regulations
* **Financial Education Integration**: Provides valuable financial literacy guidance alongside product sales to build long-term customer relationships
## Use Cases
* **Digital Banking Expansion**: Help neo-banks and fintech companies penetrate Hindi-speaking markets with culturally relevant credit products
* **Traditional Bank Modernization**: Enable established banks to reach younger, tech-savvy Hindi-speaking customers through intelligent automation
* **Rural Market Penetration**: Extend credit card access to tier-2 and tier-3 cities where Hindi is the primary language of financial communication
* **Millennial Financial Inclusion**: Target young professionals and entrepreneurs who prefer Hindi communication for financial decisions
* **Cross-Border Remittance Services**: Offer credit solutions to NRI families and international money transfer customers
* **Small Business Credit Solutions**: Provide business credit cards to Hindi-speaking entrepreneurs and small business owners
## How It Works
1. **Culturally Sensitive Outreach**: Initiates conversations with appropriate greetings, cultural references, and respect for family financial dynamics
2. **Comprehensive Lifestyle Analysis**: Understands spending patterns, family obligations, career aspirations, and financial goals through empathetic dialogue
3. **Holistic Eligibility Assessment**: Evaluates not just income but also family support, job stability, and long-term financial potential
4. **Personalized Product Curation**: Recommends credit cards that align with cultural values, spending habits, and financial objectives
5. **Educational Benefit Communication**: Explains features using relatable examples, cultural contexts, and practical scenarios
6. **Supportive Application Guidance**: Provides step-by-step assistance with documentation, verification, and approval processes
## Benefits
* **Market Share Expansion**: Capture significant Hindi-speaking market segments that competitors struggle to reach effectively
* **Cultural Trust Building**: Establish deep customer relationships through culturally intelligent communication that respects Indian values
* **Conversion Rate Optimization**: Achieve 40% higher conversion rates through native-language sales that address cultural concerns
* **Customer Lifetime Value Enhancement**: Build long-term relationships that lead to cross-selling opportunities and customer advocacy
* **Operational Cost Reduction**: Reduce sales acquisition costs by 50% while improving customer experience and satisfaction
* **Regulatory Risk Mitigation**: Ensure complete compliance with Indian financial regulations while maintaining competitive sales practices
## Getting Started
Accelerate your credit card sales in the Hindi-speaking market with intelligent, culturally-aware sales automation. Import this agent template and customize it for your specific credit card products and target customer segments.
Start using the Sales - Credit Card Agent template in your Bolna dashboard
## Related Agents
* [Sales - Loans Agent](/voice-agents/sales-loans-agent) - For comprehensive financial product sales
* [Lead Qualification Agent](/voice-agents/lead-qualification-agent) - For pre-qualifying financial service prospects
* [Customer Support Agent](/voice-agents/customer-support-agent) - For post-sales customer support and service
# Sales Loans Agent - Hindi Loan Sales Automation
Source: https://www.bolna.ai/docs/voice-agents/sales-loans-agent
Sales agent for Loans (Hindi); Helps fintech companies sell loans. Automate loan sales with intelligent Hindi conversations and financial expertise.
## Overview
Empower financial dreams with our Sales Loans Agent - a trusted AI financial advisor that speaks fluent Hindi and understands the aspirations of Indian borrowers. This intelligent system doesn't just sell loans; it becomes a financial partner that helps customers achieve their goals while navigating complex lending decisions with confidence. By combining cultural sensitivity with financial expertise, this agent transforms loan applications into life-changing opportunities.
## Key Features
* **Empathetic Financial Counseling**: Understands personal dreams, family obligations, and financial aspirations that drive borrowing decisions
* **Comprehensive Lending Expertise**: Master-level knowledge of personal loans, business financing, home loans, education funding, and specialized credit products
* **Holistic Financial Evaluation**: Assesses not just current income but future potential, family support, and long-term financial stability
* **Cultural Sensitivity Integration**: Respects Indian family financial dynamics, joint decision-making, and cultural attitudes toward debt and investment
* **Regulatory Excellence Assurance**: Maintains strict adherence to RBI guidelines, fair lending practices, and consumer protection standards
* **Financial Literacy Empowerment**: Educates customers about loan terms, financial planning, and responsible borrowing practices
## Use Cases
* **Dream Home Financing**: Help families achieve homeownership through personalized home loan solutions with cultural understanding of joint family needs
* **Education Investment Facilitation**: Support parents and students in funding higher education, professional courses, and skill development programs
* **Business Growth Enablement**: Empower entrepreneurs and small business owners with working capital, expansion loans, and MSME financing
* **Emergency Financial Support**: Provide quick personal loans for medical emergencies, family obligations, and unexpected financial needs
* **Vehicle Purchase Assistance**: Facilitate car and two-wheeler purchases that improve family mobility and economic opportunities
* **Agricultural & Rural Financing**: Support farmers and rural entrepreneurs with specialized loan products designed for agricultural and rural needs
## How It Works
1. **Aspirational Discovery**: Engages customers in meaningful conversations about their dreams, goals, and financial aspirations that require funding
2. **Comprehensive Financial Counseling**: Analyzes complete financial picture including income, expenses, family obligations, and future earning potential
3. **Personalized Solution Architecture**: Designs loan structures that align with customer cash flows, family dynamics, and long-term financial goals
4. **Educational Empowerment**: Explains loan terms, interest calculations, and repayment strategies using simple, culturally relevant examples
5. **Trust-Building Transparency**: Provides complete disclosure of costs, terms, and obligations while addressing cultural concerns about debt
6. **Supportive Application Partnership**: Guides customers through documentation, verification, and approval processes with patience and cultural sensitivity
## Benefits
* **Financial Inclusion Advancement**: Extend credit access to underserved Hindi-speaking populations who struggle with English-only financial services
* **Customer Trust & Loyalty Building**: Establish deep, long-term relationships through culturally intelligent communication and genuine financial partnership
* **Conversion Excellence**: Achieve 50% higher loan approval rates through better customer preparation and culturally appropriate sales approaches
* **Risk Management Optimization**: Reduce default rates through better customer education, appropriate loan sizing, and cultural understanding
* **Market Leadership Establishment**: Become the preferred lender for Hindi-speaking customers through superior service and cultural competence
* **Sustainable Growth Creation**: Build a loyal customer base that generates referrals, repeat business, and long-term portfolio growth
## Getting Started
Transform your loan sales operations with intelligent, Hindi-language automation designed for the Indian lending market. Import this agent template and customize it for your specific loan products, target segments, and business requirements.
Start using the Sales - Loans Agent template in your Bolna dashboard
## Related Agents
* [Sales - Credit Card Agent](/voice-agents/sales-credit-card-agent) - For comprehensive financial product sales
* [Lead Qualification Agent](/voice-agents/lead-qualification-agent) - For pre-qualifying loan prospects
* [Reminders Agent](/voice-agents/reminders-agent) - For EMI reminders and payment follow-ups
# Salon Booking Agent - Beauty Salon Front Desk Automation
Source: https://www.bolna.ai/docs/voice-agents/salon-booking-agent
Front Desk for Salon; Schedules appointment and collects information. Automate beauty salon scheduling and client information management.
## Overview
Elevate your beauty business with our Salon Booking Agent - a glamorous AI assistant that understands the artistry of beauty services and the importance of perfect timing. This intelligent system doesn't just schedule appointments; it matches clients with ideal stylists, recommends complementary services, and creates anticipation for transformative beauty experiences. Your salon becomes a destination where every booking conversation builds excitement and loyalty.
## Key Features
* **Artistic Service Orchestration**: Coordinates complex beauty treatments including color processing, styling, and multi-step procedures with precise timing
* **Stylist-Client Matching Intelligence**: Pairs clients with stylists based on expertise, personality fit, and service specialization for optimal results
* **Beauty Consultation Facilitation**: Conducts pre-appointment consultations to understand desired outcomes, lifestyle needs, and maintenance preferences
* **Luxury Experience Creation**: Uses sophisticated communication that reflects your salon's premium brand and creates anticipation for services
* **Service Enhancement Recommendations**: Suggests complementary treatments, products, and packages that enhance client results and increase revenue
* **VIP Client Recognition**: Identifies returning clients, remembers preferences, and provides personalized service that builds long-term loyalty
## Use Cases
* **High-End Hair Salon Management**: Coordinate complex color services, bridal styling, and celebrity-level treatments with precision timing and luxury service
* **Medical Spa Operations**: Schedule aesthetic treatments, laser services, and cosmetic procedures with medical consultation requirements
* **Wellness Retreat Coordination**: Manage holistic treatment packages, spa days, and wellness programs with multiple service components
* **Men's Grooming Establishments**: Handle traditional barbering, modern styling, and grooming packages with masculine-focused communication
* **Bridal Beauty Coordination**: Manage wedding party services, trial appointments, and day-of coordination for special events
* **Mobile Beauty Service Dispatch**: Coordinate in-home beauty services, location logistics, and equipment requirements for traveling stylists
## How It Works
1. **Beauty Vision Discovery**: Engages clients in detailed conversations about desired outcomes, inspiration images, and lifestyle considerations
2. **Expert Stylist Curation**: Matches clients with stylists based on technical expertise, artistic style, and personality compatibility
3. **Luxury Appointment Orchestration**: Coordinates appointment timing, service sequences, and preparation requirements for seamless experiences
4. **Personalized Service Planning**: Documents client preferences, allergies, and service history for consistent, customized experiences
5. **Premium Experience Preparation**: Provides pre-appointment guidance, service explanations, and expectation setting for optimal results
6. **Relationship Continuity Management**: Schedules maintenance appointments, seasonal treatments, and special occasion services to maintain client relationships
## Benefits
* **Revenue Per Client Maximization**: Increase average ticket size by 35% through intelligent service recommendations and package upselling
* **Stylist Productivity Optimization**: Eliminate scheduling gaps and maximize billable hours through intelligent appointment coordination
* **Client Loyalty Amplification**: Create exceptional booking experiences that build emotional connections and long-term client relationships
* **Premium Brand Positioning**: Reinforce luxury positioning through sophisticated communication that reflects your salon's high-end image
* **Operational Excellence Achievement**: Streamline complex scheduling while maintaining the personal touch that beauty clients expect
* **Competitive Differentiation**: Stand out in crowded beauty markets through superior customer service and professional booking experiences
## Getting Started
Elevate your salon's booking experience with specialized AI scheduling designed for beauty and wellness services. Import this agent template and customize it for your specific services, stylists, and client management needs.
Start using the Salon Booking Agent template in your Bolna dashboard
## Related Agents
* [Front Desk Agent](/voice-agents/front-desk-agent) - For general appointment scheduling across industries
* [Reminders Agent](/voice-agents/reminders-agent) - For appointment reminders and follow-up booking
* [Customer Support Agent](/voice-agents/customer-support-agent) - For handling client inquiries and service questions
# Surveys Agent - Automated NPS, Feedback & Product Surveys
Source: https://www.bolna.ai/docs/voice-agents/surveys-agent
Automated NPS, feedback & product surveys with detailed personalized questioning. Collect valuable customer insights through intelligent voice conversations.
## Overview
Unlock deep customer insights with our Surveys Agent - an engaging AI researcher that transforms mundane questionnaires into meaningful conversations that customers actually want to participate in. This intelligent system doesn't just collect data; it builds rapport, explores nuanced feedback, and uncovers actionable insights that drive business improvement. By making surveys feel like valued consultations rather than interruptions, this agent dramatically increases response rates and data quality.
## Key Features
* **Conversational Survey Intelligence**: Transforms rigid questionnaires into natural dialogues that encourage honest, detailed feedback through empathetic interaction
* **Adaptive Questioning Logic**: Dynamically adjusts survey flow based on responses, exploring interesting insights while respecting respondent time constraints
* **Multi-Dimensional Feedback Capture**: Collects quantitative ratings, qualitative insights, emotional sentiment, and behavioral indicators in single conversations
* **Real-Time Insight Generation**: Analyzes responses instantly to identify trends, outliers, and actionable feedback requiring immediate attention
* **Contextual Follow-Up Mastery**: Asks intelligent follow-up questions that uncover root causes, specific examples, and improvement suggestions
* **Enterprise Integration Excellence**: Synchronizes survey data with CRM systems, analytics platforms, and business intelligence tools for comprehensive insights
## Use Cases
* **Customer Experience Optimization**: Conduct post-interaction surveys that identify service gaps, process improvements, and satisfaction drivers
* **Product Development Research**: Gather detailed user feedback on features, usability, and enhancement priorities for roadmap planning
* **Brand Perception Analysis**: Explore customer attitudes, brand associations, and competitive positioning through conversational market research
* **Employee Engagement Assessment**: Conduct confidential workplace satisfaction surveys that encourage honest feedback and improvement suggestions
* **Event & Training Effectiveness**: Evaluate learning outcomes, content relevance, and participant satisfaction for continuous program improvement
* **Customer Journey Mapping**: Collect touchpoint feedback across the entire customer lifecycle to optimize experience design
## How It Works
1. **Strategic Survey Orchestration**: Identifies optimal survey timing based on customer journey stage, interaction history, and engagement patterns
2. **Rapport-Building Engagement**: Initiates conversations with personalized context that makes respondents feel valued and heard
3. **Intelligent Conversation Flow**: Guides discussions through structured topics while allowing natural tangents that reveal unexpected insights
4. **Deep-Dive Exploration**: Probes interesting responses with follow-up questions that uncover specific examples, emotions, and improvement ideas
5. **Real-Time Insight Synthesis**: Analyzes responses for sentiment, themes, and actionable feedback while maintaining conversation flow
6. **Comprehensive Data Integration**: Enriches customer profiles with survey insights and triggers appropriate follow-up actions based on feedback
## Benefits
* **Response Rate Revolution**: Achieve 60-80% survey completion rates compared to 5-15% for traditional email surveys through engaging conversation
* **Insight Quality Enhancement**: Gather 5x more detailed feedback through natural dialogue that encourages elaboration and specific examples
* **Customer Relationship Strengthening**: Transform surveys into positive touchpoints that demonstrate genuine interest in customer opinions
* **Business Intelligence Acceleration**: Access real-time feedback that enables immediate response to customer concerns and market opportunities
* **Research Cost Optimization**: Reduce survey administration costs by 70% while improving data quality and response comprehensiveness
* **Competitive Advantage Creation**: Develop superior customer understanding that drives better products, services, and experiences than competitors
## Getting Started
Transform your customer feedback collection with intelligent, conversational surveys that provide deeper insights and higher response rates. Import this agent template and customize it for your specific survey needs and customer base.
Start using the Surveys Agent template in your Bolna dashboard
## Related Agents
* [Customer Support Agent](/voice-agents/customer-support-agent) - For following up on survey feedback and addressing concerns
* [Announcements Agent](/voice-agents/announcements-agent) - For communicating improvements based on survey feedback
* [Onboarding Agent](/voice-agents/onboarding-agent) - For collecting onboarding experience feedback
# Weekend Planner Agent - Vacation Planning
Source: https://www.bolna.ai/docs/voice-agents/weekend-planner-agent
Plan your weekend with Samantha; Helps users make weekend and vacation plans. Personalized travel and leisure planning through intelligent conversations.
## Overview
Discover your perfect weekend adventure with our Weekend Planner Agent - an enthusiastic AI travel companion that transforms ordinary weekends into extraordinary experiences. This intelligent system doesn't just suggest activities; it crafts personalized itineraries that match your mood, budget, and aspirations while uncovering hidden gems and unique opportunities in your area. Every conversation becomes a journey of discovery that leads to unforgettable memories.
## Key Features
* **Lifestyle-Driven Curation**: Analyzes personal interests, energy levels, and social preferences to create perfectly matched weekend experiences
* **Dynamic Budget Intelligence**: Maximizes value within any budget range, finding premium experiences at accessible prices and hidden free activities
* **Hyperlocal Discovery Engine**: Uncovers unique local experiences, seasonal events, and insider opportunities that typical tourists miss
* **Seamless Experience Orchestration**: Coordinates timing, reservations, transportation, and logistics for effortless weekend execution
* **Adaptive Weather Strategy**: Provides backup plans and weather-appropriate alternatives to ensure perfect weekends regardless of conditions
* **Social Dynamic Optimization**: Balances group preferences, energy levels, and interests for harmonious group experiences
## Use Cases
* **Romantic Escape Curation**: Design intimate weekend experiences with perfect ambiance, dining, and activities for couples seeking connection
* **Family Adventure Coordination**: Balance adult interests with child-friendly activities for multi-generational weekend satisfaction
* **Solo Discovery Journeys**: Create enriching solo experiences that combine personal growth, relaxation, and new discoveries
* **Friend Group Celebration Planning**: Coordinate group activities that accommodate different personalities, budgets, and energy levels
* **Seasonal Experience Optimization**: Leverage seasonal opportunities like fall foliage, summer festivals, or winter activities for timely adventures
* **Wellness Retreat Design**: Combine relaxation, fitness, and mindfulness activities for rejuvenating weekend experiences
## How It Works
1. **Lifestyle Profiling**: Conducts engaging conversations to understand personality, interests, energy levels, and ideal weekend vision
2. **Opportunity Intelligence**: Researches current events, seasonal activities, weather patterns, and local happenings for optimal timing
3. **Experience Architecture**: Designs cohesive itineraries that balance activity and relaxation, adventure and comfort, planned and spontaneous elements
4. **Logistics Mastery**: Handles complex coordination including reservations, transportation, timing, and backup plans for seamless execution
5. **Real-Time Optimization**: Monitors conditions and provides dynamic adjustments to ensure perfect experiences regardless of changes
6. **Memory Creation Focus**: Suggests photo opportunities, unique experiences, and special touches that create lasting memories and stories
## Benefits
* **Life Enrichment Acceleration**: Transform ordinary weekends into extraordinary experiences that create lasting memories and personal growth
* **Discovery Amplification**: Uncover hidden local gems, unique experiences, and opportunities that most people never find
* **Relationship Enhancement**: Strengthen bonds through shared adventures and perfectly planned experiences that bring people together
* **Stress-Free Adventure**: Eliminate planning anxiety and logistics stress while maximizing fun and spontaneity
* **Value Optimization**: Get maximum experience value from every dollar spent through insider knowledge and strategic planning
* **Personal Fulfillment**: Create a lifestyle of regular adventure and discovery that enhances overall life satisfaction and well-being
## Getting Started
Transform your weekend and vacation planning with Samantha, your personal AI travel assistant. Import this agent template and start creating unforgettable experiences tailored to your unique preferences and interests.
Start using the Weekend Planner Agent template in your Bolna dashboard
## Related Agents
* [Customer Support Agent](/voice-agents/customer-support-agent) - For travel-related inquiries and support
* [Reminders Agent](/voice-agents/reminders-agent) - For trip reminders and travel notifications
* [Surveys Agent](/voice-agents/surveys-agent) - For collecting travel experience feedback
# Workflows and Campaigns
Source: https://www.bolna.ai/docs/workflows-and-campaigns
Create automated communication sequences with Bolna workflows and campaigns. Build multi-step outreach flows with calls, WhatsApp, and email automation.
Access the Campaigns at [https://platform.bolna.ai/campaigns](https://platform.bolna.ai/campaigns)
## Overview
Create automated communication sequences with phone calls, WhatsApp messages, and email notifications. Chain workflows with conditional logic to build complex multi-step campaigns.
### Key Concepts
Reusable templates of multi-step communications (calls, WhatsApp, emails) including delays between steps
Deployments that execute workflows with specific contact data and timing
Individual actions within a workflow (call, WhatsApp, email, retry)
Conditions that determine workflow transitions and campaign flow
***
## Workflows
### What are Workflows?
Reusable sequences of communication steps that define the type, timing, and order of actions across multiple campaigns.
### Workflow Step Types
**Purpose**: Initiate outbound phone calls to contacts
**Features**: AI-powered conversations, voicemail detection, call timeout settings
**Timing**: Configurable delay from previous step
**Purpose**: Send WhatsApp messages to contacts
**Features**: Pre-notification before calls, interactive buttons and CTAs
**Prerequisite**: Ai Sensy API key must be connected
**Purpose**: Send email notifications and follow-ups
**Features**: Template-based emails, scheduling information
**Timing**: Configurable delay from previous step
***
### Creating Workflows
1. Navigate to the **Workflows** section in your dashboard
2. Click **"Add New Workflow"** or select an existing workflow to edit
3. The visual workflow builder opens with drag-and-drop functionality
1. **Add Steps**: Click the **"Add Step"** button to insert new communication steps
2. **Step Types**: Choose from Call, WhatsApp, or Email
**Adding WhatsApp Steps:**
1. Click the **"+ Add Step"** button in the workflow builder
2. Select **"WhatsApp"** from the dropdown menu
3. The WhatsApp step will appear in your workflow canvas
* **Step Label**: Give each step a descriptive name
* **Timing**: Set delay in minutes from previous step
* **Step Configuration**: Configure specific settings for each step type
Click **"Save Workflow"** to persist your changes
***
### Configuring WhatsApp Steps
Before adding WhatsApp steps to your workflow, you must first connect your Ai Sensy API key.
**Connect Ai Sensy API Key:**
**Providers** → Search **"Ai Sensy"** → **Connect** → Enter API Key → **Save**
1. Click on the **WhatsApp step** to open configuration
2. **Template Name**: Your Ai Sensy template (e.g., `welcome_message`)
3. **Parameter Keys**: CSV column names for template parameters (click **"+"** to add multiple)
4. Click **"Save"**
Parameter keys must match CSV headers exactly. Template name must match your approved Ai Sensy template.
***
### Workflow Examples
```
Step 1: Call (0 min delay)
```
Simple single-step workflow for immediate outbound calling.
```
Step 1: WhatsApp (0 min delay)
Step 2: Call (30 min delay)
Step 3: Email (60 min delay)
```
WhatsApp notification first, call after 30 minutes, then email follow-up.
***
## Campaigns
### What are Campaigns?
Execute workflows with specific contact data, agents, and schedules. Can be single workflow or multi-workflow with conditional logic.
### Campaign Types
* Execute one workflow across all selected contacts
* Simple setup and execution
* Perfect for basic outreach and follow-up sequences
* Chain multiple workflows using conditional criteria
* Advanced conditional logic based on call outcomes
* Perfect for complex sales processes and lead nurturing
***
### Creating Campaigns
1. **Campaign Name**: Choose a descriptive name for your campaign
2. **Description**: Optional description of the campaign purpose
3. **CSV File**: Upload contact data in CSV format
* **Required Fields**: Name, phone\_number (in E.164 format)
* **Optional Fields**: Any variables used in the agent
1. **Select Workflow**: Choose from your available workflows
2. **Select Agent**: Choose the AI assistant for communication
3. **Phone Number**: Optional caller ID for outbound calls
4. **Add Multiple Workflows**: For complex campaigns with multiple workflow pairs
1. **Add Workflow Pairs**: Workflow + Agent combinations
2. **Set Criteria**: Conditions for workflow transitions
3. **Configure Timing**: When to start next workflow
4. **Test Configuration**: Validate setup before launch
1. **Review Summary**: Check all settings and configurations
2. **Validate Data**: Ensure contact data is correct and complete
3. **Launch Campaign**: Start execution and monitor progress
***
### Multi-Workflow Campaigns
For multi-workflow campaigns, you can create workflow-agent pairs with specific criteria:
* **Workflow**: Select workflow
* **Agent**: Choose AI assistant
* **Phone Number**: The number agent calls from
* **Workflow**: Select workflow
* **Agent**: Choose AI assistant
* **Phone Number**: The number agent calls from
* **Criteria**: Conditions for transition
* **Next Workflow Time**: When to start next workflow
***
### Criteria and Conditions
| Condition Type | Operators |
| -------------- | -------------------- |
| **Equality** | `==`, `!=` |
| **Comparison** | `>`, `<`, `>=`, `<=` |
| Logical Operator | Behavior |
| ---------------- | --------------------------- |
| **AND** | All conditions must be true |
| **OR** | Any condition can be true |
***
## CSV Data Format
### Required Format
All phone numbers should include the country prefix in [E.164](https://en.wikipedia.org/wiki/E.164) format and use `contact_number` as the header.
```csv example_batch_file.csv theme={"system"}
contact_number,first_name,last_name,email
+91931237890,Bruce,Wayne,bruce@example.com
+91912345678,Bruce,Lee,bruce.lee@example.com
+91921000000,Satoshi,Nakamoto,satoshi@example.com
+44999999007,James,Bond,james@example.com
```
### Callback Matching
When contacts call back, Bolna matches their phone number to the CSV row for personalized conversations.
**Example:** Agent can say: *"Hi John, I see you're calling about the product you showed interest in at Acme Corp."*
### Excel/Google Sheets Tips
In Excel, add an apostrophe before `+` (e.g., `'+91931237890`) to prevent formula interpretation.
***
Campaign system is in beta. Phone call workflows are fully functional. WhatsApp and email coming soon.
Create your first workflow and campaign