Cómo crear una newsletter con n8n

Si como yo, no dispones de mucho tiempo libre para informarte de determinados temas, una newsletter puede ayudarte mucho a mantenerte al día pero, ¿qué sucede si no existe una newsletter sobre ese tema o existe, pero no es de tu agrado?
Eso es lo que me pasaba a mi con la Inteligencia Artificial. Es un tema que me encanta, pero mantenerse al día es bastante complicado. Demasiadas novedades y noticias diarias hacen que sea prácticamente imposible estar al día.
Es por eso que me animé a crear mi propia newsletter sobre Inteligencia Artificial (Puedes verla aquí), que me ayudara a estar al tanto de las noticias diarias que surgen sobre el tema.
Esto, junto con un vistazo rápido a Youtube, me permiten no perderme nada del mundillo.
Para crear esta newsletter, decidí utilizar n8n, mi software de automatización favorito por su sencillez y por la posibilidad de poder instalarlo en mi servidor local con unos simples comandos (O utilizando Docker).
La automatización que cree es la siguiente:

El disparador es un Schelude que inicia el flujo todas las noches a las 22:20.
A continuación, formateamos la fecha de la forma en la que las fuentes de datos que utilizo la emplean para discriminar sólo las noticias que hayan sido publicadas en el último día. De esta forma intento no recibir noticias repetidas en días sucesivos aunque a veces pasa, ya que hay medios que publican la información más tarde que otros, pero no es algo grave ya que suele ser algo muy ocasional.
Tras estos primeros pasos, consultamos las fuentes de datos que queramos para extraer la información, facilitándoles la fecha y la temática de la que queremos obtener las noticias, para luego hacer un mergeo de todas ellas y guardarlas en un único campo, que le trasladaremos a nuestro agente de Inteligencia Artificial, el cual, en base a un prompt, obtendrá las noticias más relevantes según los parámetros que nosotros le digamos.
n8n incorporó hace algunas versiones algo muy interesante: el fallback model, que hace que si el modelo principal no funciona por algún motivo, en lugar de que el workflow de error directamente, intenta utilizar otro LLM diferente para ver si con él puede ejecutar el proceso.
En mi caso, como LLM principal utilizo Gemini 2.5 PRO, y como fallback model, Gemini 2.5 Flash.
El motivo de que los dos sean Gemini, básicamente es que se pueden utilizar gratis mediante API, al contrario que otros modelos de otras empresas que si quieres usarlos vía API, tienes que pagar.
Tras pasar por el agente, sanearemos el JSON que nos devuelve la IA y en los siguientes pasos maquetaremos el HTML que enviaremos vía correo electrónico con las noticias seleccionadas en su interior.
El siguiente paso sería el envío del correo.
Si lo vas a usar sólo para ti, con el nodo de correo sería suficiente.
Si como es mi caso, decides hacer la newsletter pública para que la gente pueda suscribirse a ella (Si te interesa, te puedes suscribir aquí), en este punto extraeremos las direcciones de email de los suscriptores y haremos un bucle de envío para que todos reciban la newsletter en su buzón puntualmente.
En mi caso, además, quería poner en la web de suscripción a la newsletter una muestra de las noticias que se publican en el boletín, por lo que selecciono las tres primeras y guardo sus datos en un JSON, que luego subo al servidor vía FTP.
Ese JSON lo utilizo en la web de suscripción para actualizar los contenidos de la página y que la web literalmente, se actualice sola.
Como veis, es un flujo relativamente sencillo en el que resuelvo un problema personal, al mismo tiempo que ofrezco un servicio a quien quiera utilizarlo...
El flujo lo creé hace un tiempo y tiene alguna cosa que podría mejorar, pero para el uso que le doy, tampoco me quería comer mucho más la cabeza además, que ya sabéis lo que dice el dicho: "Si funciona... No lo toques"
¿Qué te ha parecido el flujo? ¿Utilizas alguno similar para tu día a día?
¡Déjame un comentario en LinkedIn y cuéntamelo!