Guía 07

Flujos de automatización con n8n, Zapier y Make: cuándo gana el no-code y cuándo programar

Muchos bots no necesitan un repositorio de código. Un motor de flujos puede conectar un formulario, un paso de IA y un mensaje de chat en una tarde, siempre que diseñes pensando en los fallos.

Guía3 min de lecturaActualizado

Disparadores, acciones y datos

Todas las plataformas de automatización siguen el mismo modelo:

  • Un disparador inicia una ejecución: un webhook, un horario, una fila nueva, un correo nuevo, un mensaje de chat.
  • Las acciones hacen cosas: llamar a una API, transformar datos, publicar un mensaje, consultar a un modelo de IA.
  • Los datos pasan de paso a paso como elementos JSON. La mayoría de errores vienen de suponer que un campo siempre existe.

Elegir plataforma

n8n Zapier Make Node-RED
Alojamiento Propio o en la nube Nube Nube Propio
Punto fuerte Nodos de código, agentes de IA, control de datos Mayor catálogo de apps, el más fácil Ramificación visual, iteradores IoT y dispositivos locales
Base de precio Ejecuciones (nube) o tu servidor Tareas Operaciones Gratis
Mejor cuando Quieres control o manejas datos sensibles El flujo lo gestionan personas no técnicas Escenarios complejos con muchas ramas Hardware y MQTT

Autoalojar n8n

docker volume create n8n_data
docker run -d --name n8n --restart unless-stopped -p 127.0.0.1:5678:5678 \
  -e N8N_HOST=automation.example.com -e N8N_PROTOCOL=https \
  -e WEBHOOK_URL=https://automation.example.com/ \
  -e GENERIC_TIMEZONE=UTC \
  -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n

Escucha solo en 127.0.0.1 y pon delante un proxy inverso o un túnel con TLS. Crea de inmediato la cuenta de propietario, haz copia de la clave de cifrado (está en el volumen de datos) y usa PostgreSQL en lugar del SQLite por defecto cuando los flujos sean importantes.

Ejemplo: clasificar solicitudes entrantes

  1. Un disparador webhook recibe el envío de un formulario de contacto.
  2. Un nodo Code o Set recorta y valida los campos; rechaza si falta el correo.
  3. Un nodo de IA clasifica el mensaje en ventas, soporte o spam con salida JSON estricta.
  4. Un Switch enruta por categoría: soporte crea un ticket, ventas publica en un canal de Slack y el spam se descarta y registra.
  5. Respond to Webhook devuelve 200 con un número de referencia.

Mantén el paso de IA acotado: clasificar y extraer es fiable; dejar que el modelo decida qué API llamar con argumentos libres, no.

Diseña para los fallos

  • Flujos de error: n8n puede ejecutar un flujo dedicado cuando otro falla; Zapier y Make tienen manejadores de errores y reejecuciones. Envía los fallos a un canal que alguien vigile.
  • Reintentos: actívalos en pasos HTTP inestables, pero solo en operaciones idempotentes.
  • Idempotencia: guarda una clave (ID de pedido, ID de mensaje) y omite lo ya procesado. Los emisores de webhooks reintentan.
  • Tiempos de espera: los pasos largos de IA o de API no deben bloquear la respuesta del webhook; responde primero y continúa después.
  • Volumen: los bucles sobre miles de elementos pueden agotar los límites del plan o de las APIs. Agrupa y añade esperas.

Secretos y acceso

Usa el almacén de credenciales de la plataforma; nunca pegues tokens en los nodos. Limita quién puede editar flujos: un editor puede leer cualquier credencial que use el flujo. Protege los disparadores webhook con una cabecera secreta o una firma, porque la URL sola deja de ser secreta en cuanto se comparte.

Cuándo pasar a código

Lleva un flujo a un servicio propio cuando necesites pruebas unitarias y revisión de código, máquinas de estado complejas, alto volumen con latencia estricta, permisos finos por usuario, o cuando el flujo se haya vuelto una maraña que nadie entiende. Un patrón habitual es el híbrido: un servicio pequeño contiene la lógica central y expone un webhook, y el motor de flujos gestiona las muchas integraciones de bajo volumen a su alrededor.

Comprueba lo aprendido

1. ¿Qué pasos es seguro reintentar automáticamente?
2. ¿Cómo se protege un disparador webhook público?