Platform

Tools Library

Under Configurations → Library, build the things an agent can do beyond talking — call an API, search a document, run a WhatsApp template — once, and attach the same tool to as many agents as need it. Nothing here belongs to one agent; the agent's Tools tab is just a list of which of these it has been given.

What the Library is

The Library is organised by kind — API tools, MCP servers, Knowledge bases, Skills and Custom functions — plus Connections for a small number of pre-built integrations like WhatsApp. Every kind shows up the same way in an agent's Tools tab once you tick it on.

Screenshot: Configurations → Library, showing the grouped sections: API tools, MCP servers, Knowledge bases, Skills, Custom functions and Connections.

Verifying a tool

An API tool has to pass a test before any agent can be given it. Save the tool, select Test, and it runs once with the arguments you provide; a passing run marks it verified, and only then does it appear as selectable on an agent's Tools tab. This exists so an agent is never handed an endpoint that has never actually been called successfully.

An unverified tool that is already switched on for an agent stays visible on that agent rather than disappearing — it is flagged so the problem is obvious, not hidden.

Tool kinds

API tools

Any HTTP endpoint: set the method, URL, headers and — for anything but GET — a JSON body. Use {{argument_name}} anywhere in the URL, headers or body to substitute a value the model provides when it calls the tool, and {{vars.key}} to pull in a secret from Platform Variables rather than typing it into the tool directly. Authentication supports none, bearer token, an API key in a header you name, HTTP basic, and OAuth with automatic token refresh for providers like Google Calendar whose tokens expire in about an hour.

Screenshot: Editing an API tool: method + URL, headers, body template, and the Auth section with its type selector.

MCP servers

Connect an external MCP server by its URL and, if it needs one, an auth header. Every tool that server exposes becomes available to whichever agents you connect the server to — there is nothing to define per tool, the server describes its own tools when the agent connects.

Knowledge bases

Upload documents and give the base a name; they are chunked and embedded so an agent can search them mid-call. Set how many chunks a search returns (top_k) — more chunks means more context for the model, at the cost of a longer prompt.

Skills

A Skill is a small, separate LLM call with its own instructions — useful for something you want done consistently regardless of what the main agent's prompt says, like summarising a call or extracting a structured field. Set when it is allowed to run: during the call, only after it, or both — a Skill configured for after-call use can never be triggered mid-conversation, even if an agent has it enabled.

Custom functions

Write a small Python function — def main(input): ... — that runs in a locked-down sandbox with no file or network access, for calculations or logic an HTTP call is overkill for. Set its Timeout between 1 and 8 seconds; the caller is waiting on the line while it runs, and a call gives any tool 10 seconds in total before it gives up, so the timeout has to leave room for the round trip.

Connections (WhatsApp and more)

A small set of ready-made integrations that would otherwise take several API-tool fields to describe. WhatsApp sends a pre-approved template message with variables filled in from the call; connect it once with your WhatsApp Business credentials and any agent can send a confirmation or reminder through it.

Platform Variables (storing secrets)

A secret — an API key, an OAuth client secret, a bearer token — is saved once under Configurations → Library → Platform Variables and referenced everywhere else as {{vars.your_key_name}}. A tool's own configuration, which the dashboard can display back to you, never holds the secret itself — only the reference to it.

"When to use it" and "say while it runs"

Every tool — including the built-in Voicemail and Call transfer options on an agent's Tools tab — takes two optional fields, both attached where you enable the tool on the agent rather than on the tool itself, so the same tool can be described differently for two different agents:

When to use it is a note appended to the tool's description for the model — it answers "when should I reach for this", alongside what the tool already says about what it does and returns. Say while it runs is a fixed line spoken the instant the tool starts, so a caller is not left in silence while an API call is in flight; leave it blank and it is left to the model, which not every model volunteers on its own.

Screenshot: A tool row on the agent's Tools tab, expanded to show the 'When to use it' and 'Say while it runs' fields.

Next