Cómo agregar el nodo
Ambos tipos de agente de IA se agregan desde el mismo punto de entrada: el ítem AI Agent en la barra de herramientas del builder. Su comportamiento cambia según cómo lo uses:- Clic: agrega un nodo AI Agent normal: el agente de IA de Jelou.
- Mantener el cursor encima (hover): abre un selector de proveedores de agentes de IA externos. Al elegir un proveedor, Jelou agrega un nodo Agente de IA externo preconfigurado para ese proveedor.


AI Agent o agente de IA externo
Elige según dónde viva el agente. Para construirlo dentro de Jelou, usa el nodo AI Agent (guía general).Proveedores disponibles
Cada proveedor pide sus propios campos, tomados directamente de su consola, y valida mientras escribes. Las credenciales se seleccionan por el nombre del secreto de la organización que las guarda; el valor del secreto nunca se muestra ni se guarda en el flujo.Amazon Bedrock Agents ya figura en AWS como “Agents Classic” y AWS recomienda AgentCore para agentes nuevos. Con Amazon Bedrock AgentCore en modo HTTP, Jelou envía su cuerpo de turno completo (ver el contrato), así que tu handler debe leerlo; en modo A2A el runtime puede publicar un Agent Card A2A 1.0 o 0.3 (el que publican los runtimes creados con el extra por defecto del SDK de AgentCore).
Comportamiento por proveedor
Estos detalles explican qué salida toma el nodo en los casos que cada proveedor trata de forma particular. Recuerda que Pide más información solo existe en una tarea; en varios turnos el nodo entrega el mensaje y espera al usuario.- Amazon Bedrock Agents: si el agente pide una acción de retorno de control (return of control), el nodo toma Pide más información. El resultado de esa acción viaja al agente en el siguiente turno, junto con el identificador de la invocación, y el agente continúa. Se admite una sola acción por turno; si el agente pide varias a la vez, el turno falla.
- Amazon Bedrock AgentCore: en modo A2A se aceptan Agent Cards 1.0 y 0.3. El calificador del endpoint se aplica al Agent Card y a las llamadas, y Jelou mantiene el mismo identificador de sesión del runtime durante toda la conversación para que los turnos lleguen a la misma sesión. En modo HTTP, si el runtime informa un error dentro de la propia respuesta (
error,error_typeymessage), el turno falla con ese motivo. - Claude Managed Agents: Jelou lee la sesión por streaming hasta que el agente queda inactivo. Si el agente se detiene esperando el resultado de una herramienta, el nodo toma Pide más información. Si el agente agota sus reintentos, el turno falla y se puede reintentar; si alcanza su presupuesto o el modelo se niega a responder, falla sin reintento; si la sesión termina, falla porque el agente ya no está activo. Un error pasajero que el propio agente está reintentando no corta el turno. La versión fijada del agente es un número entero de 1 en adelante.
- Salesforce Agentforce: cada mensaje se interpreta por su tipo.
Informes texto para el usuario.InquireyConfirmtambién se entregan como texto y, en una tarea, el nodo toma Pide más información.Escalatetoma Derivar a operador,SessionEndedtermina la conversación, yFailureoErrorhacen fallar el turno con el motivo que informa Salesforce, sin reintento. - LangGraph Platform: si el grafo se detiene con una interrupción, el nodo toma Pide más información y tu respuesta reanuda el grafo. Cuando hay varias interrupciones pendientes a la vez, Jelou reanuda la primera indicando su ID. Un error que el grafo devuelve dentro de una respuesta exitosa hace fallar el turno con su motivo.
- Microsoft Copilot Studio: Jelou entrega solo las actividades del bot y descarta el eco del mensaje del propio usuario.
- Azure AI Foundry: si la respuesta llega con estado fallido, cancelado o incompleto, o con un error aunque el HTTP sea 200, el turno falla con el motivo que informa Foundry. Una respuesta incompleta por el filtro de contenido se trata como rechazada y no se reintenta; un error
rate_limit_exceededoserver_errorsí se reintenta. Con la API clásica, el motivo sale del campolast_errorde la ejecución.
OpenAI Agents (beta)
El proveedor OpenAI Agents (beta) conecta un agente guardado en la plataforma de OpenAI mediante su API de Agents, que está en beta. Es distinto de OpenAI Responses API (prompt guardado), que usa un prompt reutilizable (pmpt_...) y que OpenAI deja de ofrecer el 30 de noviembre de 2026; para agentes nuevos, usa OpenAI Agents.

