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
- Un disparador webhook recibe el envío de un formulario de contacto.
- Un nodo Code o Set recorta y valida los campos; rechaza si falta el correo.
- Un nodo de IA clasifica el mensaje en
ventas,soporteospamcon salida JSON estricta. - Un Switch enruta por categoría: soporte crea un ticket, ventas publica en un canal de Slack y el spam se descarta y registra.
- Respond to Webhook devuelve
200con 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.