Skip to main content
El nodo Agente de IA externo delega la conversación a un agente que tú alojas fuera de Jelou. Con el proveedor HTTP (contrato de Jelou) (http_sync), Jelou hace un POST a la URL de tu agente en cada turno y espera una respuesta JSON con un formato exacto. Esta guía describe ese formato, con ejemplos que puedes copiar.
Este formato también aplica a un agente HTTP desplegado en Amazon Bedrock AgentCore: lo que tu handler devuelve es lo que Jelou valida.

Qué recibe tu agente

Jelou envía un POST con content-type: application/json, las cabeceras de la credencial que configuraste y, si lo activaste, la firma de la solicitud. El cuerpo es este:

Qué debe responder tu agente

Responde con HTTP 200 y un JSON. La respuesta es estricta: cualquier campo que no esté en esta tabla se rechaza. Reglas por estado: failed y timed_out exigen error y outputs: []; blocked exige outputs: []; action_required exige una señal action_required.
Los nombres deben ser exactamente status y outputs. Jelou no acepta alias como output, messages, result o turnStatus.

Partes de outputs

Señales (signals)

Respuestas de ejemplo

Respuesta mínima

Es equivalente a enviar la forma completa:

Con botones de elección

Pasar a un asesor

Guardar variables y terminar

Error del lado del agente

El nodo sale por agent_failed.

Códigos HTTP

Si tu agente responde con un código distinto de 2xx, el turno falla: 401 y 403 como auth, 404 y 410 como not_active, 429 como rate_limited y 408, 504 o 5xx como provider_error. 429 y 5xx se reintentan si configuraste reintentos.

Qué pasa si la respuesta no cumple el formato

El turno falla con el código malformed y el mensaje indica qué corregir, solo con nombres de campos y rutas (nunca con valores). Por ejemplo:
Puedes ver el mensaje en externalAgent.error.message del resultado del nodo en la ejecución o en la prueba.

Ejemplo: handler HTTP en Amazon Bedrock AgentCore (Python)

Lee el mensaje del usuario desde input.parts y devuelve una respuesta válida. El resultado de la función es el cuerpo JSON de la respuesta.