Autenticación: token Bearer. Elige el secreto de la organización que guarda tu API key de OpenAI; la key debe pertenecer al proyecto dueño del agente. Si es una key restringida, necesita los permisos
api.agents.read y api.agents.write.
Cómo funciona un turno:
- Jelou crea una sesión con el agente guardado y le envía el mensaje.
- Consulta el turno hasta que termina, dentro del tiempo límite por turno, y entrega el texto de la respuesta final del agente.
- En una tarea, la sesión se elimina al terminar. En varios turnos, Jelou conserva la sesión y envía cada mensaje del usuario como un mensaje nuevo en ella.
- Si el agente llama a una función de tu lado, en una tarea el nodo toma Pide más información, y tu resultado vuelve al agente como resultado de la herramienta.
- Si el agente pide una aprobación de uso del computador o la reconexión de un entorno, el turno falla como rechazado con un mensaje legible, porque un chat no puede responderlo.
- Si el turno no termina dentro del tiempo límite, el nodo toma Hubo un error y Jelou intenta cancelar el turno.
- Los límites de uso, de gasto, de facturación y las políticas de OpenAI hacen fallar el turno sin reintento; una sobrecarga o un límite de frecuencia sí se reintentan.
Pestañas del nodo
El panel del nodo tiene cuatro pestañas y, si tu empresa tiene habilitadas las métricas de eventos, una quinta, Eventos:- Conexión: el tipo de conexión, la URL o los campos del proveedor, los headers fijos, la Instrucción que se envía al agente (por defecto
{{$message.text}}), los Datos que envías y la Interacción (una tarea o varios turnos). - Autenticación: el tipo de autenticación, el secreto de la organización, el certificado mTLS y la firma HMAC.
- Transformar: los scripts previo y posterior y, según el proveedor, la forma de la solicitud y de la respuesta.
- Avanzado: la variable de respuesta, el tiempo límite por turno, los intentos y, en varios turnos, la inactividad de la sesión y el comando de reinicio.

Eventos y condiciones de evaluación
La pestaña Eventos tiene las mismas dos secciones que el AI Agent: Configuración de eventos y Condiciones de evaluación. Solo aparece si tu empresa tiene habilitadas las métricas de eventos. Las condiciones de evaluación miden los resultados de la conversación con el agente externo. Defines con un prompt qué debe cumplirse; cuando la conversación termina con éxito, Jelou analiza el historial (lo que dijo el usuario y lo que respondió el agente) contra cada condición activa. Por cada condición que se cumple, se dispara un evento con su nombre, listo para analizarse en Métricas.- Una tarea: la conversación se evalúa cuando el agente completa la tarea.
- Varios turnos: se evalúa cuando el agente da por terminada la conversación, con todos los turnos desde el inicio.
- Si el turno falla, no se evalúa nada.
- Un nodo sin condiciones activas se comporta exactamente igual que antes y no guarda ninguna conversación para evaluar.
Una tarea o varios turnos
Al configurar el nodo eliges cómo interactúa con tu agente:- Una tarea: el nodo envía la tarea una vez, recibe la respuesta y sale del nodo.
- Varios turnos: el nodo mantiene la conversación con el agente, mensaje a mensaje, hasta que el agente la termine o la derive. Mientras el agente responde sin terminar la conversación, el nodo no toma ninguna salida: envía los mensajes al usuario y espera su siguiente mensaje para continuar con el agente.

