API Reference
DashboardGet API keyAPI key

Getting started

  • Introduction
  • Authentication
  • Errors & rate limits

Voice agents

    • Overview
    • GETList tools
    • GETList an agent's tools
    • GETGet tool
    • POSTCreate tool
    • PATCHUpdate tool
    • DELDelete tool

WhatsApp agents

Workspace

Voice agentsAgent tools

Agent tools

Give agents abilities: transfer calls, book meetings, call your own APIs and more.

Tools are actions an agent can take during a conversation. Each tool belongs to one agent and one channel -- telephony for voice calls or whatsapp for the WhatsApp text agent.

Built-in tools have a fixed tool_type. A custom tool calls your own HTTP endpoint; its tool_type is the task name you choose, and its config describes the request and the parameters the LLM fills in.

Secrets you send in credentials (API keys, tokens) are stored encrypted and never returned -- responses only include has_credentials.

Endpoints

GETList tools/toolsGETList an agent's tools/agents/{agent_id}/toolsGETGet tool/tools/{id}POSTCreate tool/toolsPATCHUpdate tool/tools/{id}DELETEDelete tool/tools/{id}

The tool object

  • idstring (uuid)

    Unique identifier of the tool.

  • agent_idstring (uuid)

    Agent the tool belongs to.

  • tool_typestring

    Built-in type (call_transfer, cal_com_booking, knowledge_base, media_attachment, static_response, whatsapp_template) or, for a custom tool, its task name.

  • is_enabledboolean

    Whether the agent may use the tool.

  • configobject

    Tool settings. The shape depends on tool_type.

  • has_credentialsboolean

    Whether secret credentials are stored. Credentials are never returned.

  • channelstring

    telephony for the voice agent, whatsapp for the WhatsApp text agent.

    Allowed:telephonywhatsapp
  • created_atstring (date-time)

    When the tool was created.

  • updated_atstring (date-time)

    When the tool was last changed.

The tool object
{
  "id": "b7e1c2d3-4f5a-4b6c-9d7e-8f9a0b1c2d3e",
  "agent_id": "3f6c2b1e-8a4d-4c5e-9b2a-1d7e6f8a9b0c",
  "tool_type": "check_order_status",
  "is_enabled": true,
  "config": {
    "name": "check_order_status",
    "description": "Look up the status of a customer's order by order id.",
    "pre_call_message": "One moment while I check that for you.",
    "parameters": {
      "type": "object",
      "properties": {
        "order_id": {
          "type": "string",
          "description": "The customer's order id"
        }
      },
      "required": [
        "order_id"
      ]
    },
    "method": "GET",
    "url": "https://api.example.com/orders/{order_id}",
    "param": {},
    "headers": {}
  },
  "has_credentials": true,
  "channel": "telephony",
  "created_at": "2026-10-20T09:15:42.120Z",
  "updated_at": "2026-10-24T14:03:11.508Z"
}
PreviousDelete agentNextList tools