Skip to main content
Usa toolType para elegir el comportamiento de la herramienta. La API admite estos seis tipos públicos:
No uses endTurn como apiName: ese nombre está reservado por el agente.
Todos los tipos requieren name, apiName e instructions, y pueden definir inputs. http, phone_connect y department_availability también admiten loadingText y showLoadingText; human_handoff admite loadingText. conversation_ended y run_code no usan esos campos de presentación.

HTTP

Usa http para llamar una URL con GET, POST, PUT, DELETE o PATCH. details requiere endpoint, method y authentication.
  • authentication admite {"type":"no_auth"} o {"type":"bearer","token":"<token>"}.
  • headers y queryParams son mapas de strings.
  • body es un objeto JSON.
  • Puedes usar placeholders {{parametro}} en la URL, headers, query params y body.
  • outputVariablePath usa notación de puntos. Si lo omites, se guarda la respuesta completa.
La configuración guardada y las respuestas de lectura contienen tokens y headers sin redactar. Además, la solicitud saliente no verifica el certificado TLS. Usa solo destinos de confianza y credenciales de alcance mínimo.

Transferencia humana

human_handoff verifica que el departamento esté permitido y disponible. Si la transferencia se completa, termina el turno y la ejecución del agente puede devolver handoff.
Si omites allowedDepartments o envías un arreglo vacío, el agente puede elegir cualquier departamento disponible. Durante la ejecución, este tipo usa tres argumentos fijos: summary, reason y departmentId; la configuración de inputs se reemplaza por esos argumentos.

Fin de conversación

conversation_ended marca la conversación como terminada. No necesita configuración específica:
Este tipo es distinto de endTurn: endTurn solo termina el turno actual y queda reservado para uso interno del agente.

Conexión telefónica

phone_connect inicia el flujo de marcado únicamente cuando el agente se ejecuta en un contexto de llamada de voz. En otros contextos no conecta una llamada. Define un input phoneNumber de tipo string para que el agente proporcione el destino.

Disponibilidad de departamentos

department_availability consulta la disponibilidad de uno o todos los departamentos permitidos:
Si omites allowedDepartments, consulta todos los departamentos. Si lo envías, debe contener al menos un ID. La herramienta expone un único input opcional departmentId; si se omite, devuelve todos los departamentos permitidos. includeFormattedSchedule es true por defecto durante la ejecución. El resultado incluye checkedAt y, para cada departamento, available, decision, description, rangos efectivos y, si lo solicitaste, schedule.

Ejecutar código

run_code ejecuta JavaScript durante un máximo de 60 segundos:
El código se ejecuta de forma remota en infraestructura administrada por la plataforma, no en tu dispositivo. Cada ejecución tiene una duración limitada y recibe únicamente los datos proporcionados por la plataforma.
  • code admite hasta 100,000 caracteres y no puede quedar vacío.
  • Lee los parámetros desde input y asigna el resultado a output.
  • output debe ser un objeto JSON serializable de hasta 32 KiB. No puede ser un arreglo ni un valor primitivo.
  • Con network.enabled: true, dispone de fetch, axios, Headers, Request y Response.
  • Con la red deshabilitada, esas APIs no están disponibles.
Si habilitas el acceso de red, ejecuta únicamente código de confianza y evita incluir información sensible que no sea necesaria.
Las respuestas de lectura devuelven details.code sin redactar. No incluyas API keys, tokens ni otros secretos directamente en el código.
Antes de guardar, puedes ejecutar la misma configuración con Probar código.