Ejemplo: una tarea
Ejemplo: varios turnos
Salidas del nodo
El nodo Agente de IA externo tiene cuatro salidas:
- Respondió → el mensaje del agente ya se entregó; continúa el flujo o termínalo.
- Pide más información → un nodo de pregunta que recoge el dato faltante y vuelve a llamar al agente.
- Derivar a operador → tu nodo de transferencia a la Bandeja de entrada.
- Hubo un error → un mensaje de disculpa y, si aplica, un reintento o una derivación a un operador.
La variable de respuesta
El mensaje del agente se entrega al usuario directamente. Los datos estructurados que el agente devuelve, por ejemplo con una señalvariables_set o con la ruta de datos del HTTP personalizado, se guardan en la memoria del flujo bajo la variable que defines en la tarjeta Guardar respuesta de la pestaña Avanzado (por defecto agentReply; en el canvas aparece como “Guardar la respuesta en”). Luego puedes leer cada dato en nodos posteriores, por ejemplo {{$memory.agentReply.ticket}} en un nodo de mensaje o en una condición.
Si no necesitas esos datos en el flujo, apaga el interruptor de Guardar respuesta: el nodo no escribe nada en la memoria, el mensaje del agente se entrega igual y las salidas funcionan igual. Los nodos que ya existían siguen con el interruptor encendido.
Si el agente no devuelve datos estructurados, la variable queda vacía: el texto de la respuesta no se guarda en ella.
Autenticación y secretos de la organización
Cada proveedor admite uno o varios esquemas de credencial, según lo que su API acepta:
En todos los casos, el nodo guarda solo el nombre del secreto de la organización, nunca su valor. El secreto se resuelve en el momento de la llamada y nunca se muestra ni se guarda en el flujo.
Opciones avanzadas para HTTP personalizado
Cuando tu agente usa HTTP (contrato de turno de Jelou) o HTTP personalizado, dispones de opciones adicionales. Se configuran en las pestañas Conexión (headers fijos), Autenticación (OAuth, certificado mTLS y firma HMAC), Transformar (scripts) y Avanzado (reintentos y tiempo límite):

La firma HMAC, los headers estáticos y mTLS están disponibles sin un plan especial (para mTLS, primero registra un certificado de cliente en Jelou). Los scripts previos y posteriores dependen de una opción que Jelou activa por empresa: si la pestaña Transformar muestra que no están disponibles, pide a tu ejecutivo de Jelou que los active.
Firma HMAC: qué se firma y cómo verificarla
Cuando activas la firma de solicitud, Jelou calcula un HMAC-SHA256 sobre el cuerpo exacto de la solicitud (los mismos bytes que se envían) usando el secreto que elijas, y lo envía en un header:
Tu propio servidor puede verificar la firma así (Node.js, usando solo el cuerpo):
{{$message.text}}: contiene el texto del mensaje que llegó al flujo. {{$input.message}} no es una variable de mensaje: $input solo guarda los datos que tu flujo recolectó (por ejemplo, con un nodo Input), así que sale vacío cuando el nodo se ejecuta desde un mensaje de chat.
Scripts previos y posteriores
Los scripts corren en el mismo entorno seguro (sandbox) que usa el nodo API. Se configuran en la pestaña Transformar del nodo, en dos subpestañas: Jelou → Tu agente (script previo) y Tu agente → Jelou (script posterior). Qué puede cambiar cada script depende del proveedor:
En todos los casos, un texto vacío o sin cambios conserva el original, y un error del script hace fallar el turno.

$context.get("agentRequest") contiene { task, sessionId, body, headers }. Por ejemplo, para envolver el cuerpo en un sobre propio de tu empresa:
$context.get("agentResponse") contiene { status, body }. El script debe dejar en agentResponse.body el objeto que luego lee el mapeo de la respuesta (las rutas textPath, dataPath, sessionIdPath, etc.).
Un error que lanza el script hace fallar el turno por la salida Hubo un error del nodo. Los cambios del script nunca tocan las variables propias del flujo: solo modifican lo que Jelou envía o lee para esta llamada.
Responder después (confirma y responde después)
Algunos agentes externos no contestan dentro de la misma llamada: confirman que recibieron el mensaje y envían su respuesta más tarde, por su cuenta. Para ese caso, el nodo Agente de IA externo tiene un modo opcional. Viene desactivado, así que un nodo existente se comporta exactamente igual que antes. El campo Cómo responde el agente aparece en la pestaña Transformar, subpestaña Tu agente → Jelou, cuando el tipo de conexión es HTTP (contrato de turno de Jelou) o HTTP personalizado y la interacción es Varios turnos. Tiene dos opciones:- En la misma respuesta (por defecto): el agente responde dentro de la misma llamada, como hasta ahora.
- Confirma y responde después: el agente confirma con cualquier respuesta 2xx. Jelou no entrega nada del cuerpo de la confirmación y deja el nodo esperando el siguiente mensaje del usuario, con el mismo tiempo de inactividad de la sesión. Ese mensaje se reenvía al agente dentro de la misma ejecución.

