
Autohospeda n8n y crea tu primer agente de IA con Claude
n8n es una herramienta de flujos open-source que puedes autohospedar con Docker, así tu orquestación y tus datos quedan en tu servidor. Agrega una credencial Anthropic, conecta un Trigger a un nodo AI Agent con Anthropic Chat Model y una herramienta, y Claude clasifica mensajes. Ojo: el contenido del mensaje sale de tu servidor al llamar a la API.
Qué es n8n y por qué autohospedarlo para construir un agente de IA
n8n es una herramienta open-source de automatización de flujos que corres en tu propio servidor con Docker. Para construir un agente de IA con Claude, conectas un Trigger a un nodo AI Agent, le agregas un Anthropic Chat Model y al menos una herramienta, y Claude lee cada mensaje entrante y decide qué hacer: clasificarlo, extraer campos o llamar una herramienta para consultar algo. Autohospedar deja tu orquestación, tus credenciales y tus datos de ejecución en un servidor que tú controlas, sin pagar una tarifa por tarea de algún SaaS.
La advertencia honesta que casi nadie te dice: aunque tú hospedes n8n, el nodo AI Agent sí llama a la API de Claude por la red, así que (a) pagas tokens de Claude y (b) el contenido del mensaje sale de tu servidor hacia la API. Autohospedar te da soberanía sobre el flujo, los logs y las credenciales de tus otras integraciones (tu CRM, tus hojas, tu webhook de WhatsApp). Lo que no te da es procesar el lenguaje natural localmente: ese trabajo lo hace el modelo. Si quieres entender cuándo conviene un agente sobre una automatización clásica, lo desgloso en agentes de IA vs herramientas de automatización.
Levanta n8n con Docker (o npx para una prueba rápida)
Para producción, usa Docker con un volumen persistente. Esto sobrevive reinicios y te deja respaldar todo el estado en un solo lugar:
docker volume create n8n_data
docker run -it --rm --name n8n -p 5678:5678 \
-e GENERIC_TIMEZONE="America/Mexico_City" -e TZ="America/Mexico_City" \
-e N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true -e N8N_RUNNERS_ENABLED=true \
-v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n
El editor queda en http://localhost:5678. Si solo quieres probar la herramienta en tu laptop sin instalar Docker, corre:
npx n8n
Eso también levanta el editor en http://localhost:5678. La diferencia: npx es efímero y para evaluar; Docker con volumen es lo que dejas corriendo. Para la receta oficial y las variables de entorno, consulta la documentación de autohospedaje de n8n.
Agrega la credencial Anthropic: tu API key de Claude desde la Consola
El modelo necesita una API key. Entra a la Consola de Claude en https://platform.claude.com, ve a Account Settings y luego a API Keys, y genera una. Pruébala primero en el Workbench del navegador para confirmar que responde antes de conectarla en el flujo.
En n8n, crea una credencial de tipo Anthropic y pega la key ahí. n8n la guarda cifrada en su base de datos; no la metas en texto plano en el flujo. Cada request que el agente haga a la API lleva los headers requeridos (x-api-key, anthropic-version: 2023-06-01, content-type: application/json), pero el nodo los administra por ti, así que no los escribes a mano. Si quieres ver cómo se ve esa misma llamada en crudo, lo cubro en cómo usar la API de Claude.
Arma el flujo: Trigger a AI Agent (Tools Agent) a Anthropic Chat Model + una herramienta
El nodo AI Agent (nombre interno n8n-nodes-langchain.agent) desde la versión 1.82.0 corre exclusivamente como Tools Agent. Conecta tres cosas: un Chat Model vía la conexión ai_languageModel, una Memory opcional, y al menos una herramienta (es obligatorio: sin herramienta el nodo no funciona).
El sub-nodo de modelo se llama Anthropic Chat Model (interno n8n-nodes-langchain.lmchatanthropic). Ahí seleccionas tu credencial Anthropic, eliges tu modelo de Claude (por ejemplo claude-sonnet-5 como default sensato, o claude-haiku-4-5 si tu volumen es alto y quieres el costo más bajo) y ajustas temperature y max tokens.
La herramienta puede ser un sub-flujo de n8n o un nodo HTTP Request, o algo concreto como Google Sheets. Un primer caso real para una PyME: un Trigger (Webhook o Chat) recibe el mensaje de un cliente, el AI Agent lo clasifica o extrae campos estructurados (nombre, intención, monto), y la herramienta escribe el resultado en una hoja o responde.
Las conexiones son la parte que confunde: el Anthropic Chat Model y la herramienta no van en la línea principal del flujo, sino en los puertos inferiores del nodo AI Agent (ai_languageModel y ai_tool). La línea principal solo lleva el dato de entrada y la salida final. Detalles en la documentación del nodo AI Agent y del Anthropic Chat Model.
Cómo el bucle de function-calling y el system prompt limitan al agente
El Tools Agent corre un bucle de function-calling: le manda al modelo el mensaje del usuario más las descripciones de las herramientas; cuando Claude necesita una herramienta devuelve un bloque tool_use con stop_reason: "tool_use"; n8n ejecuta esa herramienta, le regresa el tool_result, y el bucle repite hasta que el modelo emite la señal de paro (stop_reason: "end_turn"). Tú no escribes ese bucle; el nodo lo orquesta.
Lo que sí controlas, y es donde se gana o se pierde la confiabilidad, es el system prompt. Ahí limitas al agente: qué puede y qué no puede hacer, en qué formato responder, y qué herramienta usar para qué. Un system prompt apretado evita que el agente invente respuestas o llame herramientas de más (cada llamada extra cuesta tokens). Un ejemplo concreto para triage:
{
"system": "Eres un clasificador de mensajes de soporte. Clasifica cada mensaje en una de: facturacion, soporte_tecnico, ventas, otro. Usa la herramienta para registrar el resultado. Responde SOLO con la categoria. No inventes datos del cliente."
}
- 1. Entrada + toolsn8n manda el mensaje y las descripciones de las herramientas al modelo.
- 2. tool_useClaude pide una herramienta con stop_reason tool_use.
- 3. Ejecuciónn8n corre la herramienta y devuelve el tool_result al modelo.
- 4. end_turnEl modelo emite la respuesta final y el bucle termina.
Prueba el flujo y lee el registro de ejecución
Con el flujo armado, dispara el Trigger con un mensaje de prueba (desde el panel de chat o con un POST al webhook). n8n guarda cada corrida en el registro de ejecución (Executions). Ábrelo: ahí ves cada nodo, la entrada y la salida exactas, cuántas veces se llamó a la herramienta, y si el modelo entró al bucle más de una vez.
Esto es tu mejor herramienta de depuración. Si la clasificación sale mal, casi siempre es el system prompt o la descripción de la herramienta, no el modelo. Si ves al agente llamando la herramienta tres veces para un mensaje simple, aprieta el prompt. El registro te dice exactamente dónde gastaste tokens. Cuando quieras conectar el agente a fuentes de datos reales más allá de una hoja, MCP es el camino: lo cubro en conectar tu agente de IA a tus datos con MCP.
Checklist de producción: auth, proxy inverso HTTPS, respaldos, secretos, redacta PII
El comando de arriba está bien para tu laptop. Para exponer n8n a internet, no lo dejes así. Lo que queda en tus manos al autohospedar:
- Asegura el editor: activa autenticación. Nadie debe poder abrir tu
/5678sin credenciales. - Proxy inverso con HTTPS: pon n8n detrás de un reverse proxy (Caddy, Traefik o nginx) con TLS. Nunca expongas el puerto 5678 en texto plano.
- Respalda el volumen:
n8n_datatiene tus flujos, credenciales cifradas y ejecuciones. Respáldalo periódicamente y prueba la restauración. - Secretos en variables de entorno: API keys y tokens van en variables de entorno o en el gestor de credenciales de n8n, nunca escritos directamente en un nodo ni en git.
- Redacta PII antes del LLM: si el mensaje trae CURP, RFC o CLABE y no quieres que salga de tu infraestructura, enmascáralo antes de mandárselo a Claude. Cómo hacerlo en ocultar PII mexicano antes del LLM.
Cuánto cuesta de verdad en tokens de Claude
El costo no es n8n (es gratis si lo autohospedas): son los tokens de Claude. Con Claude Sonnet 5 el precio es $3 / $15 USD por millón de tokens (input/output), con precio introductorio de $2 / $10 hasta el 31 de agosto de 2026. Claude Haiku 4.5 cuesta $1 / $5, ideal para alto volumen. Claude Opus 4.8 cuesta $5 / $25 para razonamiento difícil.
Una clasificación de soporte típica usa pocos tokens: digamos 600 de input (mensaje + system prompt + descripción de la herramienta) y 50 de output. Con Sonnet 5 a precio introductorio eso son unos $0.0017 USD por mensaje. Diez mil mensajes al mes rondan los $17 USD. Con Haiku 4.5 baja todavía más. Para cargas asíncronas y no urgentes, la Message Batches API da -50%, y el prompt caching baja las lecturas cacheadas a 0.1x. Verifica siempre los números vigentes en la página de precios de Anthropic.
Agente en n8n vs agente Claude en código puro: cuándo elegir cada uno
n8n te da velocidad: armas un agente con triggers, modelo y herramientas en una interfaz visual, sin escribir el bucle de function-calling ni manejar reintentos. Es ideal cuando el flujo conecta varias apps (un webhook, una hoja, un CRM) y quieres que la gente no-técnica del equipo lo vea y lo edite.
El código puro te da control total: defines exactamente el bucle, el manejo de errores, el streaming y la lógica de negocio, y lo metes a tu pipeline de tests y CI. Cuando el agente es el producto, o necesitas comportamiento que la interfaz visual no expresa, escríbelo tú. El build completo está en crear un agente autónomo con Claude Sonnet 5.
Agente en n8n
- Build visual rápido
- Conecta varias apps sin código
- Editable por gente no-técnica
- Logs y ejecuciones de fábrica
Agente en código
- Control total del bucle y errores
- Entra a tu CI y tus tests
- Comportamiento a la medida
- Mejor cuando el agente ES el producto
Mi recomendación práctica: empieza en n8n para validar el caso de uso rápido y barato. Si crece y el agente se vuelve crítico, migra esa parte a código. Y si tu caso es atención al cliente por mensajería, revisa un agente de IA en WhatsApp para tu negocio o el hub de agentes de IA para el panorama completo.