> ## 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.

# Prompt cheatsheet

> Copy-paste prompt cheatsheet for the Bolna MCP server, organized by agents, calls, batches, dispositions, and more, each linked to the tool it triggers.

Paste any of these into a connected client. Each one links to the tool it triggers — see the [Tool List](https://www.bolna.ai/docs/mcp-tool-list.md) for the full schema.

## Agents

> **List your agents**
>
> ```
> List my Bolna agents.
> ```
>
> Triggers `list_agents`.

> **Get an agent's config**
>
> ```
> Show me the full config for agent <agent_id>.
> ```
>
> Triggers `get_agent`.

> **Create an agent**
>
> ```
> Create a Hindi appointment-booking agent using Plivo and Sarvam TTS,
> with a welcome message that greets the caller by name.
> ```
>
> Triggers `create_agent`.

> **Update an agent**
>
> ```
> Update agent <agent_id>'s welcome message to mention our new return policy.
> ```
>
> Triggers `update_agent` — most clients ask you to confirm first.

> **Cancel an agent's queued calls**
>
> ```
> Cancel every queued call for agent <agent_id> — we're pausing the campaign.
> ```
>
> Triggers `stop_agent_queued_calls`.

> **Delete an agent**
>
> ```
> Delete the test agent I created yesterday.
> ```
>
> Triggers `delete_agent` — irreversible, most clients ask you to confirm first.

## Graph agents

> **Design and create a graph agent**
>
> ```
> Build a graph agent for Acme Dental that books appointments: greet with a
> static message, collect day and time, confirm, and send callers outside
> 10am–6pm IST to an after-hours message. Hang up after three silent turns.
> ```
>
> Uses the `design_graph_agent` prompt for the design, then triggers `create_graph_agent`, which validates the graph before saving.

> **Inspect a graph agent**
>
> ```
> Show me the nodes and transitions in agent <agent_id>, and flag anything
> the validator complains about.
> ```
>
> Triggers `get_graph_agent`.

> **Add or change a node**
>
> ```
> In agent <agent_id>, add a refund_questions node reachable from welcome
> when the caller asks about refunds, and make the confirm prompt shorter.
> ```
>
> Triggers `get_graph_agent`, then `update_graph_agent`. Most clients ask you to confirm first.

> **Check a graph before saving**
>
> ```
> Validate this graph JSON and tell me which nodes are unreachable.
> ```
>
> Triggers `validate_graph_agent`. Nothing is saved.

> **Send an event into a live call**
>
> ```
> Send a payment_completed event with ref TXN-98765 to call <execution_id>.
> ```
>
> Triggers `send_graph_agent_event`. The agent only reacts if the node it's on has a `payment_completed` event edge.

## Calls & executions

> **Place a call**
>
> ```
> Call +91XXXXXXXXXX using my sales agent and pass customer_name: Priya as context.
> ```
>
> Triggers `start_outbound_call` — spends account balance, most clients ask you to confirm first.

> **Cancel a scheduled call**
>
> ```
> Cancel the call I scheduled for execution <execution_id>.
> ```
>
> Triggers `stop_call`.

> **Review recent calls**
>
> ```
> Show me agent <agent_id>'s last 20 calls from this week.
> ```
>
> Triggers `list_agent_executions`.

> **Pull a transcript**
>
> ```
> Pull the transcript and cost for execution <execution_id>.
> ```
>
> Triggers `get_execution`.

> **Debug a slow or failed call**
>
> ```
> Pull the raw pipeline logs for execution <execution_id> and tell me
> whether the transcriber, LLM, or synthesizer was slow.
> ```
>
> Triggers `get_execution_raw_logs`.

> **Diagnose a call in one go**
>
> ```
> Debug execution <execution_id>: why did the agent take so long to
> respond, and did any tool call fail?
> ```
>
> Triggers `get_execution_debug`.

## Batches

> **Create a batch**
>
> ```
> Create a batch on my collections agent from this CSV of recipients.
> ```
>
> Triggers `create_batch`.

> **Schedule a batch**
>
> ```
> Schedule batch <batch_id> to start calling at 9am tomorrow.
> ```
>
> Triggers `schedule_batch` — starts real calls and spends balance, most clients ask you to confirm first.

> **Check batch status**
>
> ```
> What's the status and contact count for batch <batch_id>?
> ```
>
> Triggers `get_batch`.

> **Review a batch's calls**
>
> ```
> List every execution in batch <batch_id> and tell me how many failed.
> ```
>
> Triggers `list_batch_executions`.

> **Stop a running batch**
>
> ```
> Stop batch <batch_id> — we found an error in the recipient list.
> ```
>
> Triggers `stop_batch`.

> **Delete a batch**
>
> ```
> Delete batch <batch_id>, it was a test run.
> ```
>
> Triggers `delete_batch` — irreversible, most clients ask you to confirm first.

## Dispositions

> **List an agent's dispositions**
>
> ```
> What dispositions are configured on agent <agent_id>?
> ```
>
> Triggers `list_dispositions`.

> **Design an extraction before creating it**
>
> ```
> Design an extraction for whether the customer agreed to a demo.
> ```
>
> Uses the Bolna MCP server's built-in `design_extraction` prompt — no skill install needed. Produces a complete category/name/prompt/answer-value design, following the same methodology as the `bolna-extraction-designer` skill (see [Skills Reference](https://www.bolna.ai/docs/skills-reference.md)), ready to hand to `create_disposition`.

> **Add a disposition**
>
> ```
> Add a disposition to agent <agent_id> that captures appointment_time
> as a timestamp from the call.
> ```
>
> Triggers `create_disposition`.

> **Add several at once**
>
> ```
> Add dispositions for lead_qualified (boolean), sentiment (pre-defined:
> positive/neutral/negative), and consent_captured (boolean) to agent <agent_id>.
> ```
>
> Triggers `bulk_create_dispositions`.

> **Test dispositions against a transcript**
>
> ```
> Run agent <agent_id>'s dispositions against this sample transcript
> and show me what it would extract.
> ```
>
> Triggers `test_dispositions`.

> **Update or remove a disposition**
>
> ```
> Update the sentiment disposition on agent <agent_id> to also flag "mixed".
> ```
>
> Triggers `update_disposition`. Ask to delete one and it triggers `delete_disposition` instead — irreversible, most clients ask you to confirm first.

## Knowledgebase (RAG)

> **Create a knowledgebase from a URL**
>
> ```
> Create a knowledgebase from https://www.example.com/faq and let me
> know when it's done processing.
> ```
>
> Chains `create_knowledgebase` → `get_knowledgebase` to check status.

> **List and inspect knowledgebases**
>
> ```
> List my knowledgebases and show me the status of the one named "FAQ".
> ```
>
> Chains `list_knowledgebases` → `get_knowledgebase`.

> **Delete a knowledgebase**
>
> ```
> Delete the "old-pricing" knowledgebase, it's out of date.
> ```
>
> Triggers `delete_knowledgebase` — irreversible, most clients ask you to confirm first.

## Phone numbers & inbound

> **List phone numbers**
>
> ```
> What phone numbers do I have, and which agent is each one linked to?
> ```
>
> Triggers `list_phone_numbers`.

> **Search for a number to buy**
>
> ```
> Find me available US numbers with area code 415.
> ```
>
> Triggers `search_phone_numbers`.

> **Buy a number**
>
> ```
> Buy that first number you found.
> ```
>
> Triggers `buy_phone_number` — spends account balance (\$5/month), most clients ask you to confirm first.

> **Route inbound calls to an agent**
>
> ```
> Set up my support agent to answer inbound calls on +1XXXXXXXXXX.
> ```
>
> Triggers `setup_inbound_agent`.

> **Unlink an inbound number**
>
> ```
> Remove the inbound routing on +1XXXXXXXXXX, we're decommissioning that line.
> ```
>
> Triggers `unlink_inbound_agent`.

> **Delete a number**
>
> ```
> Delete the phone number +1XXXXXXXXXX, we don't need it anymore.
> ```
>
> Triggers `delete_phone_number` — irreversible, most clients ask you to confirm first.

## SIP trunks

> **Create a trunk**
>
> ```
> Create a SIP trunk called "primary" for my Telnyx account. Send outbound
> calls to sip.example-carrier.com with my carrier username and password,
> and accept inbound calls from 203.0.113.10.
> ```
>
> Triggers `create_trunk`, with the gateway and carrier IP in the same call.

> **Get the values for your carrier**
>
> ```
> What do I need to configure at my carrier to connect it to Bolna?
> ```
>
> Triggers `get_trunk_connection_details`.

> **List and inspect trunks**
>
> ```
> List my SIP trunks and show me the config for the one named "primary".
> ```
>
> Chains `list_trunks` → `get_trunk`.

> **Add a number and route it to an agent**
>
> ```
> Add +1XXXXXXXXXX to my "primary" trunk and have my support agent
> answer it.
> ```
>
> Triggers `add_number_to_trunk` with the agent set. Ask to move the number to another agent and it triggers `assign_trunk_number_agent`; ask to remove it and it triggers `remove_number_from_trunk`.

> **Test the trunk**
>
> ```
> Place a test call through my "primary" trunk to +1XXXXXXXXXX.
> ```
>
> Chains `start_trunk_test_call` → `get_trunk_test_call`. Ask to test inbound instead and it chains `arm_trunk_inbound_test` → `get_trunk_inbound_test`, answering your next call to the trunk with an echo.

> **Check failed calls on a trunk**
>
> ```
> Show me the recent failed calls on my "primary" trunk with their SIP codes.
> ```
>
> Triggers `list_trunk_calls`.

> **Delete a trunk**
>
> ```
> Delete the SIP trunk named "old-vendor".
> ```
>
> Triggers `delete_trunk` — irreversible, most clients ask you to confirm first.

Legacy SIP trunks (deprecated) are managed with their own tools; see the [Tool list](https://www.bolna.ai/docs/mcp-tool-list.md#legacy-sip-trunks-deprecated).

## Sub-accounts

> **Create a sub-account**
>
> ```
> Create a sub-account called "Acme Corp".
> ```
>
> Triggers `create_sub_account`.

> **List sub-accounts**
>
> ```
> List my sub-accounts.
> ```
>
> Triggers `list_sub_accounts`.

> **Switch to a sub-account for one request**
>
> ```
> Get the API key for my "Acme Corp" sub-account, then use it to list
> that sub-account's agents.
> ```
>
> Chains `list_sub_accounts` → `list_agents` with the returned key passed as `api_key` — no reconnecting needed. See [Calling tools with a different account](https://www.bolna.ai/docs/mcp-tool-list.md#calling-tools-with-a-different-account).

> **Check a sub-account's usage**
>
> ```
> What did the "Acme Corp" sub-account spend this month?
> ```
>
> Triggers `get_sub_account_usage`.

> **Check usage across all sub-accounts**
>
> ```
> Show me usage for all of my sub-accounts.
> ```
>
> Triggers `get_all_sub_accounts_usage`.

> **Delete a sub-account**
>
> ```
> Delete the "Acme Corp" sub-account, the engagement ended.
> ```
>
> Triggers `delete_sub_account` — irreversible, most clients ask you to confirm first.

## Voice & providers

> **See connected providers**
>
> ```
> What telephony, LLM, and voice providers are connected to my account?
> ```
>
> Triggers `list_providers`.

> **Browse voices**
>
> ```
> What TTS providers and voices do I have available? I want a
> calm female Hindi voice.
> ```
>
> Chains `list_tts_providers` → `list_voices`.

> **Disconnect a provider**
>
> ```
> Remove my old ElevenLabs connection.
> ```
>
> Triggers `remove_provider` — breaks any agent still using it, most clients ask you to confirm first.

## Violations

> **Review flagged calls**
>
> ```
> List any pending violations on my account.
> ```
>
> Triggers `list_violations`. Ask for a different status ("accepted", "rejected", "submitted") and it filters accordingly.

## Account

> **Check balance and limits**
>
> ```
> What's my current wallet balance and concurrency limit?
> ```
>
> Triggers `get_user_info`.

## Documentation

> **Find a doc page**
>
> ```
> How do I set up a webhook in Bolna?
> ```
>
> Triggers `search_docs`.

> **Read a doc page**
>
> ```
> Show me the full content of the MCP tool list doc.
> ```
>
> Chains `search_docs` → `get_doc`.

## Chained, multi-step

These touch more than one tool in a single request — the assistant chains the lookups itself.

> **Chain a diagnostic across calls**
>
> ```
> Check agent <agent_id>'s last 10 calls — for any that didn't
> complete, tell me why.
> ```
>
> Chains `list_agent_executions` → `get_execution`.

> **Check balance before calling**
>
> ```
> If my wallet balance is above ₹500, call +91XXXXXXXXXX with my
> onboarding agent.
> ```
>
> Chains `get_user_info` → `start_outbound_call`.

> **Audit missing webhooks**
>
> ```
> Which of my agents don't have a webhook set up?
> ```
>
> Chains `list_agents` → `get_agent` per agent.

> **Clean up test agents**
>
> ```
> Delete any agents I made today with "test" in the name.
> ```
>
> Chains `list_agents` → `delete_agent`; expect a confirmation prompt per delete.

> **Buy a number and wire it up**
>
> ```
> Find me an available number in area code 415, buy it, and route
> it to my support agent.
> ```
>
> Chains `search_phone_numbers` → `buy_phone_number` → `setup_inbound_agent`; expect a confirmation prompt before the purchase.

> **[MCP overview](https://www.bolna.ai/docs/mcp-server.md)**
>
> How the server works and what you can do with it

> **[Example: Monitoring dashboard](https://www.bolna.ai/docs/mcp-example-app.md)**
>
> Use these prompts to explore your data, then have your assistant build a small dashboard around it


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.