add_agent_tool
Add or update API-call tools on an agent so it can make HTTP requests to external APIs like order lookups, appointments, or CRM posts during a call. Upserts by name and supports batch via 'tools'.
Instructions
Add (or update) one or more API-call tools on a single_prompt agent. API-call tools let the agent make an HTTP request to an external API during a call — e.g. look up an order, book an appointment, or post to a CRM. The agent decides when to invoke a tool from its name + description, filling in any declared parameters. Pass a single tool via the top-level fields, or several at once via tools. Upserts by name: an existing tool with the same name is replaced, others are preserved. Changes are saved to the branch's draft via read-modify-write against the open draft — make tool edits one at a time (sequential edits stack; concurrent edits to the same branch can drop each other), then publish_draft once to make everything live. Use remove_agent_tool to delete a tool by name, and configure_call_actions for end_call / transfer_call.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | The endpoint URL to call. May contain {{variable}} placeholders. | |
| name | No | Unique tool name, no spaces (e.g. lookup_order). Re-using a name replaces that tool. | |
| tools | No | Batch mode: multiple API-call tools to add/update in one write. When provided, the top-level single-tool fields are ignored. | |
| method | No | HTTP method | |
| enabled | No | ||
| headers | No | ||
| agent_id | Yes | The agent ID to add the tool(s) to | |
| branch_id | No | Branch whose draft to edit (from list_branches). Omit to use the live branch; if the agent has multiple branches you'll be asked to pick one. | |
| parameters | No | ||
| timeout_ms | No | ||
| description | No | What the tool does and when the agent should call it. This is the only guidance the LLM gets — be specific. | |
| query_params | No | ||
| request_body | No | ||
| response_variables | No |