Integración

Registros — dónde acaba lo que el agente recopila

Tus agentes archivan consultas, listas de documentos, solicitudes de reserva y escalados en una cola que trabajas una a una, cada una enlazada de vuelta a la conversación que la produjo. Por MCP, o por HTTP simple si tienes tu propio stack.

Un agente que califica una consulta y luego la deja en una transcripción ha hecho media faena. Los registros son la otra mitad: una cola en tu panel, una entrada por cada cosa que necesita a una persona, con la conversación que la produjo a un clic de distancia.

Nada de esto necesita configuración. Cuando el wizard de configuración crea un agente también conecta estas herramientas, así que una plantilla que dice que "entrega a tu equipo un archivo estructurado" ahora tiene un sitio donde entregarlo.

Qué archiva un agente

TipoSe archiva cuando
leadHay suficiente para que un colega actúe — quién, qué quiere, cómo contactarlo.
checklistFaltan documentos que se perseguirán durante días.
bookingSe solicitó un hueco que solo una persona puede confirmar.
escalationAlguien necesita a un humano ahora.

Un lead o un checklist actualiza el registro de su conversación en lugar de crear un segundo, así que un agente que archiva dos veces en un mismo chat se corrige a sí mismo en vez de saturar tu cola. Un booking y un escalation crean uno cada vez, porque dos de esos son dos cosas reales.

La referencia

Cada registro obtiene una referencia corta — 7K4M-2QP — construida a partir de un alfabeto sin O/0 ni I/1, porque se lee por teléfono y se teclea mal. El agente se la da a tu cliente para que pueda preguntar por ella más adelante.

La referencia no es una clave de acceso. Una lectura se autoriza por la identidad de quien pregunta, arrastrada desde la conversación, así que citar una referencia que alguien oyó de pasada no devuelve nada.

Usar las herramientas desde tu propio stack

Dos interfaces, el mismo comportamiento. Tu token está en el panel, bajo Tenant & API.

MCP

Ya conectado para los agentes que creó el wizard. Para cablearlo en otro sitio, apunta un servidor MCP streamable_http a https://agent4.io/api/mcp con una cabecera Authorization: Bearer. Herramientas: submit_lead, open_checklist, request_booking, escalate, lookup_case, close_case.

HTTP

curl -X POST https://agent4.io/api/tools/records \
  -H "Authorization: Bearer $AGENT4_TOOL_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
        "type": "lead",
        "title": "Sarah — quote for a home policy",
        "summary": "Wants contents cover on a flat she has just bought.",
        "contact": { "name": "Sarah", "phone": "07700 900000" },
        "fields": { "sumInsured": "40000", "startDate": "2026-08-01" }
      }'
{ "reference": "7K4M-2QP", "created": true, "message": "Recorded. The reference is 7K4M-2QP …" }

Cierra uno con PATCH /api/tools/records/{reference} y {"outcome":"quoted"}. Lee uno con GET /api/tools/records/{reference}, que requiere el X-Agent4-End-User de la persona a la que pertenece el registro.

Campos

title, summary, contact y urgency son iguales en cualquier oficio — son lo que la cola ordena y muestra. Todo lo demás va en fields, y cada plantilla declara las claves que su oficio recopila, así que telephone se pliega sobre phone en la entrada. Una clave que ninguna plantilla declaró se conserva en lugar de descartarse; aparece en el registro bajo "también mencionado".

Que te avisen

Una cola de la que nadie es avisado es una cola que nadie lee, así que Notificaciones se sitúa sobre la propia cola. Dos canales, y eliges por tipo cuáles se disparan.

Email va a tu dirección de acceso salvo que indiques otra — quien paga rara vez es quien trabaja la cola. De fábrica, los escalados y las solicitudes de reserva te envían email y las consultas no: una bandeja que pita por cada consulta acaba silenciada, y eso silencia el escalado junto con ella.

Webhook. Enviamos por POST el registro a tu URL en el momento en que se archiva:

{
  "event": "record.created",
  "record": {
    "reference": "7K4M-2QP",
    "type": "lead",
    "title": "Sarah — quote for a home policy",
    "summary": "Wants contents cover on a flat she has just bought.",
    "contact": { "name": "Sarah", "phone": "07700 900000" },
    "fields": { "sumInsured": "40000", "startDate": "2026-08-01" },
    "agent": "Front desk"
  },
  "url": "https://agent4.io/dashboard/records/7K4M-2QP"
}

Vienen con él dos cabeceras: X-Agent4-Timestamp, y X-Agent4-Signature — un HMAC-SHA256 de la marca de tiempo, un punto, y el cuerpo en bruto, con clave del secreto de firma de la página de ajustes. Verifícalo y sabrás que el POST es nuestro y no de alguien que aprendió la URL. La marca de tiempo está dentro de la firma, así que una petición capturada no puede reproducirse contra ti más tarde.

expected = hmac.new(secret.encode(), f"{ts}.{raw_body}".encode(), hashlib.sha256).hexdigest()
hmac.compare_digest(expected, request.headers["X-Agent4-Signature"])

La URL debe ser https y alcanzable desde la internet pública — una dirección que solo resuelve dentro de tu red se rechaza al guardarla, en lugar de fallar en silencio cada vez que llega un registro. Envía una prueba desde la página de ajustes antes de confiar en ella; informa de lo que el receptor realmente respondió.

La carga útil lleva el contenido del registro, incluidos los datos de contacto — un webhook que los omitiera no bastaría para abrir un ticket, que es justo para lo que existe. Así que el endpoint al que apuntes esto recibe los datos personales de tus clientes, y merece el mismo cuidado que cualquier otro sitio donde los guardes.

Entregar uno a un colega

No hace falta una segunda cuenta. Activa un enlace y envíalo — por WhatsApp, o como un QR que alguien escanea de tu pantalla. Cerrar el caso desactiva el enlace, así que la revocación ocurre como parte de terminar el trabajo en lugar de como algo que recordar. Desactivar y reactivar un enlace produce un enlace distinto, así que "desactivado" significa de verdad desactivado para quien aún tenga el viejo.

También puedes imprimir un registro. Una impresión no caduca y no puede recuperarse, lo que merece un momento de reflexión antes de que salga del edificio.

Marcharse

Exporta cada registro como CSV desde la cola, en cualquier momento. Si esto se te queda pequeño y migras a un CRM, los agentes siguen funcionando — los registros son tuyos y viajan contigo.

Qué almacenamos, y cómo

Todo el contenido de un registro — el título, el resumen, los datos de contacto, las notas — está cifrado en reposo. Solo lo que la cola necesita para ordenar y filtrar está en columnas en claro: el tipo, el estado, las marcas de tiempo, y los identificadores que apuntan de vuelta a la conversación. Ninguno de ellos identifica a una persona.

La consecuencia, aceptada deliberadamente: no podemos buscar dentro de tus registros con una consulta a la base de datos. El filtrado es por tipo, estado, agente y fecha.

Los registros son datos personales de tus clientes, custodiados en tu nombre. Borra uno, o todos, desde el panel; cerrar tu cuenta los elimina con ella.