Cuándo termina la conversación
En la misma subpestaña, estos dos campos opcionales aparecen solo en este modo:- Campo que termina la conversación: la ruta del campo en el cuerpo de la confirmación, por ejemplo
status,data.stateoitems[0].s(máximo 200 caracteres). - Valores que terminan la conversación: de 1 a 20 valores distintos, separados por comas. Acepta texto, números enteros y verdadero o falso. Cuando el campo trae uno de ellos, la conversación termina y el flujo sigue por la salida Respondió.
Salidas que debes conectar
- Conecta siempre la salida Hubo un error: es la que toma el nodo cuando vence la espera sin que el usuario escriba. Sin esa conexión no podrás publicar el flujo.
- Conecta la salida Respondió solo si definiste el campo que termina la conversación. Sin esos campos no se usa.
- La salida Derivar a operador no es obligatoria.
No respondas después del límite de tiempo
Si tu agente confirma tarde y el nodo ya venció, el flujo sigue por Hubo un error y puede enviar su mensaje de respaldo. Si tu agente igual publica su respuesta después, el usuario recibe las dos. Jelou no puede retirar un mensaje que tu agente ya envió por la API de envío, así que la regla es del lado del agente: no envíes la respuesta cuando ya pasó el límite del turno. Para saber cuándo vence, depende de cómo se conecta tu agente:- Con HTTP personalizado, el script previo (pestaña Transformar) recibe
agentRequest.turnconturnId,inputId,deadlineMsyexpiresAt(hora absoluta en formato ISO). Pásalo en el cuerpo para que tu agente lo vea:
reply_by antes de enviar y, si ya pasó, descarta la respuesta. Los nodos cuyo script no lee turn se comportan igual que antes.
- Con HTTP (contrato de turno de Jelou), la solicitud ya trae
turnId,inputIdydeadlineMsen el cuerpo.deadlineMsson los milisegundos que el nodo espera desde que envía la solicitud, no una hora absoluta: calcula el límite sumándolos a la hora en que tu agente recibe el mensaje.
Acciones: el agente elige la salida
Con HTTP personalizado de varios turnos, o con HTTP (contrato de turno de Jelou) en el modo Confirma y responde después, tu agente puede decidir por dónde sigue el flujo. En la subpestaña Tu agente → Jelou de la pestaña Transformar, la sección Acciones (salidas adicionales) te deja declarar hasta 12 acciones, por ejemplologin o ejecutar_prestamo. Cada acción agrega una salida propia al nodo, Acción: login, Acción: ejecutar_prestamo, y el flujo sigue por ella en la misma ejecución, sin esperar al usuario.
- Nombre de la acción: minúsculas, números y guion bajo, hasta 32 caracteres, sin repetir.
- Campo con el nombre de la acción: la ruta en la respuesta de tu agente que trae el nombre. Por defecto es
action. - Campo con los datos de la acción (opcional): la ruta de un valor que quieres usar en la rama. Se guarda junto al nombre en la variable de respuesta como
actionData.
result.action y la ruta de datos result.data, esta respuesta de tu agente toma la salida Acción: ejecutar_prestamo:
action con el nombre y actionData con { "monto": 1500 }.
- Un campo vacío o ausente no es una acción: el turno sigue como siempre.
- Un nombre que no está en la lista hace fallar el turno y el flujo sigue por Hubo un error.
- Conecta cada acción a un nodo: el nodo muestra un aviso en el lienzo mientras falte. Si quitas una acción, sus conexiones se eliminan.
- Cuando la rama termina y vuelve al nodo, el nodo espera el siguiente mensaje del usuario y lo reenvía al agente en la misma ejecución.
Mensajes que no son texto
Cuando el usuario envía una imagen, un audio, un documento, una respuesta de WhatsApp Flow, un botón, una lista o una ubicación, el agente ya no recibe una tarea vacía. La tarea llega como[tipo] descripción (o solo [tipo]), y la solicitud incluye un objeto input.inbound con el tipo, el texto, la descripción, el tipo de archivo y el id del mensaje.
Los datos sensibles no se envían por defecto. En la pestaña Conexión, el campo Datos que envías te deja elegir cuáles agregar:
- URL del archivo
- Respuesta de botón o lista
- Respuesta de WhatsApp Flow
- Ubicación

