Obtener datos en tiempo real durante la llamada
Deja que el agente consulte a tu sistema un pedido, un nivel de stock o una cuenta mientras quien llama espera.
Con Herramienta API RAG, el agente pide a tu sistema datos en tiempo real en mitad de la conversación —el estado de un pedido, el stock de un producto, los datos de una cuenta— y responde con ellos. El agente decide cuándo usarla según tu descripción.
Configurarla
- Añade la herramienta
Abre el agente → Acciones → Añadir herramienta → CRM y servicios → Herramienta API RAG.
- Descríbela y apúntala a tu endpoint
Campo Qué introducir Nombre p. ej., Consulta de pedidos Condición general Cuándo usarla, p. ej., el cliente pregunta por el estado de un pedido URL del endpoint API p. ej., https://api.yourshop.com/orders/{order_id}; los{placeholders}se rellenan con los valores que recopila el agenteMétodo HTTP GET,POST,PUT,DELETEoPATCHMensaje de ejecución Lo que dice el agente mientras espera, p. ej., Un momento, estoy comprobando tu pedido Tiempo de espera de solicitud (ms) Cuánto esperar tu respuesta; 5000 por defecto Encabezados, Parámetros de consulta Valores fijos opcionales, p. ej., tu clave API - Indica qué debe recopilar el agente
El Esquema de parámetros (JSON) enumera los valores que el agente obtiene de quien llama y envía; consulta más abajo. Si falta un valor obligatorio, el agente lo pregunta primero.
Rellena siempre el Mensaje de ejecución: el silencio mientras se procesa la petición suena a llamada cortada.
El esquema de parámetros
No es el cuerpo de la petición en sí, sino un JSON Schema de los valores que hay que recopilar. Dónde acaban:
| Caso | Adónde va el valor |
|---|---|
La URL contiene {name} | A la URL |
GET, DELETE | El resto, como ?key=value |
POST, PUT, PATCH | El resto, como cuerpo JSON |
Consulta de un pedido por número:
{
"type": "object",
"properties": {
"order_id": {
"type": "string",
"description": "El número de pedido por el que pregunta el cliente, normalmente de 6 a 10 dígitos. Pregúntalo si no lo da."
}
},
"required": ["order_id"]
}
Una reserva con varios valores:
{
"type": "object",
"properties": {
"product_id": { "type": "string", "description": "ID del producto de una búsqueda anterior." },
"quantity": { "type": "integer", "minimum": 1, "maximum": 10, "description": "Cuántos. Por defecto 1." },
"delivery_method": { "type": "string", "enum": ["pickup", "home_delivery", "locker"], "description": "Cómo quiere recibirlo el cliente." },
"customer_email": { "type": "string", "format": "email", "description": "Correo para la confirmación. Pregúntalo si no lo da." }
},
"required": ["product_id", "delivery_method", "customer_email"]
}
Un endpoint estático, p. ej., el horario: { "type": "object", "properties": {} }.
Buenos esquemas para voz:
- Mantenlo plano: de 3 a 5 valores.
- Escribe una
descriptionpara cada valor, con ejemplos: es lo que mejor guía al agente. - Usa
enumpara opciones fijas: el agente convierte «el azul» enblue. - Marca un valor como
requiredsolo cuando la petición no pueda funcionar sin él. - Usa nombres en
snake_caseque coincidan con los{placeholders}de la URL.
Casos de uso
- Estado del pedido: «¿Dónde está mi pedido 482913?»
- Disponibilidad: comprobar el stock o una mesa libre en tu propio sistema.
- Preguntas sobre la cuenta: saldo, fin del contrato, tickets abiertos.
Problemas habituales
| Problema | Qué comprobar |
|---|---|
| El agente nunca la usa | Haz que la Condición general nombre la petición |
| Tu endpoint recibe valores vacíos | Los nombres del esquema deben coincidir exactamente con los {placeholders} |
| El agente dice que no ha podido comprobarlo | Tu endpoint tardó más que el tiempo de espera o respondió con un error |
Relacionado
- Conocer a quien llama antes de que empiece la llamada — datos antes del saludo
- Servidores MCP — muchas herramientas desde un solo servidor