Tools
A tool is a function the LLM can invoke mid-conversation. Tools come in three kinds:
Worker built-ins — end_call, transfer_to_number, transfer_to_agent, play_keypad_touch_tone, skip_turn. No HTTP; they run in the agent process in milliseconds.
Your backend. Any business logic — look up an order, book an appointment, charge a card. Signed with HMAC-SHA256.
The caller’s browser or SDK. UI actions — navigate the page, fill a form, update a cart. Dispatched over the session’s tools data channel.
Webhook and client tools are created once and attached to any number of agents; system built-ins are added directly to an agent. To wire them up, see Add tools.
Parameters
Every tool declares the parameters the LLM may pass:
type is one of string, number, integer, or boolean. A string parameter can also declare an enum of allowed values.
How invocations are recorded
Every tool call is persisted on the transcript with role=tool, tool_name, tool_args, and tool_result — available via GET /v1/agents/conversations/{id}/messages.