Skip to main content
115 tools. 113 are backed one-to-one by the Bolna REST API and act on your account. The remaining 2 (search_docs, get_doc) read Bolna’s public documentation instead — no account data involved. The 43 ⚠ tools are update_agent, delete_agent, stop_agent_queued_calls, start_outbound_call, stop_call, schedule_batch, stop_batch, delete_batch, update_disposition, delete_disposition, update_extraction_category, delete_extraction_category, buy_phone_number, delete_phone_number, unlink_inbound_agent, update_trunk, delete_trunk, remove_trunk_gateway, remove_trunk_carrier_ip, remove_number_from_trunk, assign_trunk_number_agent, start_trunk_test_call, disarm_trunk_inbound_test, update_sip_trunk, delete_sip_trunk, remove_trunk_number, update_sub_account, delete_sub_account, remove_provider, delete_knowledgebase, rename_workflow, update_workflow_settings, delete_workflow, save_workflow_draft, publish_workflow, run_workflow, delete_workflow_campaign, start_workflow_campaign, pause_workflow_campaign, resume_workflow_campaign, abort_workflow_campaign, cancel_workflow_execution, and update_graph_agent — see each one’s row below for what makes it destructive.

Calling tools with a different account

Every tool below also accepts an optional api_key argument. Pass it on any single call to run that call against a different account than the one your client connected with — without reconnecting. This is for sub-accounts: call list_sub_accounts to get a sub-account’s key (sa-...), then pass it as api_key on any later tool call to act as that sub-account for just that call. A sub-account key also works as the primary connection credential from the start, exactly like a main account’s bn-... key — see the Quickstart.

Agents

Calls & executions

Batches

Dispositions

Dispositions turn a call transcript into structured, typed data — lead qualified, appointment time, sentiment — surfaced as extracted_data on executions and webhook payloads.

Extraction categories

A category is the set of dispositions evaluated together in one LLM pass per call, run on the category’s model. Each disposition belongs to one category.

Knowledgebase (RAG)

create_knowledgebase only accepts a URL to scrape — the Bolna API also supports uploading a PDF directly, but a raw file doesn’t map cleanly to a chat tool argument. For PDF-based knowledgebases, use the dashboard or call the Create Knowledgebase API directly.

Phone numbers & inbound

SIP trunks

For connecting your own carrier over a SIP trunk — Plivo, Telnyx, Twilio, Exotel, Vobiz, Vonage, or any standards-based SIP carrier.

Legacy SIP trunks (deprecated)

These tools keep working for Legacy SIP trunks. Use the SIP trunk tools for new setups, and see Migrate to SIP trunks to move an existing trunk.

Sub-accounts

Enterprise feature — isolated workspaces with their own auto-provisioned API key (sa-...), agents, calls, and phone numbers, for agencies, multi-tenant platforms, or regulated data boundaries.

Voice & providers

Violations

Workflows

Multi-step, per-contact automations — call an agent, branch on the outcome, wait, call an API, message over WhatsApp, retry, and so on — distinct from a single agent’s own conversation. A workflow is edited as a draft, then published as an immutable version before it can run.

Workflow campaigns

Runs many contacts through one pinned, published workflow version — the workflow equivalent of a batch running many contacts through one agent.

Workflow executions

A single contact’s run through a workflow, created by run_workflow or a campaign.

Graph agents

Graph agents are node-based voice flows: each node is one step of the conversation, and edges route between nodes by intent, by rules on context variables, or on events your backend sends during the call. There’s no separate graph-agent API. A graph agent is a regular agent whose graph lives under tools_config.llm_agent.llm_config, so these tools are typed wrappers over the Agent API, plus the event-injection endpoint. create_graph_agent and update_graph_agent check the graph against the same rules as the editor’s Validation before saving, and send nothing to Bolna if there are errors. Warnings come back with the result.
update_graph_agent saves by replacing the agent’s full config (PUT), because a partial update can’t change the graph. If someone edits the agent in the dashboard between the tool reading it and saving it, their edit is overwritten.

Account

Documentation

These two don’t touch your account at all — they read Bolna’s own docs, so the assistant can look things up instead of guessing. Not connected yet? See the Quickstart for setup and troubleshooting.

Bolna MCP server repository

Full source, endpoint-verification notes, and issue tracker