/workflows/:id/tools
Add a custom HTTP tool the agent can call — your own endpoint, described the way an LLM function call is described. Gate it to specific funnel stages with Set Stage Gate.
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string (uuid) | Yes | Agent ID |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | snake_case, matching ^[a-z][a-z0-9_]*$. Immutable after creation |
description | string | Yes | What the tool does and when the agent should call it |
url | string | Yes | Endpoint the tool calls |
method | string | No | GET, POST, PUT, PATCH, or DELETE. Default POST |
parameters | object | No | JSON-schema-style object describing the tool’s call arguments. Default { "type": "object", "properties": {} } |
headers | object | No | Static headers sent with every call, e.g. { "Authorization": "Bearer ..." } |
query_parameters | object | No | Static query string params sent with every call |
timeout_ms | integer | No | Clamped to 1,000 to 120,000. Default 10000 |
available_in_statuses | string[] | No | Funnel status keys where this tool is offered. Omit or null for every status |
auto_run_on_entry | boolean | No | Run automatically when a lead enters an eligible status. Default false |
call_once | boolean | No | Allow only one call per lead. Default false |
is_active | boolean | No | Default true |
Responses
201 — Tool created
400 — Validation error
"description is required", "url is required", or "method must be one of: GET, POST, PUT, PATCH, DELETE".