¿Qué es un Agente de IA en n8n?
Un agente es un asistente autónomo que combina un modelo de lenguaje, instrucciones y capacidades configurables. En n8n, puedes construir agentes que razonan sobre cada petición, seleccionan herramientas adecuadas y se adaptan a las respuestas que reciben.
¿Cuándo usar un agente vs un workflow fijo?
Usa un agente "when work is too open-ended for a fixed workflow". Si la lógica es siempre la misma (ej. recibir webhook → guardar en BD → notificar), usa un workflow normal. Si la decisión requiere interpretar texto, clasificar intención o elegir entre múltiples caminos, usa un agente.
El agente ejecuta un bucle de razonamiento: recibe un mensaje → lee sus instrucciones → analiza la solicitud → decide si debe llamar una herramienta, buscar en la base de conocimiento, delegar a otro agente o pedir más información. Repite este bucle hasta producir una respuesta final.
Componentes de un Agente n8n
| Componente | Función | Ejemplo |
|---|---|---|
| Model | LLM que razona y genera respuestas | Claude (Anthropic), GPT-4o (OpenAI), Ollama local |
| Instructions | System prompt con rol, tono y restricciones | "Eres un clasificador de leads. Responde SOLO con JSON." |
| Tools | Acciones: workflows, código, integraciones nativas, MCP | Enviar a Telegram, consultar calendario, buscar en BD |
| Memory | Memoria de sesión (por defecto) y episódica (requiere OpenAI) | Recordar preferencias del usuario durante la conversación |
| Channels | Canales de comunicación — activos al publicar | Slack, Telegram, Linear |
| Sub-agents | Agentes especializados delegables | Un agente "ventas" que deriva a un sub-agente "precios" |
Caso Práctico: Clasificación de Leads
Tu cliente recibe 50 mensajes al día por WhatsApp. Unos piden precio, otros soporte técnico, y otros solo saludan. Necesitas un flujo que lea cada mensaje y lo dirija a la rama correcta.
Arquitectura del flujo
// Webhook recibe texto del cliente
POST /webhook-chat → { "usuario": "Ana", "mensaje": "Me interesa el Plan Básico, ¿cuánto cuesta?" }
// El agente IA decide la intención
Agente IA (Prompt: "Clasifica en ventas, soporte o despedida")
↓
// Ramificación según resultado
Rama 1: "ventas" → Enviar catálogo + precios
Rama 2: "soporte" → Buscar FAQ + responder
Rama 3: "error" → Notificar a Gabriel
Formato de salida crítico
El LLM debe devolver JSON estructurado para que n8n pueda leerlo. Tu prompt debe incluir: "Responde ÚNICAMENTE con un objeto JSON que contenga una sola propiedad: { "intencion": "ventas" | "soporte" | "error" }". Sin texto adicional.
Configuración Técnica (n8n v2.32+)
| Paso | Acción |
|---|---|
| 1 | En tu proyecto n8n, ve a la pestaña Agents → Create Agent |
| 2 | Elige nombre, icono y modelo (ej. Claude de Anthropic con tu API Key) |
| 3 | Escribe las Instructions: define rol, tono, formato de salida JSON obligatorio |
| 4 | Conecta el webhook entrante como Trigger del agente |
| 5 | Configura 3 ramas de salida (Branch Outputs) etiquetadas |
| 6 | Publica el agente para habilitar los canales y horarios |
Disponibilidad
Agentes disponibles desde n8n v2.32.3 en self-hosted (añadir variable N8N_ENABLED_MODULES=agents). Webhook URL pública requerida para canales. La experiencia completa requiere Daytona sandbox para knowledge base.
Checklist del Módulo 09
Desafío de Arquitecto
Router de Ventas
Debes construir un agente que reciba mensajes de clientes y decida la acción en 3 vías:
- "ventas": el mensaje menciona precios, planes, catálogo, "comprar". → Redirigir a un nodo que calcule el precio.
- "soporte": menciona error, falla, ayuda, no funciona. → Enviar un mensaje informativo al equipo de soporte.
- "otro": ninguna de las dos. → Registrar en un Google Sheets para revisión manual.
Requerimiento técnico: El prompt debe exigir JSON exacto: { "intencion": "ventas"|"soporte"|"otro" }. Prueba con 3 mensajes desde Postman y verifica que cada uno llega a su rama correcta.