Skip to main content
The Tools Tab is where you connect external tools and APIs that your agent’s LLM can call during live conversations. This lets your agent take real-time actions like booking appointments, transferring calls, or fetching data from your own backend.
Tools Tab in Agent Studio with a Function Tools for LLM Models card, an Add Tool section listing Calendar Availability, Book Appointment, Transfer Call and Web Search each with an Add button, and an Add a Custom Tool section with a Custom Function row offering Write manually or Generate from cURL

Tools Tab with the built-in tools and the Custom Function section


Built-in tools

Bolna provides ready-to-use tools for common voice agent workflows. Click + Add next to any tool to enable it for your agent.

Calendar availability

Check open meeting slots from Cal.com in real-time during a call

Book appointment

Create calendar bookings directly via Cal.com during the conversation

Transfer call

Route the call to a human agent or another phone number — with an optional pre-call webhook

Web search

Look up current information on the web, such as news, prices and scores, during a call

Custom function

Connect any external API endpoint with a custom function schema

Custom functions

For integrations beyond the built-in tools, use Custom Functions to connect any API endpoint. You can create a custom function in two ways:
Function Tools for LLM Models card with the Add Tool section above an Add a Custom Tool section, where the Custom Function row offers a Write manually button and a Generate from cURL button

Function Tools card with the Add a Custom Tool section at the bottom

Write manually

Click Write manually to open a JSON editor where you define the function schema from scratch. This gives you full control over the function name, description, parameters, and API configuration.
Your custom function configuration modal with a dark JSON editor showing name, description, pre_call_message, a parameters object with startTime and endTime, key set to custom_task, and a value object with method GET, param, url, api_token, headers, pre_call_webhook_url and pre_call_webhook_param, plus Cancel and Submit buttons

Your custom function configuration editor with the default schema

The fields name, description, key, and method are mandatory. The key must always be set to "custom_task". Do not change this value.

Generate from cURL

Click Generate from cURL to paste an existing cURL command. Bolna will parse the request and auto-generate a function schema that you can review and edit before adding it to your agent.
Generate function from cURL modal with a text area containing a curl GET request to api.bolna.ai carrying an Authorization Bearer header, with Cancel and Generate function buttons

Generate function from cURL dialog with a pasted cURL command

After clicking Generate function, Bolna parses the cURL and produces a ready-to-edit function configuration:
Bolna generated custom function configuration showing name get_agent, description Called when user asks to get agent details by agent ID, pre_call_message One moment while I fetch the details, parameters object, key custom_task, value with method GET, url https://api.bolna.ai/v2/agent/agent_id, api_token, and headers

Generated custom function configuration from a cURL command, showing the parsed function with auto-populated name, description, method, URL, and authentication fields

The cURL import is a starting point. Always review the generated function name, description, and parameters before submitting. See the Custom Functions guide for a detailed walkthrough.

Pre-call webhook (optional)

Each custom tool also has two optional inputs to fire a pre-call webhook before the tool’s main API call runs:
  • Pre-call webhook URL — the endpoint to notify. If left blank, the agent-level Webhook URL is used.
  • Pre-call webhook parameters — the JSON body template, with %(field)s substitution for the tool’s arguments. Leaving this empty disables the pre-call webhook.
Both save with the tool and round-trip on edit.
The built-in Transfer Call tool supports the same pre-call webhook fields via a Send a pre-call webhook before transfer toggle in its configuration modal.

Managing added tools

Once you add a tool, it appears as a configurable card in the Tools Tab.

Next steps

Custom functions guide

Full schema reference, examples, and best practices

Transfer calls

Set up call routing to human agents

Extractions tab

Configure webhooks and post-call extractions

Context variables

Pass dynamic data into your function tools