Skip to main content

Documentation Index

Fetch the complete documentation index at: https://www.bolna.ai/docs/llms.txt

Use this file to discover all available pages before exploring further.

This guide covers how to write effective prompts, use variables and prompt modules, and optimize your agent for performance.

Variables

Variables let you inject dynamic data into your prompts. There are two types:

User Variables

Defined by you. Passed via the API at call time or from CSV rows during batch calling. Examples: {customer_name}, {order_id}, {city}.

System Variables

Predefined by Bolna. Available automatically in every call. Examples: agent_id, call_sid.

Using Variables in the Prompt Editor

Type { in the prompt editor to open the variable dropdown. It shows both User Variables and System Variables.
Agent Prompt editor with curly brace dropdown open showing User Variables section with referrer_name, referee_name, city, user_number and System Variables section with agent_id, call_sid
With {, you can:
  • Select an existing user or system variable
  • Define a new variable by typing a name that does not exist yet (e.g., {appointment_date})

Testing Variables

Any variable you define with {variable_name} in your prompt automatically appears as an editable input field in the testing section below the prompt. Fill in test values to preview how the prompt behaves before going live.
Prompt variables for testing section showing Asia Kolkata UTC plus 05 30 timezone selector and auto-detected variable fields for referrer_name, referee_name, city, and user_number
User variables are passed via the API at call time or from CSV rows during batch calling. System variables like agent_id and call_sid are filled automatically by Bolna.

Using @ to Insert Modules, Functions, and Variables

Type @ in the prompt editor to open a dropdown that lets you select and insert:
  • Prompt Modules - pre-built prompt blocks for common tasks
  • Custom Functions - functions defined in the Tools Tab
  • Variables - existing variables already used in your prompt
Agent Prompt editor with at-sign dropdown open showing Prompt Modules list including Email Collection, Number Collection, Name Collection, Persuasion, and Variables Reference
With @, you can only select existing items. You cannot create new variables, functions, or modules. To create a new variable, use {variable_name} instead.

Prompt Modules

Prompt modules are pre-built prompt blocks that handle common tasks like email collection, persuasion, objection handling, and more. Insert a module and customize it instead of writing from scratch.

Browse Modules

Click the Browse Modules button in the top-right of the Agent Prompt section to open the full modules library. Browse by category, read what each module does, and insert it into your prompt with one click.
Browse Modules panel with left sidebar showing categories Collection, Optional, and Flow, and right panel showing Email Collection module with description, full prompt text, and Insert into editor button
Each module shows:
  • What Prompt Does - a short description of the module’s purpose
  • Prompt - the full prompt text that will be inserted
  • Insert into editor - click to add it to your current prompt
Modules panel showing Interview Reminder module with categories Collection, Optional, Flow, Sector, Universal on the left, and prompt content with call flow instructions on the right

Available Module Categories

CategoryWhat it contains
CollectionEmail Collection, Number Collection, Name Collection
OptionalPersuasion, Variables Reference, Pricing and Plans, Objection Handling, Knowledge Base, Hang Up Prompt, Handover and Escalation, FAQ Block, Extraction Schema, Eligibility Criteria, Compliance Healthcare, Compliance Finance, Closing Branches
FlowOutbound Survey, Outbound Lead, Inbound Verification
SectorIndustry-specific modules
UniversalGeneral-purpose modules that work across use cases
Modules are a great starting point. Insert one, then customize the prompt text to fit your specific use case and tone.

Writing Effective Prompts

Start Short

Begin with a clear, concise prompt. Add details incrementally as you test and refine.

Limit Response Length

Start with: “You will not speak more than 2 sentences at a time.” This keeps responses fast and natural.
Prompt engineering takes iteration. If your agent does not follow instructions as expected, refine the prompt step by step rather than rewriting everything at once.

Choosing the Right Agent Type

Free Flowing

Natural conversations from a plain-English prompt. Creative and flexible, but requires fine-tuning and costs more.

IVR

Full control over exact sentences. Cheaper with no hallucination risk, but conversations are limited to the defined tree.
Free FlowingIVR
SetupWrite a promptBuild a conversation tree
FlexibilityHighLow
Hallucination riskPossibleNone
CostHigherLower
Start with an agent template and customize it. Templates are built to run on default settings.

Optimizing for Performance

For low-latency, high-quality conversations:
ComponentRecommended
LLMAzure / gpt-4.1-mini cluster
VoiceElevenLabs
TranscriberDeepgram
TelephonyPlivo

Match Voice to Language

Make sure the voice you choose supports the language you have configured.

Test Before Deploying

Use the Playground to test your agent thoroughly before making live calls. Telephone calling burns credits quickly.

Next Steps

Agent Tab

Configure prompts, languages, and advanced settings

Agent Templates

Start from a pre-built template

Using Variables

Pass dynamic data into calls with context variables

Non-English Prompts

Writing prompts in native scripts