LinuxParty
En la primera parte de esta serie conocimos qué es n8n, cómo funciona y aprendimos a instalarlo sobre Red Hat Enterprise Linux, AlmaLinux y Rocky Linux utilizando Podman. Llegó el momento de empezar a trabajar con él. En este artículo construiremos nuestras primeras automatizaciones paso a paso, aprendiendo los conceptos fundamentales que aparecen en cualquier Workflow. Comenzaremos con un ejemplo muy sencillo: detectar automáticamente cuándo aparece un fichero en un directorio y enviar un correo electrónico notificándolo.
Ya tengo n8n instalado… ¿y ahora qué?
Ésta suele ser la pregunta que se hace cualquier administrador después de acceder por primera vez a la interfaz de n8n.
La pantalla aparece prácticamente vacía.
Un botón para crear un Workflow.
Un menú lateral.
Algunas opciones de configuración.
Y poco más.
La sensación inicial suele ser la misma:
"Muy bonito... pero ¿por dónde empiezo?"
La respuesta es sencilla.
No vamos a aprender botones.
Vamos a resolver problemas.
Porque ésa es precisamente la filosofía de n8n.
Cada Workflow nace para solucionar una necesidad concreta.
Antes de crear nuestro primer Workflow
Conviene conocer cuatro conceptos muy sencillos.
No hace falta memorizarlos.
Los iremos utilizando continuamente.
¿Qué es un Workflow?
Un Workflow no es más que una automatización.
Es una serie de pasos conectados entre sí.
Cada paso realiza una acción.
Por ejemplo:
Cada minuto │ ▼ ¿Hay archivos nuevos? │ ▼ Sí │ ▼ Enviar un correo
Eso ya es un Workflow.
En Bash probablemente escribiríamos un script.
En n8n construiremos un pequeño diagrama.
¿Qué es un nodo?
Cada bloque del Workflow recibe el nombre de nodo.
Un nodo puede:
- leer un directorio;
- enviar un correo;
- ejecutar un comando SSH;
- consultar una API;
- insertar datos en MariaDB;
- enviar un mensaje de Telegram.
Los Workflows se construyen enlazando nodos.
Exactamente igual que un diagrama de flujo.
¿Qué es un Trigger?
Todo Workflow necesita saber cuándo debe comenzar.
Ese primer nodo se llama Trigger.
Existen muchos tipos.
Por ejemplo:
- Manual Trigger
- Schedule Trigger
- Webhook
- Telegram Trigger
- Gmail Trigger
- GitHub Trigger
En nuestro primer ejemplo utilizaremos un Schedule Trigger, es decir, una tarea programada que se ejecutará automáticamente cada cierto tiempo.
¿Qué son las credenciales?
Muchos nodos necesitan autenticarse.
Por ejemplo:
- un servidor SMTP;
- Telegram;
- MariaDB;
- SSH;
- GitHub.
En lugar de escribir la contraseña en cada Workflow, n8n utiliza un sistema centralizado denominado Credentials.
Una vez creadas, podremos reutilizarlas tantas veces como queramos.
Esto simplifica enormemente el mantenimiento.
Nuestro primer ejemplo
Problema
Supongamos la siguiente situación.
Existe un directorio donde otra aplicación deposita documentos.
/opt/entrada
Cada vez que aparece un archivo nuevo queremos recibir un correo electrónico.
Parece una tarea sencilla.
Y lo es.
Pero ilustra perfectamente cómo trabaja n8n.
¿Cómo resolveríamos este problema con Bash?
Muchos administradores escribirían algo parecido a esto:
#!/bin/bash if ls /opt/entrada/* >/dev/null 2>&1 then echo "Hay archivos nuevos" | mail -s "Aviso" Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo. fi
El script funciona.
Pero tiene algunos inconvenientes.
- No sabemos cuándo se ejecutó.
- No queda registrado el resultado.
- Resulta difícil ampliarlo.
- Si queremos añadir Telegram, Slack y una base de datos habrá que modificar el código.
Con n8n todo eso resulta mucho más sencillo.
El Workflow
Nuestro diagrama será el siguiente:
Schedule Trigger │ ▼ Read Files │ ▼ IF │ Sí ───────► Email
Muy sencillo.
Sólo cuatro nodos.
Paso 1
Crear un Workflow nuevo
Entramos en n8n.
Pulsamos:
New Workflow
Aparecerá un lienzo completamente vacío.
Será nuestro espacio de trabajo.
Podemos asignarle un nombre.
Por ejemplo:
Avisar cuando aparezcan archivos nuevos
Es recomendable utilizar nombres descriptivos.
Con el tiempo tendremos decenas de Workflows.
Paso 2
Añadir el Schedule Trigger
Pulsamos el símbolo +.
Buscamos:
Schedule Trigger
Lo añadimos.
Ahora configuramos:
Mode: Every Minute
Esto significa que cada minuto se iniciará automáticamente el Workflow.
Naturalmente podemos elegir:
- cada hora;
- cada día;
- cada lunes;
- cada cinco minutos;
- una fecha concreta.
n8n utiliza internamente una programación muy similar a Cron.
Paso 3
Leer el directorio
Añadimos un nuevo nodo.
Buscamos:
Read Files From Disk
Dependiendo de la versión puede aparecer con un nombre ligeramente diferente.
Configuramos:
Directorio /opt/entrada
Y activamos la opción:
Return All
De esta forma obtendremos la lista completa de archivos.
Paso 4
Comprobar si existen archivos
Ahora necesitamos tomar una decisión.
Para ello añadimos un nodo:
IF
La condición será muy sencilla.
Número de archivos > 0
Si existe al menos uno...
Continuaremos.
Si no existe ninguno...
El Workflow terminará.
Paso 5
Configurar el correo electrónico
Ahora añadimos un nodo:
Send Email
La primera vez n8n nos pedirá las credenciales SMTP.
Por ejemplo:
Servidor: mail.midominio.com Puerto: 587 Usuario: Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo. Contraseña: ********
Una vez guardadas podremos reutilizarlas siempre.
Construyendo el mensaje
El asunto podría ser:
Nuevo archivo detectado
Y el cuerpo:
Se ha detectado un nuevo archivo en: /opt/entrada Fecha: {{ $now }}
Más adelante aprenderemos a incluir también el nombre del fichero.
Ejecutar manualmente
Antes de dejar funcionando el Workflow conviene probarlo.
Pulsamos:
Execute Workflow
Si existe algún archivo en el directorio:
/opt/entrada
El correo debería enviarse inmediatamente.
Si no existe ninguno...
El nodo IF finalizará por la rama negativa.
Activar el Workflow
Una vez comprobado que todo funciona...
Activamos:
Active
Desde ese momento n8n ejecutará el Workflow automáticamente.
No tendremos que volver a intervenir.
¿Qué hemos aprendido?
Aunque el ejemplo parezca muy sencillo, ya hemos utilizado algunos de los conceptos más importantes de n8n.
Hemos aprendido que un Workflow necesita un disparador que marque cuándo debe ejecutarse. En este caso ha sido un Schedule Trigger, equivalente a una tarea programada.
También hemos visto cómo utilizar un nodo para leer información del sistema de archivos y otro para tomar decisiones mediante una condición lógica. Finalmente, hemos configurado el envío de un correo electrónico reutilizando unas credenciales SMTP almacenadas de forma segura.
Sin escribir una sola línea de código hemos construido una automatización que puede ejecutarse indefinidamente.
Posibles mejoras
Nuestro primer Workflow funciona.
Pero todavía podemos mejorarlo.
Por ejemplo:
- Adjuntar automáticamente el fichero al correo.
- Mover el archivo a un directorio de procesados.
- Registrar el evento en MariaDB.
- Enviar además una notificación por Telegram.
- Ignorar archivos temporales.
- Procesar únicamente documentos PDF.
Y lo mejor es que todas esas mejoras pueden añadirse simplemente incorporando nuevos nodos al Workflow existente.
¿Cómo lo harías tú?
Éste es un buen momento para experimentar.
Intenta modificar el intervalo del Schedule Trigger para que se ejecute cada cinco minutos.
Después cambia el asunto del correo, añade tu propio texto o prueba a monitorizar otro directorio diferente.
Una de las grandes ventajas de n8n es que resulta muy difícil "romper" un Workflow durante las pruebas. Siempre podrás volver atrás, duplicarlo o restaurarlo desde una copia exportada.
En la siguiente parte...
Ahora que ya hemos construido nuestra primera automatización, es el momento de descubrir una de las características más potentes de n8n: los Webhooks.
Aprenderemos a recibir información desde cualquier aplicación, procesarla automáticamente y almacenarla en una base de datos MariaDB. Será el primer paso para convertir n8n en el centro de integración entre diferentes servicios y aplicaciones.
Y, para terminar, construiremos un tercer ejemplo especialmente pensado para administradores Linux: monitorizar un servidor remoto mediante SSH y recibir una alerta en Telegram cuando detectemos un problema.
-
Artículos
- Automatiza tareas en Linux con n8n (II): primeros pasos y tres automatizaciones prácticas para empezar (2A)
- Automatiza tareas en Linux con n8n (II): primeros pasos y tres automatizaciones prácticas para empezar (2B)
- China asume que no habrá un nuevo baby boom y apuesta por la "economía plateada": IA, robótica y tecnología para una sociedad cada vez más longeva
- De modelo erótica a presunta saboteadora del Nord Stream: la increíble historia de "Freya" que sacude Europa
- Herramientas imprescindibles para desarrollar aplicaciones modernas en Linux
- Encriptar / desencriptar ficheros y directorios con EncFS: uso en modo gráfico y modo consola (Linux y Windows)
- ⚖️ Polémica en el software libre: ONLYOFFICE denuncia posibles infracciones en el proyecto “Euro-Office”
- Diferencia entre basalto y granito
- Europa prepara cambios para acabar con la pesadilla de las cookies web 🍪
- ONLYOFFICE Desktop Editors ya está disponible para Linux ARM
- Proyecto Chrysalis: así sería la nave interestelar capaz de llevarnos a otro sistema solar
- Robots rusos, caídas estrepitosas y el nuevo “show” ante Putin: lo último en IA en Moscú



