Descripción General
Las acciones API personalizadas permiten a tus agentes de IA integrarse con sistemas externos durante conversaciones. Tus agentes pueden recuperar datos de clientes, actualizar registros CRM, verificar inventario, crear tickets y ejecutar lógica de negocio - todo en tiempo real mientras hablan con los clientes.

- Configurar el endpoint de API - Establecer método HTTP, URL, autenticación, encabezados y cuerpo de solicitud
- Definir variables - Especificar qué información necesita recopilar el agente antes de llamar a la API
- El agente la usa - Durante la conversación, el agente recopila las variables y llama a tu API
- La API responde - Tu sistema devuelve datos que el agente usa para continuar la conversación
Las acciones personalizadas se ejecutan síncronamente durante conversaciones. Para operaciones que no necesitan respuestas inmediatas (registro, análisis, procesamiento post-llamada), usa Webhooks en su lugar.
Ejemplo de Flujo
Ejemplo Seguro con Verificación
Para búsquedas de datos sensibles, verifica primero la identidad del cliente:- Primera acción: “Verificar Cliente” - autentica usando ID de cliente + PIN/contraseña
- Segunda acción: “Buscar Pedido” - solo se ejecuta si la verificación tiene éxito
Crear una Acción Personalizada
Configurar Información Básica
- Nombre: Nombre descriptivo (ej., “Buscar Estado de Pedido”)
- Descripción: Cuándo usarla (10-200 caracteres)
Configuración
Pestaña Endpoint
Método HTTP (Requerido)- GET - Recuperar datos
- POST - Crear registros
- PUT - Reemplazar registros completos
- PATCH - Actualizar campos específicos
- DELETE - Eliminar registros
- URL completa de API:
https://api.company.com/customers - Soporta variables de plantilla:
https://api.company.com/orders/{{order_id}} - Antepone automáticamente
https://si no se especifica protocolo
Pestaña Autenticación
Elige tipo de autenticación:Ninguna
Ninguna
No se requiere autenticaciónUsar para:
- APIs públicas
- Endpoints internos en red privada
Token Bearer
Token Bearer
Más común para APIs modernasConfiguración:Usar para:
- Token: Tu token/JWT de API
- Tokens de acceso OAuth 2.0
- Autenticación JWT
- APIs REST modernas
Autenticación Básica
Autenticación Básica
Autenticación de usuario/contraseñaConfiguración:Usar para:
- Usuario: Usuario de API
- Contraseña: Contraseña de API (enmascarada con viñetas al editar)
- APIs heredadas
- Autenticación simple
Encabezado
Encabezado
Autenticación basada en encabezado personalizadoConfiguración:Usar para:
- Nombre de Encabezado: ej.,
X-API-Key - Valor de Encabezado: Tu clave API (enmascarada al editar)
- Autenticación de clave API
- Esquemas de autenticación personalizados
Cuerpo
Cuerpo
Credenciales en el cuerpo de la solicitudConfiguración:Usar para:
- Nombre de Parámetro: ej.,
api_key - Valor de Parámetro: Tu credencial (enmascarada al editar)
- Esquemas de autenticación no estándar
- Endpoints de inicio de sesión
Pestaña Parámetros
Encabezados- Agrega encabezados HTTP personalizados (pares clave-valor)
- Ejemplo:
Content-Type: application/json
- Agrega parámetros de consulta de URL (pares clave-valor)
- Ejemplo:
include=orders&limit=100
- Área de texto JSON con fuente estilo Monaco
- Soporta variables de plantilla:
{{variable_name}} - Valida estructura JSON mientras permite marcadores de posición de variables
Pestaña Variables
Esta es la parte más importante. Las variables definen qué información necesita recopilar tu agente antes de llamar a la API. Cada variable crea un parámetro de función que el LLM ve y recopila durante la conversación. Campos de Variable:- Nombre: Nombre de variable (ej.,
order_number,customer_email) - Tipo: string, integer, float, boolean, date, email, phone
- Descripción: Para qué es esta variable (ayuda al LLM a entender)
- Ejemplo: Valor de ejemplo (guía al LLM)
- Requerido: Interruptor - si es verdadero, el LLM debe recopilar antes de llamar a la API
- Valor Predeterminado: Usado si no es requerido y no se proporciona
Uso en Instrucciones
Referencia la acción por nombre y explica cuándo usarla:Recopilación de Variables
El agente recopila automáticamente las variables requeridas antes de llamar a la API:Usar Variables Opcionales
Variables de Plantilla
Usa sintaxis{{variable_name}} en URLs, encabezados, parámetros de consulta y cuerpo de solicitud.
Variables de Acción
Variables que definiste en la pestaña Variables:Variables de Contexto
Disponibles automáticamente desde el registro de contacto y contexto de llamada: Información de Contacto:Conversión de Tipos
Las variables se convierten automáticamente a sus tipos definidos:integer→ número en JSONfloat→ decimal en JSONboolean→ true/false en JSONstring→ cadena entre comillas en JSON
Pruebas
Probar Endpoint Independientemente
Usa Postman o cURL para verificar:
- El endpoint es alcanzable
- La autenticación funciona
- El formato de solicitud es correcto
- La respuesta es como se espera
Comenzar con Valores Estáticos
Configura la acción con valores codificados primero (sin variables)Verifica funcionalidad básica antes de agregar complejidad
Agregar Variables
Reemplaza valores codificados con variablesPrueba con registro de contacto que tenga campos requeridos
Probar en Agente
- Iniciar llamada web
- Activar la acción a través de conversación
- Verificar que el agente recopile variables correctamente
- Verificar que la API se llame con datos correctos
- Confirmar que el agente use la respuesta apropiadamente
Solución de Problemas
401 No Autorizado
401 No Autorizado
Causa: Credenciales inválidas o tipo de autenticación incorrectoSolución:
- Verificar que las credenciales sean correctas
- Revisar que el tipo de autenticación coincida con los requisitos de la API
- Probar con Postman usando las mismas credenciales
- Verificar que el token no haya expirado
404 No Encontrado
404 No Encontrado
Causa: URL incorrecta o el recurso no existeSolución:
- Verificar que la URL del endpoint sea correcta
- Revisar que las variables de plantilla se completen correctamente
- Probar con valores estáticos primero
El Agente No Recopila Variables
El Agente No Recopila Variables
Causa: Variables no configuradas o descripciones poco clarasSolución:
- Verificar que las variables estén definidas en la pestaña Variables
- Agregar descripciones y ejemplos claros
- Establecer required=true para variables esenciales
- Referenciar la acción por nombre exacto en las instrucciones
Las Variables No Se Reemplazan
Las Variables No Se Reemplazan
Causa: Sintaxis incorrecta o la variable no existeSolución:
- Usar sintaxis exacta:
{{variable_name}} - Verificar que la variable esté definida en la pestaña Variables
- Revisar que el registro de contacto tenga el campo completado
- Establecer valor predeterminado en la pestaña Variables para variables opcionales
Errores de Tiempo de Espera
Errores de Tiempo de Espera
Causa: La API responde lentamente (>2 minutos)Solución:
- Optimizar tiempo de respuesta de la API
- Considerar usar webhooks para operaciones lentas
- Cachear datos accedidos frecuentemente
El Agente No Puede Usar Datos de Respuesta
El Agente No Puede Usar Datos de Respuesta
Causa: La API devuelve JSON no válido o mal formadoSolución:
- Verificar que la API devuelva JSON válido
- Revisar encabezado Content-Type en la respuesta
- Probar respuesta con validador JSON
Mejores Prácticas de Seguridad
Usar Solo HTTPS
Usar Solo HTTPS
Siempre usa endpoints HTTPS para encriptar datos en tránsito✅
https://api.company.com/endpoint
❌ http://api.company.com/endpointCredenciales Seguras
Credenciales Seguras
- Nunca codifiques credenciales en URLs
- Usa configuración de autenticación
- Rota claves API regularmente
- Usa claves separadas para pruebas vs producción
- Revoca credenciales comprometidas inmediatamente
Limitar Permisos
Limitar Permisos
- Otorga permisos mínimos necesarios de API
- Usa claves de solo lectura para acciones de búsqueda
- Restringe permisos de escritura a endpoints específicos
- Monitorea actividad inusual
Validar Entradas
Validar Entradas
Tu API debe validar todas las entradas:
- Verificar intentos de inyección
- Validar tipos y formatos de datos
- Limitar longitudes de cadenas
- Usar consultas parametrizadas
Ejemplos del Mundo Real
Búsqueda de Cliente en CRM
Búsqueda de Cliente en CRM
Escenario: Buscar cliente en SalesforceConfiguración:
- Método: GET
- URL:
https://api.salesforce.com/customers/{{customer_id}} - Autenticación: Token bearer
- Variable:
customer_id(string, requerido)
Crear Ticket de Soporte
Crear Ticket de Soporte
Escenario: Crear ticket en ZendeskConfiguración:Instrucciones del Agente:
- Método: POST
- URL:
https://company.zendesk.com/api/v2/tickets - Autenticación: Básica (email/token)
- Variables:
issue_description(string),priority_level(string) - Cuerpo:
Verificar Inventario de Producto
Verificar Inventario de Producto
Escenario: Verificar disponibilidad de productoConfiguración:
- Método: GET
- URL:
https://inventory.company.com/products/{{sku}}/availability - Autenticación: Encabezado (
X-API-Key) - Variable:
sku(string, requerido, ejemplo: “PROD-12345”)