Capítulo 4: 🚀 Automatización recurrente en n8n: Guardando datos y ejecutando flujos periódicos
Read Time:5 Minute, 42 Second

Capítulo 4: 🚀 Automatización recurrente en n8n: Guardando datos y ejecutando flujos periódicos

0 0

En este cuarto capítulo aprenderemos a guardar datos en bases de datos y programar automatizaciones recurrentes en n8n. 📅🗄

🔹 ¿Por qué programar flujos recurrentes?

Algunas tareas requieren ejecución automática en intervalos de tiempo, por ejemplo: ✅ Enviar reportes diarios o semanales.
✅ Guardar registros históricos en bases de datos.
✅ Ejecutar acciones sin intervención manual.


🔹 Paso 1: Agregar un nodo Schedule Trigger en n8n

Nota: En versiones recientes de n8n, el nodo Cron ha sido renombrado a Schedule Trigger.

  1. En n8n, abrí un nuevo flujo de trabajo.
  2. Hacé clic en + y agregá un nodo Schedule Trigger.
  3. Configurá la frecuencia:
    • Every Minute: Para pruebas.
    • Every Day: Para ejecuciones diarias.
    • Custom: Para intervalos personalizados.
  4. Guardá los cambios.

Este nodo ejecutará el flujo en el intervalo definido. 🎯


🔹 Paso 2: Obtener y guardar datos del clima en SQL Server

1. Crear la tabla en SQL Server

Ejecutá esta consulta en tu base de datos SQL Server para crear la tabla donde guardaremos los datos:

CREATE TABLE Clima (
    id INT IDENTITY(1,1) PRIMARY KEY,
    fecha DATETIME DEFAULT GETDATE(),
    temperatura FLOAT,
    condicion NVARCHAR(255)
);

2. Obtener los datos del clima

  1. Agregá un nodo HTTP Request para consumir la API de OpenWeather.
  2. Configurá la URL de la solicitud GET con tu clave API: https://api.openweathermap.org/data/2.5/weather?q=TuCiudad&appid=TU_API_KEY&units=metric
  3. Ejecutá el nodo y asegurate de recibir los datos correctamente.

3. Extraer información relevante

  1. Agregá un nodo Set después del HTTP Request.
  2. Configurá los siguientes valores:
    • Temperatura: {{$json["main"]["temp"]}}
    • Condición: {{$json["weather"][0]["description"]}}
  3. Guardá y probá el nodo.

