El nodo AI Agent de n8n permite que un modelo elija entre las herramientas configuradas. Esa flexibilidad introduce no determinismo y amplía los posibles puntos de fallo, por lo que solo debes usar un agente cuando un enrutamiento determinista más sencillo resulte insuficiente.
Este artículo especifica un diseño de triaje de leads que recibe un lead, recupera el contexto permitido, propone puntuaciones y un borrador, valida el resultado y lo enruta a supervisión humana. No es un flujo de trabajo importable ni una ejecución reportada; las pruebas de aceptación que aparecen más abajo definen qué queda pendiente para que funcione de extremo a extremo.
Asumimos que tienes n8n instalado (alojado en infraestructura propia en un servidor o mediante n8n Cloud) y una clave API funcional para Claude u OpenAI. Si eres nuevo en n8n, sigue primero su tutorial básico.
El diseño también sigue la advertencia de OWASP sobre agencia excesiva: minimiza los permisos de las herramientas, minimiza la autonomía y requiere aprobación impuesta por el flujo de trabajo para acciones trascendentales. Si los datos del lead provienen de un tercero o se utilizarán para prospección, verifica la fuente, los avisos, la base legal, la lista de supresión y las reglas del canal antes de la ingestión o el contacto; la Comisión Europea explica que los datos de terceros no son automáticamente reutilizables para marketing.
No permitas que la primera versión envíe respuestas automáticas a posibles clientes reales. Envía los borradores a revisión humana hasta que tengas registros, idempotencia, umbrales de puntuación y suficientes ejecuciones revisadas para saber cómo se comporta el flujo de trabajo con entradas desordenadas.
Qué estamos construyendo
El flujo de trabajo:
- Un nuevo lead llega mediante un webhook (desde un formulario, un evento, un CRM, etc.).
- El agente enriquece al lead con información de la empresa (utilizando búsqueda web).
- Puntúa al lead en tres dimensiones: ajuste (fit), intención y urgencia.
- Redacta una respuesta personalizada.
- En función de la puntuación, bien:
- Coloca una respuesta y una propuesta para el CRM en cola para su aprobación (para leads de alto ajuste y alta confianza),
- Redacta una respuesta para que un humano la revise y envía una notificación por Slack (para leads medios),
- O simplemente registra y notifica sin responder (para leads con bajo ajuste).
Partes del patrón pueden generalizarse a triajes de baja consecuencia, pero cada nuevo dominio necesita su propio análisis de datos, errores, equidad y revisión profesional. No reutilices un diseño de puntuación de ventas para decisiones de empleo, médicas, legales, financieras, de seguridad infantil o construcción.
El esquema JSON complementario vinculado desde este artículo define la carga útil de entrada (intake). Utilízalo para validar la entrada del webhook antes de que el nodo agente la vea.
Añade un filtro de validación previo al agente
El webhook no debe pasar datos arbitrarios del formulario directamente al agente. Coloca un paso de validación entre el desencadenante y el agente:
| Campo | Regla | Comportamiento ante fallo |
|---|---|---|
email | Obligatorio; recorta y valida, normaliza el dominio de forma conservadora y conserva la parte local a menos que el proveedor propietario defina una canonización más estricta | Rechaza y notifica al propietario |
message | Obligatorio, no vacío, longitud máxima | Rechaza o enruta a revisión manual |
source | Enum obligatorio como website-form, event, crm | Rechaza fuentes desconocidas |
timestamp | Marca de tiempo ISO obligatoria o generada por el webhook | Utiliza la hora de recepción y marca como tal |
lead_id | ID estable obligatorio o clave de idempotencia generada | Deduplica antes del procesamiento |
Este filtro protege el flujo de trabajo de envíos malformados, reintentos duplicados del webhook y contenido de inyección de prompt oculto en los campos del formulario. El agente aún puede leer el mensaje, pero es el flujo de trabajo quien decide si el registro es lo suficientemente válido para procesarlo.
El modelo mental: agente = LLM + herramientas + bucle
Antes de construirlo, el concepto.
Un “agente” en 2026 significa un LLM que puede utilizar herramientas. En lugar de producir una única respuesta, el modelo decide qué acciones (llamadas “herramientas”) llamar. Después de que cada herramienta devuelve resultados, el modelo ve el resultado y decide qué hacer a continuación: otra herramienta, otro paso o una respuesta final.
El nodo AI Agent de n8n implementa este bucle. Le das al modelo:
- Un prompt del sistema (sus instrucciones y tono).
- Un prompt del usuario (la entrada para esta ejecución).
- Un conjunto de herramientas (otros nodos de n8n o sub-flujos de trabajo que el modelo puede llamar).
El modelo decide qué herramientas llamar, en qué orden y con qué argumentos. Después de que cada herramienta devuelve resultados, el modelo reconsidera. Cuando decide que ha hecho lo suficiente, devuelve una respuesta final.
Esto es fundamentalmente diferente de un flujo de trabajo estático porque el orden de los pasos lo determina el modelo, no tú. La habilidad del diseño de agentes reside en:
- Proporcionar al modelo las herramientas correctas (ni demasiado pocas, ni demasiadas).
- Escribir un prompt del sistema que acote su comportamiento.
- Añadir medidas de protección para evitar desviaciones.
- Diseñar la salida para que los nodos posteriores puedan utilizarla de forma fiable.
Paso 1: El desencadenante (trigger)
Abre n8n y crea un nuevo flujo de trabajo. El desencadenante:
- Nodo: Webhook
- Método HTTP: POST
- Modo de respuesta: “When last node finishes”
- Ruta: algo como
/lead-triage
Este webhook recibirá los envíos de leads. n8n te proporciona una URL que puedes configurar como destino para los envíos de tu formulario o del webhook saliente de tu CRM.
Para probar, guarda el flujo de trabajo una vez para que la URL del webhook se active y ten lista una carga útil de ejemplo. Una carga útil típica de webhook de lead podría ser:
{
"name": "Anna Lehtinen",
"email": "anna@somecompany.fi",
"company": "Some Company OÜ",
"role": "Head of Marketing",
"message": "Interested in your AI consulting services. We have a team of 10 and need help with prompt engineering training.",
"source": "website-form",
"timestamp": "2026-05-15T14:30:00Z"
}
Haz clic en “Test step” y envía la carga útil de prueba para ver los datos entrando.
Paso 2: El nodo AI Agent
Añade un nodo AI Agent después del webhook. Configúralo:
- Agente / Tools Agent: Los nodos actuales AI Agent de n8n (1.82+) ya no muestran un menú desplegable de tipo de agente; se ejecutan como Tools Agent. Conecta un modelo de chat y las herramientas siguientes. En plantillas antiguas que aún muestren el tipo de agente, selecciona Tools Agent — el tipo Conversational y otros tipos heredados se eliminaron.
- Modelo de chat: Claude (Anthropic) u OpenAI. Comienza con el modelo generalista actual en tu proveedor, luego pasa a un nivel más rápido o capaz solo cuando tus evaluaciones lo justifiquen. Los modos de razonamiento pueden añadir latencia y coste a cada paso del agente.
- Memoria: Ninguna para triaje sin estado (cada lead es independiente). Para conversaciones multi-turno con el agente, utiliza un nodo de memoria.
- Mensaje del sistema: Aquí reside el comportamiento del agente. Utiliza la plantilla siguiente.
- Mensaje del usuario: Extrae los datos del lead desde el webhook.
El mensaje del sistema:
Eres un agente de triaje de leads para [Your Company Name], una consultora de inteligencia artificial.
Tu tarea es procesar los leads entrantes y generar una decisión de triaje estructurada.
Para cada lead, debes:
1. Utilizar la herramienta `enrich_lead` para recopilar contexto sobre la empresa.
2. Evaluar el lead en tres dimensiones:
- Ajuste (Fit): ¿coincide el lead con nuestro perfil de cliente ideal?
- Empresas de 10-200 personas en B2B, manufactura o servicios profesionales.
- Roles en marketing, operaciones, liderazgo de ingeniería o ejecutivo.
- Intención: ¿qué tan seria es la consulta?
- "Solo curioso" frente a "evaluando activamente" frente a "listo para comprar".
- Urgencia: ¿hay un plazo declarado o implícito?
3. Utilizar la herramienta `score_lead` para registrar las puntuaciones.
4. Utilizar la herramienta `draft_response` para generar una respuesta personalizada.
5. Utilizar la herramienta `propose_route` con uno de los siguientes valores: "review_priority", "human_review", "log_only".
Reglas de enrutamiento (evaluar en este orden; prevalece la primera coincidencia):
- "review_priority" si Ajuste >= 7/10 Y Intención >= 7/10. La respuesta recibe revisión humana prioritaria.
- "human_review" si Ajuste >= 5/10 O Intención >= 5/10. Un humano revisará antes de enviar.
- "log_only" en caso contrario (Ajuste < 5/10 E Intención < 5/10). Solo registramos y continuamos.
Nunca inventes información. Si algo no está claro, marca [unclear] en tu justificación de la puntuación.
Siempre termina devolviendo un objeto JSON con:
{
"fit_score": <1-10>,
"intent_score": <1-10>,
"urgency_score": <1-10>,
"reasoning": "<2-3 sentences>",
"drafted_response": "<the email body>",
"routing": "<review_priority|human_review|log_only>"
}
Observa la estructura. Tenemos:
- Una declaración clara del trabajo.
- Un proceso explícito (pasos 1-5).
- Criterios de puntuación explícitos.
- Lógica de enrutamiento explícita.
- Un formato de salida requerido.
El agente no siempre seguirá esto perfectamente. Pero cuanto más concreto sea el mensaje del sistema, más fiablemente ejecutará la misma forma cada vez.
El objeto JSON no es suficiente por sí solo. Añade un paso de validación después del nodo agente y rechaza las ejecuciones donde falten puntuaciones, el enrutamiento esté fuera del enum permitido o la respuesta redactada esté vacía.
Paso 3: Las herramientas
El agente necesita herramientas para llamar. En n8n, las herramientas se configuran bajo el nodo agente y pueden ser:
- Sub-flujos de trabajo.
- Solicitudes HTTP.
- Nodos de herramienta integrados.
Construyamos cuatro herramientas para nuestro agente.
Herramienta 1: enrich_lead
Un sub-flujo de trabajo que:
- Toma un nombre de empresa y dominio de correo electrónico como entrada.
- Utiliza una API aprobada de búsqueda o datos de empresas cuyos términos permitan el uso.
- Devuelve afirmaciones estructuradas con URLs de fuente canónica y fechas de recuperación; tamaño e identidad desconocidos permanecen desconocidos.
La descripción de la herramienta (que lee el agente para decidir cuándo llamarla):
Recupera contexto público permitido para una empresa lead. Entrada: nombre de empresa y dominio de correo electrónico. Salida: afirmaciones verificadas con URL de fuente y fecha de recuperación, más ambigüedades/errores. No infieras identidad, tamaño o noticias sin una fuente.
Herramienta 2: score_lead
Una herramienta de validación determinista que:
- Acepta puntuaciones propuestas y verifica tipo, rango, justificación requerida y etiquetas permitidas.
- Devuelve errores de validación o un objeto de puntuación normalizado.
- No tiene credenciales de escritura a base de datos, hoja de cálculo, CRM, correo electrónico ni otras.
Persiste solo después de que la salida final del agente pase el mismo esquema en el lado del servidor.
La descripción de la herramienta:
Valida las puntuaciones propuestas para leads sin persistirlas. Entrada: fit_score, intent_score, urgency_score y justificación. Salida:
{valid, errors, normalized_scores}. Esta herramienta no puede escribir registros ni enviar mensajes.
Herramienta 3: draft_response
Un sub-flujo de trabajo que toma el contexto del lead y las puntuaciones para producir un borrador de correo electrónico personalizado. Este sub-flujo llama internamente a otro nodo AI con un prompt específico de redacción:
Redacta una respuesta personalizada a una consulta B2B. Entradas: el mensaje original del lead, el resumen de enriquecimiento de la empresa, las puntuaciones de fit/intent/urgency.
Tono: cálido, directo, sin relleno corporativo. Reconoce la solicitud específica. Referencia al enriquecimiento solo cuando la afirmación tenga una fuente y sea relevante; de lo contrario, omítelo. Termina con un siguiente paso propuesto para revisión humana.
Longitud: 80-120 palabras.
La descripción de la herramienta:
Redacta una respuesta por correo electrónico personalizada al lead. Entrada: el mensaje del lead, resumen de enriquecimiento y puntuaciones. Salida: un borrador de correo electrónico.
Herramienta 4: propose_route
Esta herramienta registra una de tres rutas propuestas; no envía correos electrónicos ni escribe en el CRM:
review_priority: coloca el borrador en la cola de revisión humana prioritaria.human_review: coloca el borrador en la cola estándar de revisión humana.log_only: registra el resultado del triaje sin preparar una acción saliente.
Un nodo Switch determinista después de la validación del esquema aplica el enum permitido y envía review_priority y human_review a una cola de aprobación. Solo un sub-flujo de trabajo separado, con puerta de aprobación, posee las escrituras visibles para el cliente.
Implementa esto como un sub-flujo sin efectos secundarios que devuelva un objeto de propuesta. Después de que termine el nodo Agent, un nodo de validación del esquema determinista y un nodo Switch deciden qué rama puede persistir la propuesta. Ninguna de esas ramas puede llegar a un nodo de envío sin el flujo de trabajo de aprobación separado.
La descripción de la herramienta:
Propone una ruta. Entrada: decisión de enrutamiento (
review_priority,human_reviewolog_only), puntuaciones, justificación y borrador. Salida: un objeto de propuesta en memoria para validación determinista del esquema. Esta herramienta no puede persistir, enviar correos electrónicos ni actualizar el CRM.
Paso 4: Prueba el agente
Con el agente configurado y las cuatro herramientas adjuntas, ejecuta una prueba con la carga útil de ejemplo.
Lo que deberías ver en la vista de ejecución de n8n:
- El webhook recibe la carga útil.
- AI Agent comienza.
- El agente llama a
enrich_lead— ves la herramienta ejecutar y devolver resultados. - El agente selecciona el siguiente paso (puedes o no ver trazas intermedias dependiendo del modelo y configuración).
- El agente llama a
score_lead. - El agente llama a
draft_response. - El agente llama a
propose_routecon una de las tres opciones de enrutamiento. - El agente devuelve el JSON final.
Si algo sale mal, el panel de depuración de n8n te muestra los mensajes entre el agente y sus herramientas. Los problemas más comunes:
- Descripción de la herramienta no lo suficientemente específica. El modelo no puede inferir cuándo es apropiada la herramienta. Haz las descripciones más concretas.
- Esquema de entrada/salida de la herramienta desajustado. El agente no puede pasar los argumentos correctos. Sé explícito sobre el esquema.
- El agente entra en un bucle infinito. Sigue llamando a herramientas sin resolverse. Añade un límite máximo de iteraciones y reexamina tu prompt del sistema.
Paso 5: Añade medidas de protección (guardrails)
Un agente sin restricciones es inseguro en producción. Seis medidas de protección que debes añadir antes de confiarle tráfico real:
1. Máximo de iteraciones. Establece un límite finito desde el número más pequeño que requieran tus casos de evaluación exitosos. Prueba que alcanzar el límite enrute a un humano y no pueda dejar un efecto secundario parcial.
2. Puerta de aprobación para cada respuesta propuesta. review_priority cambia el orden de la cola; no autoriza el envío. Mantén la comunicación con el cliente detrás de una aprobación humana autenticada hasta que una política aprobada por separado diga lo contrario, y nunca infieras seguridad a partir de semanas transcurridas.
3. Lista de permitidos para acciones salientes. Configura tu herramienta CRM y correo electrónico para actuar solo sobre registros que coincidan con tu patrón esperado. Evita que el agente envíe correos electrónicos a la dirección incorrecta o cree registros para no-leads.
4. Registro. Emite metadatos aprobados para cada ejecución: referencia estable de la ejecución y del lead, versiones del flujo de trabajo y del modelo, nombres y resultados de las herramientas, resultado de la validación, ruta, persona que aprueba, reintentos y errores. Los datos brutos del lead, los resultados de enriquecimiento, los borradores y los argumentos de las herramientas contienen datos personales o confidenciales y requieren decisiones independientes sobre la finalidad, el enmascaramiento, el acceso y la conservación.
5. Límites de coste. Establece un número finito de iteraciones del agente y tiempos de espera para el flujo de trabajo, y configura con el proveedor del modelo alertas o límites de gasto y de tasa. Los límites de las ofertas de n8n se describen en términos de ejecuciones y funciones; no des por hecho que n8n Cloud impone un presupuesto diario a una clave de proveedor aportada por el cliente. Controla el uso del proveedor y prueba el interruptor de parada.
6. Propiedad de la decisión. El modelo puede recomendar review_priority, human_review o log_only; el flujo de trabajo aplica la regla final. Mantén el enum de enrutamiento, los umbrales de puntuación y los requisitos de aprobación fuera del prompt para que sean comprobables y visibles.
Paso 6: Endurecimiento (hardening) para producción
Algunos patrones que convierten un prototipo funcional en algo en lo que puedes confiar:
Idempotencia. Asegúrate de que si el mismo lead se procesa dos veces (debido a un reintento del webhook o una reejecución manual), no pueda crear registros duplicados ni mensajes. Una comprobación de leer-y-luego-escribir es propensa a condiciones de carrera; reclama atómicamente una clave única en una base de datos y utiliza la misma clave en cada escritura posterior. Sigue el diseño de reclamación atómica, arrendamiento (lease), token de aprobación y buzón de salida.
Manejo de errores. Envuelve cada llamada a herramienta con manejo de errores. Si el enriquecimiento no está disponible o la identidad de la empresa es ambigua, el flujo de trabajo debe marcar los datos faltantes y enrutar a revisión humana; no debe inventar hechos personalizados meramente para completar el borrador.
Observabilidad. Rastrea métricas clave: tiempo medio de ejecución, frecuencia de llamadas a herramientas, porcentaje enrutado a cada ruta. Las anomalías son señales.
Revisión piloto. Revisa cada ejecución en un piloto acotado y con consentimiento contra el lead original. Dimensiona el piloto para cubrir tipos de fuente, idiomas, campos faltantes, empresas ambiguas, intentos de inyección y clases prioritarias. Rastrea enriquecimiento incorrecto, puntuación, ruta, plazo y borrador. Un conteo fijo de 50 no establece un nivel de fiabilidad.
Un interruptor de parada (kill switch) aplicable. Controla mediante una puerta la ejecución y cada despachador de efectos secundarios desde fuera del modelo, para que un operador autorizado pueda pausar las ejecuciones nuevas y las reanudadas sin volver a desplegar. Prueba que el estado deshabilitado bloquee los envíos en cola e in-flight; una instrucción o valor de prompt que solo el agente “verifica” no es un interruptor de parada.
La decisión de diseño más importante: qué herramientas dar al agente
El determinante más grande de la calidad del agente es el conjunto de herramientas. Dos modos de fallo:
Muy pocas herramientas. El agente no puede hacer su trabajo. Intenta suplir las capacidades que le faltan, a menudo alucinando.
Demasiadas herramientas. El agente se confunde, selecciona la herramienta incorrecta o desperdicia iteraciones explorando. La calidad se degrada.
Una buena regla: comienza con el conjunto mínimo viable de herramientas y solo añade herramientas cuando el agente demuestre necesitarlas.
Para el triaje de leads, las cuatro herramientas que elegimos son aproximadamente correctas. Podrías añadir:
- Una herramienta “lookup_existing_customer” para verificar si el lead ya es un cliente.
- Una herramienta “schedule_meeting” que se integre con tu calendario.
- Una herramienta “translate” si los leads llegan en múltiples idiomas.
Pero cada nueva herramienta es una decisión más que el agente debe tomar. Cada una debe ganarse genuinamente su lugar.
Patrones que generalizan
Las mismas ideas de control pueden ayudar a otros flujos de trabajo de triaje, pero las etiquetas y acciones siguientes no son transferibles sin revisión del dominio:
Triaje de tickets de soporte. Recupera el historial permitido del cliente y propone categoría/prioridad; mantén las acciones sobre la cuenta, la seguridad, los reembolsos, los derechos contratados y los mensajes al cliente detrás de políticas y puertas humanas.
Flujos de trabajo de empleo. No adaptes la puntuación del lead a automatización de entrevista/rechazo. Las decisiones de empleo pueden crear riesgos legales y de discriminación y requieren revisión calificada de RR. HH./legal, controles de accesibilidad, evaluación de sesgo, transparencia para trabajadores/solicitantes y toma de decisiones humana significativa.
Manejo de consultas de prensa. Reemplaza el enriquecimiento con “lookup_publication” y el enrutamiento con respuesta basada en prioridad.
Enrutamiento de comentarios del cliente. Reemplaza el enriquecimiento con análisis de sentimiento y categorización de producto.
Solicitudes de adquisición (procurement). Reemplaza el enriquecimiento con búsquedas de proveedores, la puntuación con cumplimiento de políticas y el enrutamiento con flujos de aprobación.
Una forma reutilizable de baja consecuencia es: validar un evento entrante → recuperar contexto mínimo permitido → solicitar una propuesta estructurada → validar de forma determinista → permitir que políticas o personas autorizadas decidan → ejecutar mediante herramientas idempotentes con puertas de control. El modelo propone; no posee la decisión trascendental.
Cuándo NO usar un agente
Algunos flujos de trabajo no se benefician de un agente. Si la lógica es completamente determinista — “siempre haz A, luego B, luego C” — un flujo de trabajo regular de n8n sin agente es más rápido, barato y fiable.
El agente gana su lugar cuando:
- El número de posibles rutas es grande.
- La ruta correcta depende del juicio, no de reglas estrictas.
- Algunas decisiones requieren sintetizar información a través de múltiples fuentes.
Si tu árbol de decisión son unas pocas sentencias if-then-else, usa simplemente nodos if-then-else. Guarda el agente para casos donde el if-then-else se vuelva inmanejable.
Constrúyelo una vez con trabajo real
Un agente de IA en n8n es un flujo de trabajo donde un modelo puede elegir entre herramientas configuradas. Un diseño de producción restringe esa elección y mantiene a humanos responsables y políticas deterministas en control de las decisiones trascendentales.
El diseño está completo solo después de una prueba de entrega duplicada, prueba de salida inválida, prueba de tiempo de espera del proveedor, prueba de aprobación rechazada y una comprobación de que el nodo de envío es inalcanzable sin aprobación. Mide el tiempo de construcción, latencia, tasa de corrección y coste en tu propia instancia; este artículo no promete un tiempo de configuración ni un resultado de producción.
Construye y pruébalo primero con registros sintéticos o registros de no producción con consentimiento. Reutiliza el patrón de control — herramientas acotadas, esquemas, idempotencia, reglas de parada y puertas de revisión — mientras rehaces el análisis de dominio y de riesgo para cada nuevo flujo de trabajo.



