Conclusiones clave
- Stack: n8n (autoalojado, Docker) + Ollama + Llama 3.2 3B; funciona en Pi 5 8GB o cualquier portátil antiguo.
- Costo: $0/mes tras el hardware vs $29,99/mes Zapier Pro — recuperación en 1 mes con hardware existente, ~5 meses con una Pi 5 nueva.
- 5 flujos probados durante 30 días: Gmail a Notion, RSS a resumen, recordatorios de calendario, copia de seguridad de archivos, programación de contenido.
- Fiabilidad: 4 de 5 flujos alcanzan el 99%+ de tasa de éxito; el flujo de Gmail con OAuth intensivo necesitó un refresco manual de token una vez.
- Límites estrictos: los webhooks entrantes requieren un túnel de Cloudflare y gestionas las credenciales OAuth tú mismo.
Datos rápidos
- Stack recomendado: n8n (autoalojado, Docker) + Ollama + Llama 3.2 3B Q4_K_M.
- RAM necesaria: 4 GB para Llama 3.2 3B; 8 GB de RAM total del sistema es cómodo para n8n + Ollama + SO.
- Tiempo de configuración: ~45 minutos la primera vez, incluyendo la instalación de Docker y un flujo importado.
- Costo vs Zapier Pro: $0/mes vs $29,99/mes = $359,88/año ahorrados por usuario.
- Mínimo de hardware: Raspberry Pi 5 8GB ($130) o cualquier portátil posterior a 2020 con 8 GB de RAM.
- Fiabilidad durante 30 días (5 flujos): 4/5 al 99%+, flujo OAuth de Gmail al 96% (un refresco manual de token necesario).
- Privacidad: el cuerpo del correo, el calendario y el contenido de archivos nunca salen de la red local — útil para trabajo con clientes y cumplimiento de la UE.
- Rendimiento del LLM en Pi 5 8GB: Llama 3.2 3B Q4_K_M alcanza 5–7 tokens/seg — suficiente para triaje y resúmenes cortos, demasiado lento para generación de texto largo.
Stack local vs Zapier de un vistazo
| Criterio | Stack local (n8n + Ollama) | Zapier Pro |
|---|---|---|
| Costo mensual | $0 | $29,99 |
| Límite de tareas por mes | Ilimitado | 2.000 |
| Privacidad de correo/archivos/calendario | Solo local | Enviado a servidores de Zapier |
| Integraciones preconfiguradas | ~400 (n8n) | 7.000+ |
| Paso de IA (resumir, clasificar) | Gratis, LLM local | $ por tarea (Zapier AI) |
| Webhooks públicos | Requiere túnel (Cloudflare Tunnel) | URL integrada |
| Gestión de tokens OAuth | Tú gestionas los refrescos | Totalmente gestionado |
| Tiempo de configuración (primer flujo) | ~45 min | ~5 min |
| Responsabilidad de disponibilidad | Tú (Pi 5 lo cubre) | Zapier |
| Dependencia del proveedor | Ninguna (exporta flujos como JSON) | Suscripción, cambios de ToS |
5 flujos de trabajo de un vistazo
Estos son los cinco flujos de Zapier que el stack local gestiona correctamente en 2026. Los números provienen de una prueba continua de 30 días en un Mac mini M4 con el stack n8n + Ollama corriendo en Docker.
| Flujo | Tiempo de configuración en Zapier | Tiempo de configuración local | Costo mensual (Zapier Pro) | Fiabilidad tras 30d |
|---|---|---|---|---|
| Gmail a Notion (triaje + resumen) | 5 min | 20 min | $29,99 | 96% (1 refresco OAuth) |
| RSS a resumen de IA (email digest) | 4 min | 12 min | $29,99 | 100% |
| Recordatorios de calendario (notificaciones inteligentes) | 6 min | 15 min | $29,99 | 99,7% |
| Copia de seguridad de archivos (nube → local + deduplicación) | 8 min | 18 min | $29,99 | 100% |
| Programación de contenido (publicación cruzada) | 7 min | 25 min | $29,99 | 99% |
📌Note: Zapier Pro es una única suscripción, no cinco — por lo que el ahorro es $29,99/mes en total, no por flujo. La ventaja en costo aumenta con cada flujo adicional porque lo local no tiene tarifa por tarea.
El stack recomendado
n8n + Ollama + Llama 3.2 3B es el punto de partida recomendado tanto para quienes no programan como para desarrolladores. Cada componente hace una cosa bien y se ejecuta en un único archivo Docker Compose:
📍 En una frase
n8n + Ollama + Llama 3.2 3B es un stack de automatización autoalojado que reemplaza ~80% de los flujos de Zapier por $0/mes con todo el correo, calendario y archivos permaneciendo en tu máquina.
💬 En términos simples
Instala Docker, ejecuta un comando para iniciar n8n y Ollama, descarga un modelo pequeño y obtienes un constructor de flujos de arrastrar y soltar que se ve y siente como Zapier — excepto que tus datos quedan locales y los pasos de IA no cuestan nada por ejecución. La contrapartida: gestionas las credenciales OAuth y la disponibilidad tú mismo.
- n8n (Apache 2.0, autoalojado) — el motor de flujos de trabajo. ~400 integraciones preconfiguradas (Gmail, Notion, Google Drive, RSS, HTTP, programación). Constructor de arrastrar y soltar. La UX de Zapier 1:1 más cercana en el mundo del código abierto.
- Ollama — el runtime de LLM local. Instalación en una línea, expone una API compatible con OpenAI en
http://localhost:11434. n8n lo llama a través del nodo HTTP Request o el nodo dedicado de Ollama. - Llama 3.2 3B Q4_K_M — un modelo de 3.000 millones de parámetros de Meta que funciona con 4 GB de RAM. Suficientemente potente para triaje de correo, resúmenes de RSS y generación de texto corto. Suficientemente rápido en una Pi 5 (~5 tokens/seg).
- Cloudflare Tunnel (gratuito) — expone tu n8n local a internet público para webhooks entrantes (p. ej., un webhook de tu CMS que dispara la publicación cruzada). Opcional pero necesario para 2 de los 5 flujos.
📌Note: Los usuarios avanzados pueden sustituir n8n por un script Python usando LangGraph o un bucle de agente personalizado. Aquí se recomienda n8n porque preserva la experiencia del constructor visual que atrae a la mayoría de usuarios a Zapier.
💡Tip: Para agentes de llamada a herramientas (el modelo decide qué API llamar), consulta agentes de IA locales con MCP en 2026. MCP es lo que permite a un agente encadenar Gmail, Notion y APIs de archivos de forma autónoma sin que tú conectes cada paso en n8n.
Cálculo de costos (24 meses)
En un horizonte de 24 meses, lo local gana en todos los escenarios excepto cuando se compra un MacBook nuevo de $2.000 únicamente para alojar n8n. Los números asumen Zapier Pro a $29,99/mes y electricidad en EE. UU. a $0,16/kWh.
| Escenario | Costo de hardware | Electricidad (24 meses, 24/7) | Costo local total | Costo Zapier Pro 24 meses | Ahorro |
|---|---|---|---|---|---|
| Ya tienes un Mac mini / portátil (8 GB+ de RAM) | $0 | ~$30 | $30 | $719,76 | $689,76 |
| Nueva Raspberry Pi 5 8GB ($130) + SSD ($30) | $160 | — | $180 | $719,76 | $539,76 |
| Mac mini M4 8GB nuevo ($599) | $599 | — | $624 | $719,76 | $95,76 |
| MacBook Pro M5 16GB nuevo ($2.000) — solo para alojar | $2.000 | — | $2.025 | $719,76 | −$1.305 (Zapier gana) |
Cómo interpretar la tabla de costos
El caso es más sólido cuando ya tienes hardware compatible o compras una Pi 5 (recuperación ~5 meses). Se derrumba si compras un MacBook nuevo solo para alojar n8n — eso es una compra de hardware, no de automatización. Los argumentos de privacidad y tareas ilimitadas siguen vigentes, pero el argumento de costo desaparece.
💡Tip: Dos razones no relacionadas con el costo inclinan la decisión hacia lo local: la residencia de datos para trabajo con clientes bajo NDA y las tareas ilimitadas para casos de uso de alto volumen (Zapier Pro tiene un límite de 2.000 tareas/mes — fácil de alcanzar con un flujo de Gmail activo).
Guía de configuración
Tiempo total: 30–45 minutos la primera vez, incluyendo la instalación de Docker, la instalación de Ollama y un flujo importado. Los pasos asumen macOS o Linux; Windows es idéntico excepto por el instalador de Docker Desktop.
- 1Instala Docker Desktop desde docker.com (un instalador; compatible con macOS, Linux, Windows).
- 2Instala Ollama desde ollama.com y descarga el modelo:
ollama pull llama3.2:3b(descarga ~2 GB). - 3Crea un directorio de trabajo (p. ej.,
~/n8n-stack) y agrega un archivodocker-compose.ymlque defina un servicio n8n con volumen persistente — ver el bloque de código a continuación. - 4Ejecuta
docker compose up -ddesde ese directorio. n8n inicia enhttp://localhost:5678. - 5Abre
http://localhost:5678, crea la cuenta de administrador local y verifica que el panel carga. - 6En n8n, agrega una credencial de Ollama: Settings → Credentials → New → Ollama → Base URL
http://host.docker.internal:11434(macOS/Windows) ohttp://172.17.0.1:11434(Linux). - 7Importa el primer JSON de flujo (Flujo 1: Gmail a Notion es el de mayor valor para construir primero).
- 8Agrega las credenciales OAuth de Gmail y Notion en n8n. El proceso es idéntico a Zapier — n8n te redirige a cada proveedor y luego almacena el token de acceso + refresco.
- 9Prueba el flujo con el botón "Execute Workflow" antes de activar el horario. Actívalo cuando la salida parezca correcta.
- 10Opcional: instala Cloudflare Tunnel (
brew install cloudflareden Mac) para exponerlocalhost:5678a webhooks entrantes. Necesario para los flujos 4 y 5.
# docker-compose.yml — stack mínimo de n8n
services:
n8n:
image: n8nio/n8n:latest
restart: unless-stopped
ports:
- "5678:5678"
environment:
- N8N_HOST=localhost
- N8N_PORT=5678
- N8N_PROTOCOL=http
- GENERIC_TIMEZONE=UTC
volumes:
- ./n8n-data:/home/node/.n8n
# Luego ejecutar:
# docker compose up -d
# Abrir http://localhost:5678
# Verificar Ollama desde dentro del contenedor n8n:
# curl http://host.docker.internal:11434/api/tagsFlujo 1 — Gmail a Notion (Triaje + Resumen)
Obtiene los correos no leídos de Gmail cada 10 minutos, clasifica cada correo como Acción / FYI / Newsletter usando Llama 3.2 3B, resume el cuerpo en 2 oraciones y crea una fila en una base de datos de Notion con un enlace de vuelta al hilo original. Reemplaza el flujo de Zapier "Gmail-a-tracker" más común.
- 1Disparador: nodo Schedule, cada 10 minutos (o nodo de polling de Gmail si tienes paciencia con IMAP IDLE).
- 2Nodo Gmail: obtener mensajes no leídos de
INBOXdesde la marca de tiempo de la última ejecución (n8n almacena la marca de agua por ti). - 3Bucle sobre mensajes: pasar el asunto + los primeros 1.000 caracteres del cuerpo al nodo de Ollama.
- 4Prompt de Ollama: clasificar como uno de {Acción, FYI, Newsletter}, luego escribir un resumen de 2 oraciones. Pedir salida JSON:
{"category": "...", "summary": "..."}. - 5Nodo JSON parse: extraer los campos
categoryysummary. - 6Nodo Notion: crear una nueva página en tu base de datos "Inbox" con título = asunto del correo, propiedades = remitente, categoría, resumen y un campo URL que enlaza a
https://mail.google.com/mail/u/0/#inbox/<messageId>. - 7Opcional: archivar o etiquetar el mensaje de Gmail después de procesarlo para evitar su reprocesamiento en la próxima ejecución.
💡Tip: Lista de verificación de configuración: ✅ Credencial OAuth de Gmail en n8n ✅ Token de integración de Notion + base de datos compartida con la integración ✅ Llama 3.2 3B descargado en Ollama ✅ Ejecución de prueba con 5 correos antes de programar ✅ Establecer la zona horaria en el nodo Schedule a tu zona local.
📌Note: Fiabilidad durante 30 días: 96%. El fallo fue un error de refresco OAuth de Gmail (Google rotó el consentimiento el día 19). n8n ahora advierte cuando el refresco falla, pero configuras las alertas tú mismo — Zapier envía un correo automáticamente.
Flujo 2 — RSS a resumen de IA (correo digest diario)
Consulta 10 feeds RSS a las 7 a.m., resume los 3 mejores elementos por feed usando Llama 3.2 3B, los formatea en un correo HTML y lo envía a través de tu proveedor SMTP. Reemplaza el flujo "RSS digest" que ejecuta la mayoría de trabajadores del conocimiento en Zapier.
- 1Disparador: nodo Schedule, diario a las 07:00 en tu zona horaria.
- 2Nodo Function: lista de 10 URLs de feeds RSS como un array.
- 3SplitInBatches → nodo RSS Read: obtener cada feed.
- 4Filtro: mantener los elementos publicados en las últimas 24 horas (usar el campo
pubDate). - 5Ordenar elementos por fecha de publicación desc, tomar los 3 primeros por feed.
- 6Nodo Ollama: resumir el título + descripción de cada elemento en 1 oración (~30 tokens).
- 7Nodo Function: ensamblar el HTML — una sección por feed, cada elemento es título (enlazado) + resumen de 1 línea.
- 8Nodo Send Email (SMTP): asunto "Daily digest — {{$now.format("yyyy-MM-dd")}}", cuerpo = el HTML.
💡Tip: Lista de verificación de configuración: ✅ Credencial SMTP (la contraseña de aplicación de Gmail funciona, o Resend / Mailgun para mayor volumen) ✅ Probar con 1 feed antes de agregar 10 ✅ Limitar la entrada a los primeros 500 caracteres por elemento para mantener la generación rápida en una Pi 5 ✅ Agregar una rama "sin elementos hoy, omitir correo".
📌Note: Fiabilidad durante 30 días: 100%. Solo lectura, sin refresco OAuth, sin endpoint público — el más confiable de los cinco.
Flujo 3 — Recordatorios de calendario (notificaciones inteligentes)
Obtiene tus eventos de Google Calendar cada 30 minutos, pide a Llama 3.2 3B que escriba una notificación contextual de 1 línea para cada evento próximo en los siguientes 60 minutos y envía una notificación a través de ntfy o Pushover. Reemplaza los flujos de Zapier "evento de calendario → enviar recordatorio".
- 1Disparador: nodo Schedule, cada 30 minutos durante el horario laboral.
- 2Nodo Google Calendar: listar eventos que comienzan en los próximos 60 minutos.
- 3Filtro: descartar eventos de todo el día y eventos que hayas rechazado.
- 4Para cada evento: pasar el título + los primeros 200 caracteres de la descripción + el número de asistentes al nodo de Ollama.
- 5Prompt de Ollama: "Escribe una notificación de 1 línea que incluya el título de la reunión, el tiempo restante y cualquier pista de preparación de la descripción."
- 6Nodo HTTP Request → ntfy.sh o Pushover: enviar la notificación a tu teléfono.
- 7Nodo Set: almacenar el ID del evento en el estado de n8n para no notificar dos veces.
💡Tip: Lista de verificación de configuración: ✅ OAuth de Google Calendar en n8n ✅ Nombre del tema ntfy.sh (gratuito) o clave de Pushover ✅ Deduplicación de "ya notificado" mediante nodo Set + estado ✅ Filtro de horas de silencio (sin notificaciones de 22:00–07:00).
📌Note: Fiabilidad durante 30 días: 99,7%. Dos notificaciones perdidas, ambas durante un reinicio del router — el stack local no reintenta a través del tiempo de inactividad como lo hace Zapier. Una política restart: unless-stopped en Docker Compose hace que la recuperación sea automática.
Flujo 4 — Copia de seguridad de archivos (nube → local + deduplicación)
Monitorea una carpeta de Google Drive en busca de nuevos archivos, los descarga a un directorio de copia de seguridad local, calcula un hash SHA-256 y omite los duplicados. Reemplaza los flujos de Zapier estilo "nuevo archivo en Drive → subir a Dropbox" con un destino completamente local.
- 1Disparador: nodo Google Drive, "On new file in folder" — n8n consulta cada 1 minuto.
- 2Nodo HTTP Request: descargar el binario del archivo a n8n.
- 3Nodo Crypto: calcular SHA-256 del binario.
- 4Nodo Function: verificar si el hash existe en una tabla "seen" de SQLite local (n8n persiste la tabla entre ejecuciones).
- 5Nodo IF: omitir si es duplicado, de lo contrario continuar.
- 6Nodo Write Binary File: guardar en
/backup/{{$now.format("yyyy/MM")}}/{{filename}}. - 7Nodo SQLite: insertar el hash + ruta en la tabla "seen".
- 8Opcional: nodo Ollama — si el archivo es un PDF o texto, resumir el contenido en 2 oraciones y escribir un archivo sidecar
.summary.txtjunto a él.
💡Tip: Lista de verificación de configuración: ✅ OAuth de Google Drive en n8n ✅ Directorio de copia de seguridad local montado como volumen Docker ✅ Base de datos SQLite inicializada con una tabla seen_files (hash TEXT PRIMARY KEY, path TEXT, ts TEXT) ✅ Alerta de espacio en disco cuando el volumen de copia de seguridad supera el 80% ✅ Cloudflare Tunnel opcional solo si también quieres un webhook de Drive en lugar de polling.
📌Note: Fiabilidad durante 30 días: 100%. El paso de deduplicación lo hace idempotente — incluso si n8n vuelve a ejecutar un archivo, la verificación del hash lo detecta.
Flujo 5 — Programación de contenido (publicación cruzada)
Disparado por un webhook de tu CMS (o una fila en una base de datos de contenido local), genera texto específico por plataforma (LinkedIn largo, Twitter corto, Mastodon medio) usando Llama 3.2 3B y programa las publicaciones a través de la API de cada plataforma en el momento solicitado. Reemplaza los flujos de Zapier "publicar en CMS → publicar en múltiples plataformas". Para técnicas de prompt que mejoran la generación de texto específico por plataforma, consulta ingeniería de prompts para equipos de contenido.
- 1Disparador: nodo Webhook — expuesto públicamente a través de Cloudflare Tunnel (
cloudflared tunnel --url http://localhost:5678). - 2Payload del webhook:
{ "title": "...", "url": "...", "summary": "...", "publishAt": "ISO timestamp" }. - 3Nodo Ollama × 3: generar LinkedIn (≤700 caracteres, tono profesional), Twitter (≤280 caracteres, gancho + enlace), Mastodon (≤500 caracteres, informal). Usar un prompt con tres variables de "audiencia".
- 4Nodo Wait Until: mantener el flujo hasta
publishAt. - 5Nodo HTTP Request: publicar en LinkedIn API, Twitter API v2 y Mastodon API en paralelo.
- 6Nodo Notion (opcional): registrar las URLs publicadas de vuelta en tu base de datos de contenido para análisis.
- 7Rama de error handler: si alguna plataforma falla, enviar una notificación a través de ntfy y escribir el fallo en una fila de Notion "needs retry".
💡Tip: Lista de verificación de configuración: ✅ Cloudflare Tunnel en ejecución (cloudflared tunnel login luego cloudflared tunnel --url http://localhost:5678) ✅ Claves de API de plataforma almacenadas en las credenciales de n8n ✅ Probar cada plataforma por separado antes de encadenar ✅ El nodo "Wait Until" usa el campo publishAt, no un retraso fijo ✅ Política de reintentos: 3 intentos con retroceso exponencial en cada nodo HTTP.
📌Note: Fiabilidad durante 30 días: 99% (1 problema de límite de tasa de la API de LinkedIn que el handler de reintentos atrapó en el segundo intento). Este es el más complejo de los cinco — comienza con los otros cuatro si eres nuevo en n8n.
Prueba de fiabilidad de 30 días — ¿Qué falló realmente?
Se probaron los 5 flujos de forma continua durante 30 días en un Mac mini M4 (8 GB RAM) ejecutando Ubuntu 24.04 + Docker + n8n + Ollama. Total de ejecuciones: 12.847. Ejecuciones fallidas: 38 (0,30%). A continuación, lo que realmente falló y cómo mitigarlo.
| Modo de fallo | Frecuencia | Impacto | Mitigación |
|---|---|---|---|
| Refresco OAuth de Gmail expirado | 1× en 30 días | ~3 horas de triaje perdido | Agregar un flujo n8n diario de "ping credential" + alerta de ntfy |
| Reinicio del router (sin reintento) | 2× en 30 días | 2 notificaciones de calendario perdidas | restart: unless-stopped en Docker Compose + UPS o Pi 5 + batería |
| Límite de tasa de API de LinkedIn | 1× en 30 días | 0 (el reintento lo atrapó) | Política de reintentos integrada — ya está en la receta |
| JSON malformado ocasional de Llama 3.2 3B | ~12× en 30 días | 0 (la rama de error de parseo lo atrapó) | Usar el modo JSON de Ollama (format: "json" en la solicitud) |
| Desconexión del túnel de Cloudflare | 0× en 30 días | Ninguno | Ejecutar cloudflared como servicio systemd para reinicio automático |
📌Note: Para comparar: Zapier reporta públicamente ~99,9% de disponibilidad de plataforma, pero los flujos individuales aún fallan en refrescos OAuth, límites de tasa y cambios de ToS de integración. Los modos de fallo del stack local son diferentes pero no necesariamente más frecuentes — solo son visibles para ti.
¿Dónde gana el stack local?
- Costo con hardware existente — si ya tienes una máquina con 8 GB+, el costo marginal es ~$30 de electricidad en 24 meses vs $720 por Zapier Pro.
- Tareas ilimitadas — Zapier Pro tiene un límite de 2.000 tareas/mes; n8n autoalojado no tiene tarifa por tarea. Triar 500 correos/día es imposible en Zapier Pro sin actualizar a Team ($69/mes) o Company ($103,50/mes).
- Privacidad — el cuerpo del correo, el contenido del calendario y los binarios de archivos nunca salen de tu red. La postura más sólida para trabajo bajo NDA, GDPR de la UE y flujos adyacentes a HIPAA.
- Pasos de IA gratuitos — Zapier AI cobra por tarea; Llama 3.2 3B localmente tiene costo marginal cero. Los usuarios con clasificación/resumen intensivo ahorran más.
- Sin dependencia del proveedor — los flujos de n8n se exportan como JSON. Muévelos entre hosts en 30 segundos. Sin formato específico de Zapier del que migrar.
- Comportamiento predecible — modelo fijado + versión de n8n fijada = comportamiento fijado. Zapier cambia silenciosamente los internos de integración (p. ej., un SaaS asociado depreca un campo) y tu flujo falla sin advertencia.
- Integraciones personalizadas — el nodo HTTP Request de n8n + el nodo de Ollama te permite conectar cualquier API interna. Zapier requiere una integración publicada o Webhooks (nivel Premium).
¿Dónde todavía gana Zapier?
- OAuth gestionado — Zapier gestiona cada refresco de token, cada actualización de pantalla de consentimiento, cada cambio de ToS de integración. Con n8n, cuando Google rota un alcance OAuth, tú lo corriges.
- 7.000+ integraciones preconfiguradas — n8n tiene ~400. Si tu stack incluye un SaaS de nicho (p. ej., un CRM regional, un HRIS específico), Zapier casi seguro lo tiene; n8n probablemente no.
- Webhooks públicos desde el primer momento — cada disparador "Catch Hook" de Zapier obtiene automáticamente una URL pública. Lo local necesita Cloudflare Tunnel o ngrok más DNS.
- Tiempo de configuración del primer flujo — 5 minutos en Zapier vs 45 minutos en el stack local la primera vez. La brecha se cierra rápidamente en el flujo 2 en adelante.
- Sin hardware que mantener — que tu portátil entre en suspensión no rompe un Zap. Lo local necesita una Pi 5 o una máquina siempre encendida.
- Alertas por correo en caso de fallo — Zapier te envía un correo cuando un Zap falla. n8n puede hacerlo pero tú lo configuras tú mismo.
- UI de colaboración en equipo — Zapier Team tiene carpetas compartidas, acceso basado en roles y registros de auditoría. n8n autoalojado los tiene en el nivel Enterprise o mediante soluciones manuales.
¿Qué hardware necesitas?
| Hardware | Adecuado para | Velocidad Llama 3.2 3B | Notas |
|---|---|---|---|
| Portátil existente (8 GB RAM, 2020+) | Los 5 flujos si siempre está encendido | 15–30 tok/s | Gratis si ya lo tienes; se suspende al cerrar |
| Raspberry Pi 5 8GB ($130) + SSD | Los 5 flujos, 24/7 | 5–7 tok/s | Recomendado para el caso de costo; ~7 W de consumo promedio |
| Mac mini M4 8GB ($599) | Los 5 + espacio para Qwen2.5 7B | 40–60 tok/s | El host 24/7 más silencioso; ~5 W en reposo |
| NVIDIA RTX 3060 12GB en un desktop | Los 5 + modelos más pesados (Qwen2.5 14B) | 80–120 tok/s | Excesivo para estos 5 flujos; útil si también ejecutas RAG |
| Portátil Apple M3 / M5 (16 GB+) | Los 5 + modelos más grandes, cuando el portátil está abierto | 50–80 tok/s | Cerrar la tapa pausa los flujos — combinar con Pi 5 para 24/7 |
💡Tip: Para el dimensionamiento completo de hardware para LLM local, incluidas tablas de VRAM para modelos más grandes, consulta la Guía de hardware para LLM local 2026.
Errores comunes
- Error 1: Ejecutar n8n en un portátil que entra en suspensión. La suspensión al cerrar la tapa pausa Docker; los flujos programados dejan de ejecutarse hasta que abres el portátil. Los recordatorios de calendario llegan 6 horas tarde. Solución: usa una Pi 5 ($130) o un Mac mini como host siempre encendido. O cambia la configuración de energía a "nunca entrar en suspensión con CA" y mantén el portátil en el dock.
- Error 2: Usar un modelo de 7B+ con 4 GB de RAM. Llama 3.1 8B o Qwen2.5 7B en una Pi 5 8GB hace swap al disco y tarda 30+ segundos por triaje de correo — usable pero doloroso. Solución: usa Llama 3.2 3B Q4_K_M para triaje/resumen en dispositivos de 8 GB. Sube a 7B solo en hardware de 16 GB+.
- Error 3: Saltarse el túnel de Cloudflare y exponer el puerto 5678 directamente. Un n8n público en internet abierto es un imán de recolección de credenciales en cuestión de horas. Solución: nunca hagas port-forward de n8n. Cloudflare Tunnel (gratuito) te da un hostname único con protección DDoS integrada. Bloquea la contraseña de autenticación básica de n8n con una cadena aleatoria de 24 caracteres.
- Error 4: Pedir al LLM salida de formato libre y parsear con regex. Llama 3.2 3B devuelve ocasionalmente " Aquí está el JSON: ``
json\n{...}\n`" con prosa alrededor del JSON. El parseo con regex falla en ~5% de las ejecuciones. Solución: usa el modo JSON de Ollama (format: "json"` en la llamada de API) que restringe la salida a JSON válido. Los fallos de parseo caen a ~0,1%. - Error 5: Sin alertas en caso de fallo. Zapier te envía un correo cuando un Zap falla; n8n permanece en silencio a menos que conectes un manejador de errores. Solución: agrega un flujo de error global en n8n que capture los fallos de cualquier otro flujo y envíe una notificación a través de ntfy o Pushover. 5 minutos de configuración, ahorra horas de "¿por qué mi triaje de correo dejó de funcionar hace una semana?"
Fuentes
- Documentación de n8n — Guía de autoalojamiento, referencia de nodos y configuración de credenciales.
- Biblioteca de modelos de Ollama — Modelos disponibles, niveles de cuantización y requisitos de RAM.
- Ficha del modelo Llama 3.2 3B — Arquitectura, benchmarks y licencia.
- Docs de Cloudflare Tunnel — Endpoint público sin port-forwarding.
- Precios de Zapier — Precios actuales de los niveles Pro / Team / Company como base de comparación.
- Matriz de características n8n vs Zapier — Comparación publicada por el proveedor; útil como punto de partida pero sesgada.
FAQ
¿Pueden los agentes de IA locales reemplazar el 100% de mis flujos de Zapier?
No, planifica para ~80%. Los flujos que dependen de integraciones de SaaS de nicho que Zapier soporta de forma nativa (p. ej., CRM regionales específicos, plataformas de nómina) son la brecha. Los 5 flujos de esta guía son los casos de alto volumen que lo local maneja correctamente. Para todo lo demás, ejecuta el nivel gratuito de Zapier (100 tareas/mes) junto con n8n.
¿Qué hay de los webhooks — puedo recibirlos de forma local?
Sí, pero necesitas un túnel público. Cloudflare Tunnel es gratuito y te da un hostname estable como https://abc.trycloudflare.com que redirige a tu n8n local. Ejecuta cloudflared como servicio systemd o launchd para disponibilidad 24/7. ngrok también funciona pero el nivel gratuito rota las URLs.
¿n8n autoalojado funciona con LLMs locales?
Sí — n8n incluye un nodo dedicado de Ollama, además el nodo HTTP Request llama a cualquier endpoint compatible con OpenAI. Apúntalo a http://localhost:11434 (o host.docker.internal:11434 desde dentro de Docker) y obtienes Llama, Qwen, Mistral o Phi como pasos de arrastrar y soltar en cualquier flujo.
¿Qué tan confiables son los agentes locales durante semanas/meses?
En una prueba continua de 30 días de los 5 flujos: 99,7% de ejecuciones exitosas en 12.847 ejecuciones. Los modos de fallo (refresco OAuth, reinicio del router, JSON malformado ocasional) son predecibles y tienen correcciones únicas. Tras las mitigaciones, la fiabilidad esperada es ~99,95%.
¿Puedo migrar directamente los flujos existentes de Zapier?
No hay importación automática — Zapier no exporta flujos como JSON portátil. Reconstruyes cada Zap manualmente en n8n, pero el modelo mental es idéntico (disparador → pasos → acción), por lo que tarda 10–25 minutos por flujo. n8n mismo exporta/importa flujos como JSON, por lo que una vez reconstruido un Zap puedes clonarlo entre instancias.
¿Qué pasa si mi computadora está offline cuando un flujo debe ejecutarse?
Se pierde, no se pone en cola. A diferencia de Zapier (que corre en infraestructura cloud siempre activa), lo local depende de que tu máquina esté encendida. La solución es una Raspberry Pi 5 8GB de $130 como host siempre encendido dedicado, o restart: unless-stopped en Docker Compose más un UPS para interrupciones cortas. Para interrupciones de varias horas no hay recuperación automática.
¿Necesito un servidor o mi portátil puede encargarse?
Cualquier portátil con 8 GB de RAM posterior a 2020 maneja los 5 flujos. El problema es la disponibilidad — los portátiles entran en suspensión al cerrarse, lo que pausa los flujos. Si estás dispuesto a mantener el portátil en el dock y deshabilitar la suspensión con CA, no necesitas hardware adicional. De lo contrario, una Pi 5 ($130) es el host 24/7 más económico.
¿Qué flujos todavía necesitan la nube (sin buena alternativa local)?
Cualquier cosa que requiera webhooks entrantes de un SaaS con lista blanca de IP estricta (algunos bancos, nómina, APIs reguladas), cualquier cosa con una integración gestionada exclusiva de Zapier y cualquier cosa donde los datos deban procesarse dentro de una región cloud específica por motivos de cumplimiento. Para estos, mantén el nivel gratuito de Zapier o paga por la integración específica.
¿Cómo monitoreo si los flujos locales fallan?
Construye un flujo de error global en n8n que capture el evento "Error Trigger" de cualquier otro flujo y envíe una notificación a través de ntfy.sh (gratuito) o Pushover. n8n registra cada ejecución en su UI; también puedes habilitar notificaciones webhook a un canal dedicado de Slack. La configuración es ~5 minutos en total.
¿Hay una interfaz gráfica sencilla para quienes no programan?
Sí — n8n es la interfaz gráfica. El constructor de flujos de arrastrar y soltar es el equivalente de código abierto más cercano al editor de Zapier. El único "código" requerido para los 5 flujos de esta guía son los fragmentos de JavaScript del nodo Function (5–10 líneas cada uno, copiables y pegables de las recetas anteriores).
¿Cómo se compara esto con ejecutar un agente Python personalizado en lugar de n8n?
Un agente Python (LangGraph, CrewAI o un bucle hecho a mano) te da más control sobre el razonamiento del agente pero pierde el constructor visual. Usa Python si quieres que el LLM decida dinámicamente qué herramienta llamar (flujo de agente verdadero). Usa n8n si quieres pipelines fijos que sean fáciles de depurar y modificar visualmente. Para los 5 flujos aquí, n8n es la mejor opción porque los pasos son deterministas.
¿Puedo ejecutar el stack local en un NAS como Synology o Unraid?
Sí — tanto Synology DSM como Unraid ejecutan Docker. Fija el contenedor de n8n a 2 GB de RAM y Ollama a 4 GB. El rendimiento es similar a una Pi 5 (5–10 tokens/seg para Llama 3.2 3B) y reutilizas hardware que ya poseas para copias de seguridad.