Por qué migrar ahora: el costo real de Zapier a escala de agencia
El plan Professional de Zapier arranca en 29,99 $/mes (facturación mensual) por 750 tareas. Ese tope se calcula por acción individual: un workflow que recoge un formulario, enriquece los datos, escribe en un CRM y envía un mensaje de Slack consume 4 tareas en cada activación. Una agencia que gestiona diez clientes, con cinco automatizaciones diarias cada uno, supera ese límite en menos de una semana.
Más allá de la cuota, Zapier no detiene los workflows: factura paquetes de tareas adicionales a una tarifa unitaria elevada, u obliga a pasar al plan Team de 103,50 $/mes por 2 000 tareas. Para 50 000 tareas mensuales — un volumen habitual en cuanto la automatización está en el centro del servicio al cliente —, la factura de Zapier supera rápidamente los 200 a 400 $/mes.
n8n en modo self-hosted rompe radicalmente esa lógica: la plataforma es open source, gratuita de instalar, y factura sus ejecuciones de workflow, no sus nodos individuales. Ese mismo workflow de cuatro pasos cuenta como una sola ejecución en n8n. Para 50 000 ejecuciones, un VPS a 99 DH/mes al mes con 2 vCPU y 4 GB de RAM aguanta la carga. El ahorro anual frente a Zapier alcanza sin dificultad los 10 000 a 15 000 dólares en una cartera de agencia estándar.
Lo que n8n self-hosted aporta a una agencia
- Costo predecible: paga el VPS, nunca el volumen de tareas ejecutadas.
- Ejecución por workflow: un workflow de varios pasos = una sola ejecución, sea cual sea el número de nodos.
- Datos en su infraestructura: ningún dato de cliente pasa por los servidores de un tercero.
- Workflows simultáneos sin tope: ningún límite en el número de automatizaciones activas en paralelo.
- Nodos personalizados: código JavaScript o Python inline para los casos que los conectores SaaS no cubren.
- Interfaz visual completa: lógica condicional, ramas, bucles y subworkflows en un editor gráfico.
- Actualizaciones autónomas: Watchtower o
docker compose pullpara mantenerse al día sin intervención del soporte. - Multiinstancia: aísle los workflows de un cliente sensible en su propia instancia sin sobrecosto de licencia.
Requisitos de VPS para n8n en producción
n8n se despliega con Docker. En producción, cuente como mínimo con 2 vCPU y 4 GB de RAM: n8n en reposo consume de 300 a 500 MB, y los picos de ejecución de workflows complejos pueden llegar a 1 o 2 GB. PostgreSQL (recomendado frente a SQLite en producción) añade otros 512 MB.
Prevea 25 GB de almacenamiento SSD para el sistema, Docker, los volúmenes de n8n y los logs. Si gestiona workflows que manipulan archivos (exportación CSV, procesamiento de imágenes), duplique esa estimación. Se requieren un subdominio dedicado como n8n.mondomaine.com y el puerto 443 abierto para los webhooks entrantes y la autenticación OAuth.
Para una agencia que aloja a varios clientes, una instancia única con proyectos aislados (funcionalidad nativa desde n8n 1.x) basta en un primer momento. Por encima de 20 000 ejecuciones diarias en workflows intensivos en CPU, considere el modo queue con un worker dedicado.
Zapier vs n8n self-hosted: comparación de costos
Desplace la tabla
| Plan / Configuración | Costo mensual | Límite de ejecuciones |
|---|---|---|
| Zapier Professional (mensual) | 29,99 $ | 750 tareas |
| Zapier Team (mensual) | 103,50 $ | 2 000 tareas |
| Zapier + paquetes (50 000 tareas) | 200–400 $ estimados | ~50 000 tareas |
| n8n self-hosted — VPS VPS Start | 99 DH/mes | Sin cuota de ejecuciones |
| n8n cloud Starter | 20 $ (USD) | 2 500 ejecuciones/mes |
Migrar de Zapier a n8n: guía paso a paso
Haga inventario de sus Zaps
Antes de cualquier acción, cartografíe lo existente. En Zapier, vaya a Mis Zaps y exporte la lista completa. Anote para cada Zap: el trigger (webhook entrante, programado, evento SaaS), el número de pasos, el volumen mensual de tareas y las credenciales OAuth utilizadas. Clasifíquelos en tres categorías: migrar con prioridad (alto volumen), migrar después, consolidar o eliminar (Zaps redundantes o inactivos). Esta fase revela a menudo entre un 20 y un 30 % de Zaps obsoletos que no migrará.
Despliegue su instancia de n8n
Siga la guía
installer-n8n-vpspara desplegar n8n con Docker Compose en su VPS. Puntos críticos: definaWEBHOOK_URL=https://n8n.mondomaine.comen su archivo.envantes del primer arranque — esta variable configura a la vez las URL de los webhooks entrantes y los callbacks OAuth. Si apunta alocalhost, todos sus OAuth intentarán llamar a una dirección inalcanzable. Compruebe que el reverse proxy transmite bien las cabecerasX-Forwarded-ForyX-Forwarded-Protoa n8n.Reconstruya primero los workflows críticos
No existe una importación nativa de Zapier a n8n. La migración es una reconstrucción, no una conversión. Empiece por sus dos o tres Zaps más críticos (volumen alto, dependencias de clientes). En n8n, los workflows son grafos de nodos: allí donde Zapier encadena pasos lineales, n8n permite ramas condicionales, bucles y subworkflows en un mismo grafo. Una migración es también la ocasión de consolidar tres Zaps relacionados en un único workflow de n8n más legible.
Una herramienta de terceros como Migromat puede analizar una exportación JSON de Zapier y sugerir nodos n8n equivalentes, pero el resultado siempre requiere una revisión manual y una reconexión de las credenciales antes de ser operativo.
Actualice las URL de los webhooks entrantes
Es la trampa número uno de toda migración. Cada workflow de n8n genera una nueva URL de webhook con la forma
https://n8n.mondomaine.com/webhook/<id-unique>. Debe actualizar esa URL en cada sistema externo que la apuntaba: formularios (Typeform, Tally), CRM (HubSpot, Pipedrive), plataformas de e-commerce (Shopify, WooCommerce), pasarelas de pago. Olvide uno solo de esos sistemas y el disparador dejará de recibir nada — sin ningún mensaje de error de su lado.Elabore la lista de todas las fuentes de webhook antes de apagar Zapier. Pruebe cada endpoint con una llamada manual antes de validar.
Reconfigure las credenciales OAuth
Los tokens OAuth de Zapier no son exportables — tendrá que volver a autorizar cada servicio (Google Workspace, Slack, Notion, HubSpot) desde n8n. En n8n, vaya a Credentials y cree una nueva credential para cada servicio. Las apps de Google (Sheets, Gmail, Drive) exigen añadir su callback OAuth en la Google Cloud Console: la URL que debe autorizar es
https://n8n.mondomaine.com/rest/oauth2-credential/callback. Si esa URL no está registrada de forma exacta (mismo protocolo, misma ruta), Google devuelveError 400: redirect_uri_mismatch.Haga funcionar las dos plataformas en paralelo
No apague Zapier antes de haber validado n8n con datos reales. Active sus workflows de n8n y deje los Zaps correspondientes activos durante 3 a 7 días. Compare las salidas: volúmenes de tareas disparadas, errores eventuales, datos escritos en el CRM. Esta fase revela los casos límite que las pruebas con datos ficticios no cubren — valores nulos, campos ausentes, codificaciones inesperadas. Una vez validada la paridad, desactive los Zaps uno a uno.
Apague Zapier y archive
Desactive primero los Zaps menos críticos y después los más críticos, una vez confirmado que n8n los cubre sin incidencias desde hace varios días. Exporte un último archivo de sus Zaps (Zapier > Configuración > Gestión de datos > Exportar mis datos) antes de cerrar la cuenta. Documente en su wiki interno la correspondencia Zap / workflow n8n para el mantenimiento futuro.
Posmigración: copias de seguridad, actualizaciones y reverse proxy
Una instancia de n8n en producción sin copia de seguridad es un riesgo operativo. Configure una copia diaria del volumen PostgreSQL hacia un almacenamiento de objetos (S3, Backblaze B2) o hacia su espacio de copias de seguridad del VPS. El comando pg_dump dentro de un contenedor Docker basta, y se automatiza con un workflow del propio n8n.
Para las actualizaciones, Watchtower vigila su imagen Docker y aplica las nuevas versiones automáticamente. Si prefiere mantener el control, un docker compose pull && docker compose up -d en un workflow programado semanal es una alternativa sólida. Consulte las notas de versión de n8n antes de cualquier actualización mayor: los breaking changes de los nodos son raros, pero están documentados.
En cuanto al reverse proxy, Nginx o Caddy delante de n8n gestionan el TLS, la redirección de HTTP a HTTPS y el aislamiento de los puertos. Exponga únicamente el puerto 443 — el puerto nativo de n8n (5678) nunca debe ser directamente accesible desde Internet.
Endurezca el acceso a su instancia de n8n
n8n expone una interfaz web con acceso completo a sus workflows y credenciales. Por defecto, la autenticación se basa en un usuario y una contraseña. Active el MFA (autenticación de dos factores) desde la primera conexión en Configuración > Usuarios. Si su instancia está reservada a su equipo, añada una capa de aislamiento de red: un cortafuegos que solo autorice el puerto 443 a las IP de sus oficinas, o una VPN (Tailscale, WireGuard) delante de la interfaz. Los webhooks entrantes, en cambio, deben seguir siendo accesibles desde Internet — aíslelos en un subdominio o en una ruta dedicada si su reverse proxy lo permite.
Resolución de problemas: los errores más frecuentes
1. Error 400: redirect_uri_mismatch durante el OAuth de Google. La URL de callback registrada en la Google Cloud Console no coincide exactamente con https://n8n.mondomaine.com/rest/oauth2-credential/callback. Compruebe que WEBHOOK_URL está definida correctamente en su .env antes de crear la credential, y que la URL en la Cloud Console es exacta (sin barra final, sin puerto).
2. El webhook entrante no dispara nada. Compruebe primero que el workflow está activado (toggle arriba a la derecha en el editor). Después, asegúrese de que la URL de webhook utilizada en el sistema externo es la URL de producción (ruta /webhook/) y no la URL de prueba (ruta /webhook-test/). La URL de prueba solo está activa mientras el editor está abierto.
3. El nodo HTTP Request devuelve SSL certificate error. n8n valida los certificados TLS por defecto. Si su endpoint de destino usa un certificado autofirmado o caducado, active la opción Allow Unauthorized Certificates en el nodo, con pleno conocimiento del riesgo.
4. Diferencias de sintaxis entre Zap Formatter y las expresiones de n8n. Zapier Formatter manipula los datos con una interfaz visual. En n8n, las transformaciones se escriben como expresiones JavaScript: {{ $json.firstName.toLowerCase() }}, {{ $json.amount.toFixed(2) }}. Si una expresión devuelve undefined, compruebe el nombre exacto del campo en la pestaña Input del nodo en modo debug.
5. PostgreSQL rechaza las conexiones Docker. Si n8n y PostgreSQL están en la misma red de Docker Compose, use el nombre de servicio como host (postgres, no localhost). Verifique los depends_on con healthcheck para garantizar que PostgreSQL está listo antes de que n8n arranque — sin esa protección, n8n arranca, no encuentra la base de datos y se detiene en silencio.
Conclusión: migrar de forma progresiva, no de golpe
La migración de Zapier a n8n self-hosted no es un cambio inmediato — es un desplazamiento progresivo, Zap por Zap, con validación en condiciones reales antes de apagar el sistema antiguo. Para una agencia, el ahorro a 12 meses justifica de sobra el tiempo invertido: la diferencia entre una factura de Zapier de 200–400 $/mes y un VPS a 99 DH/mes representa varios miles de dólares al año, reinvertibles en desarrollo o en margen.
ServOrbit aloja su instancia de n8n con una plantilla Docker preconfigurada en un VPS administrado — reverse proxy Nginx, PostgreSQL, copias de seguridad automatizadas y Watchtower incluidos. Usted llega a la configuración, no a la instalación.