Prefijo de la firma
Algunos agentes esperan la firma HMAC con un texto delante, por ejemplosha256= seguido del valor. En la pestaña Autenticación, en Firmar las solicitudes, el campo Prefijo de la firma (ej. sha256=) agrega ese texto literal antes del valor de la firma. Acepta de 1 a 32 caracteres: letras, números y _ = . : / + -; no admite espacios ni plantillas. El header de la marca de tiempo nunca lleva prefijo. Se aplica a HTTP (contrato de turno de Jelou) y HTTP personalizado, y en cada reintento.
Token OAuth2 por mTLS
Si tu agente usa Credenciales de cliente OAuth2 y exige el certificado de cliente también para pedir el token, en la pestaña Autenticación, elige un Certificado mTLS y activa Pedir el token también con el certificado mTLS. El pedido del token viaja por el mismo certificado que la llamada al agente. La URL del token debe seguir siendo https. El interruptor solo aparece con esa autenticación y con un certificado elegido; si quitas el certificado, se desactiva. Desactivado, el token se pide como siempre.El contrato de turno de Jelou
Cuando eliges HTTP (contrato de turno de Jelou), tu servidor recibe y responde con una forma fija que Jelou ya sabe interpretar, sin mapear rutas. Jelou envía unPOST con el turno (turnId, input.parts, conversation, user, deadlineMs, interaction…) y tu agente responde con status, outputs y, si hace falta, signals. La descripción campo por campo, con ejemplos para copiar, está en Agente de IA externo: qué recibe y qué responde tu agente.
conversation_ended:
Segunda respuesta del agente
Si tu agente no habla este contrato, usa HTTP personalizado: ahí defines tú mismo la forma del cuerpo que se envía y las rutas donde Jelou debe leer el texto de respuesta, los datos estructurados y el identificador de sesión, en la pestaña Transformar del nodo.
Probar conexión
Antes de publicar tu flujo, usa el botón Probar conexión en la pestaña Conexión del nodo para verificar que todo está bien configurado, sin esperar a que un usuario real dispare el nodo. La prueba corre una serie de verificaciones encadenadas, deteniéndose en la primera que falle:
Si todas las verificaciones pasan, ves una confirmación:


Seguridad
- Las credenciales nunca salen de los secretos de tu organización. El nodo guarda solo el nombre del secreto; su valor nunca se muestra ni se guarda en el flujo.
- Solo HTTPS. Jelou no llama a direcciones internas ni privadas.
- Las respuestas de tu agente pasan por los mismos controles de seguridad de Jelou que las respuestas de un AI Agent, antes de llegar al usuario: se filtran igual que cualquier mensaje saliente, sin que tengas que configurar nada adicional en el nodo.
Solución de problemas
El nodo sale siempre por 'Hubo un error'
El nodo sale siempre por 'Hubo un error'
Revisa primero Probar conexión: casi siempre señala si el problema es el certificado, el secreto, el token o el propio agente. Las causas más comunes son una credencial que expiró o se revocó, una URL que dejó de responder, o una respuesta del agente que no es JSON válido o no trae el campo esperado en la ruta configurada.
El turno tarda mucho y termina en error
El turno tarda mucho y termina en error
El nodo espera como máximo el tiempo límite por turno configurado (25 segundos por defecto, hasta 120 como máximo). Si tu agente necesita más tiempo, sube el límite en la pestaña Avanzado; si el agente falla de forma intermitente, revisa los reintentos: solo aplican a tiempos de espera, límites de uso (HTTP 429) y errores de servidor (5xx), nunca a una solicitud que el agente rechazó explícitamente.
La firma HMAC no coincide en mi servidor
La firma HMAC no coincide en mi servidor
Verifica siempre sobre el cuerpo crudo de la solicitud, antes de parsear el JSON (ver la sección de firma HMAC más arriba). Confirma también que usas el mismo secreto, la misma codificación (hexadecimal o Base64) y, si activaste
timestamp.body, que estás firmando "{timestamp}.{body}" y no solo el cuerpo.'Pide más información' no aparece en varios turnos
'Pide más información' no aparece en varios turnos
Es esperado: esa salida solo existe en modo una tarea. En varios turnos, cuando el agente necesita un dato adicional simplemente lo pide como un mensaje normal y el nodo sigue esperando la respuesta del usuario, sin tomar ninguna salida.
No veo el nodo Agente de IA externo ni el selector de proveedores
No veo el nodo Agente de IA externo ni el selector de proveedores
El nodo se está habilitando de forma gradual. Pide a tu ejecutivo de Jelou que lo active para tu empresa.
Disponibilidad
El nodo Agente de IA externo se está habilitando de forma gradual. Si no lo ves en el canvas de tu proyecto, contacta a tu ejecutivo de cuenta de Jelou para solicitar su activación.Nodo AI Agent
Configuración general del nodo AI Agent.