4. Guardar los datos en SQL Server

  1. Agregá un nodo MSSQL.
  2. Configurá la conexión con tu base de datos.
  3. En Query, agregá una consulta de inserción: INSERT INTO Clima (temperatura, condicion) VALUES ({{ $json.main.temp }}, '{e)n ;
  4. Guardá y probá el nodo.

Cada vez que se ejecute el flujo, se guardarán datos en la base de datos. 📊


🔹 Paso 3: Enviar reportes periódicos

1. Enviar email y mensaje de Telegram simultáneamente

Para enviar un correo electrónico y un mensaje de Telegram al mismo tiempo, simplemente conectá ambos nodos (Email y Telegram → Send a Text Message) al nodo Set, permitiendo que se ejecuten en paralelo.

  1. Asegurate de que el nodo Set ya está configurado con los datos del clima.
  2. Agregá un nodo Email y conéctalo al Set.
  3. Agregá un nodo Telegram → Send a Text Message y conéctalo también al Set.
  4. Configurá cada nodo con los detalles específicos:
    • Email: Dirección de destino, asunto y cuerpo del mensaje.
    • Telegram: Chat ID y contenido del mensaje.
  5. Guardá y ejecutá el flujo.

De esta manera, cuando el Schedule Trigger se active, ambos mensajes se enviarán en paralelo, sin necesidad de ejecución manual adicional. 🎉


🔹 Configuración de Gmail en n8n: SMTP vs OAuth2

Para enviar correos desde Gmail en n8n, tenés dos opciones: SMTP con contraseña de aplicación o OAuth2 a través de Google Cloud.

Opción 1: Usar SMTP con una contraseña de aplicación (Fácil y rápido)

Si no querés configurar Google Cloud, podés usar SMTP con una contraseña de aplicación.

  1. Generá una contraseña de aplicación en 👉 Google App Passwords.
  2. Configurá SMTP en n8n con:
    • User: tuemail@gmail.com
    • Password: la contraseña de aplicación generada
    • Host: smtp.gmail.com
    • Port: 465 (SSL) o 587 (TLS)
    • SSL/TLS: Habilitado

📩 Si todo está bien, n8n podrá enviar correos con tu cuenta de Gmail. 🚀


Opción 2: Usar OAuth2 con Google Cloud (Más seguro, recomendado por Google)

Este método permite conectar Gmail a n8n sin necesidad de contraseñas.

  1. Crear un proyecto en Google Cloud
  2. Habilitar la API de Gmail
    • En la barra de búsqueda, escribí Gmail API.
    • Hacé clic en «Habilitar».
  3. Configurar la pantalla de consentimiento OAuth
    • Ir a «APIs y servicios» → «Pantalla de consentimiento OAuth».
    • Seleccioná «Externo».
    • Agregá los permisos básicos (correo, envío de emails).
    • Guardá y continuá.
  4. Crear credenciales OAuth2
    • Andá a «APIs y servicios» → «Credenciales».
    • Clic en «Crear credenciales» → «ID de Cliente OAuth2».
    • Seleccioná Aplicación web.
    • En URI de redirección autorizados, agregá la URL de tu instalación de n8n (ejemplo: http://localhost:5678 si lo usás en local).
    • Guardá y copiá el Client ID y el Client Secret.
  5. Configurar en n8n
    • Abrí n8n y agregá una credencial de Gmail OAuth2.
    • Pegá el Client ID y Client Secret de Google.
    • Guardá y autorizá la conexión con tu cuenta de Gmail.

📌 Listo! Ahora tu cuenta de Gmail está conectada a n8n usando OAuth2. 🚀


🔥 Conclusión: ¿Cuál opción elegir?

  • Si querés una conexión segura y recomendada por Google: Usá OAuth2 con Google Cloud.
  • 🔹 Si querés algo rápido y sin complicaciones: Usá SMTP con una contraseña de aplicación.

🔹 ¿Qué sigue?

Dado que esta configuración es importante, en el Capítulo 5 crearemos una guía detallada exclusivamente para configurar Gmail con SMTP y OAuth2 en n8n, con ejemplos prácticos. 📧🚀


🔍 Bonus Track

1. Enviar email y mensaje de Telegram simultáneamente

Para enviar un correo electrónico y un mensaje de Telegram al mismo tiempo, simplemente conectá ambos nodos (Email y Telegram → Send a Text Message) al nodo Set, permitiendo que se ejecuten en paralelo.

  1. Asegurate de que el nodo Set ya está configurado con los datos del clima.
  2. Agregá un nodo Email y conéctalo al Set.
  3. Agregá un nodo Telegram → Send a Text Message y conéctalo también al Set.
  4. Configurá cada nodo con los detalles específicos:
    • Email: Dirección de destino, asunto y cuerpo del mensaje.
    • Telegram: Chat ID y contenido del mensaje.
  5. Guardá y ejecutá el flujo.

De esta manera, cuando el Schedule Trigger se active, ambos mensajes se enviarán en paralelo, sin necesidad de ejecución manual adicional. 🎉

2. Configurar el nodo Email

1. Configurar el nodo Email

  1. Agregá un nodo Email en n8n.
  2. En Service, seleccioná el proveedor de correo (por ejemplo, Gmail, SMTP, SendGrid, etc.).
  3. Configurá la autenticación:
    • Para Gmail, usa OAuth2 o una contraseña de aplicación si tenés 2FA activado.
    • Para SMTP, ingresá el servidor SMTP, puerto, usuario y contraseña.
  4. En To, ingresá la dirección de correo electrónico del destinatario.
  5. En Subject, poné algo como: Reporte Diario del Clima
  6. En Text, ingresá el contenido del mensaje. Usá variables dinámicas de los nodos anteriores, por ejemplo: 🌤 Reporte del clima: 🌡 Temperatura: {{$node["Set"].json["Temperatura"]}} ☁️ Condición: {{$node["Set"].json["Condición"]}}
  7. Guardá y probá el nodo enviando un correo de prueba.

2. Alternativa: Enviar reportes por Telegram

  1. Agregá un nodo Telegram → Send a Text Message.
  2. Configurá:
    • Chat ID: Usá el que obtuviste en el capítulo anterior.
    • Message: 🌤 Reporte del clima: 🌡 Temperatura: {{$node["Set"].json["Temperatura"]}} ☁️ Condición: {{$node["Set"].json["Condición"]}}
  3. Ejecutá una prueba para asegurarte de que el mensaje llega correctamente.

Ahora recibirás reportes automáticamente según la frecuencia definida. 📩

  1. Agregá un nodo Email o Telegram → Send a Text Message.
  2. Configurá:
    • Para email: Definí el correo destino y el contenido.
    • Para Telegram: Usá el mismo formato del capítulo anterior.
  3. Ejecutá una prueba para asegurarte de que el mensaje llega correctamente.

Ahora recibirás reportes automáticamente según la frecuencia definida. 📩


Avatar for Carlos Zelaya Irías

About Post Author

Carlos Zelaya Irías

Carlos Alberto Zelaya Irías es un profesional hondureño especializado en tecnología, desarrollo de software y consultoría empresarial. Como CEO de ZelvaIT, educador universitario y divulgador en plataformas digitales, promueve la innovación tecnológica y la educación inclusiva. Apasionado por la ciberseguridad, metodologías ágiles y transformación digital, comparte conocimientos prácticos para empoderar a su comunidad
Happy
Happy
0 %
Sad
Sad
0 %
Excited
Excited
0 %
Sleepy
Sleepy
0 %
Angry
Angry
0 %
Surprise
Surprise
0 %

Average Rating

5 Star
0%
4 Star
0%
3 Star
0%
2 Star
0%
1 Star
0%

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Entrada anterior 🚀 Capítulo 3: Conectando n8n con APIs externas. Obtención y uso de datos en flujos de trabajo
Entrada siguiente Cómo Resolví un Problema en mi Instancia EC2 de AWS (y Cómo Vos Podés Hacerlo También)