Saltar al contenido principal
POST /workflows/:id/tools Agrega una tool HTTP personalizada que el agente puede llamar — tu propio endpoint, descrito como se describe un function call de un LLM. Gatéala a stages específicos del funnel con Configurar Stage Gate.

Parámetros de Ruta

ParámetroTipoRequeridoDescripción
idstring (uuid)ID del agente

Cuerpo de la Solicitud

CampoTipoRequeridoDescripción
namestringsnake_case, coincidiendo con ^[a-z][a-z0-9_]*$. Inmutable después de creada
descriptionstringQué hace la tool y cuándo debería llamarla el agente
urlstringEndpoint que llama la tool
methodstringNoGET, POST, PUT, PATCH, o DELETE. Por defecto POST
parametersobjectNoObjeto estilo JSON-schema que describe los argumentos de llamada de la tool. Por defecto { "type": "object", "properties": {} }
headersobjectNoHeaders estáticos enviados en cada llamada, ej. { "Authorization": "Bearer ..." }
query_parametersobjectNoQuery params estáticos enviados en cada llamada
timeout_msintegerNoLimitado entre 1,000 y 120,000. Por defecto 10000
available_in_statusesstring[]NoKeys de status del funnel donde se ofrece esta tool. Omite o pon null para todos los statuses
auto_run_on_entrybooleanNoCorrer automáticamente cuando un lead entra a un status elegible. Por defecto false
call_oncebooleanNoPermitir solo una llamada por lead. Por defecto false
is_activebooleanNoPor defecto true

Respuestas

201 — Tool creada

{
  "success": true,
  "tool": {
    "id": "9a1b2c3d-0000-4000-8000-000000000001",
    "name": "check_availability",
    "description": "Checks open slots on the sales calendar for a given day",
    "method": "GET",
    "url": "https://api.acme.com/availability",
    "is_active": true,
    "available_in_statuses": null,
    "auto_run_on_entry": false,
    "call_once": false,
    "sort_order": 0
  }
}

400 — Error de validación

{
  "error": "Invalid input",
  "message": "name must be snake_case (^[a-z][a-z0-9_]*$)"
}
También se devuelve como "description is required", "url is required", o "method must be one of: GET, POST, PUT, PATCH, DELETE".

401 — Error de autenticación

Ver Autenticación.

404 — No encontrado

{
  "error": "Not found",
  "message": "Workflow not found"
}

409 — Conflicto

{
  "error": "Conflict",
  "message": "A tool named \"check_availability\" already exists in this workflow"
}

500 — Error interno del servidor

Última modificación el 10 de julio de 2026