Automatiza tu Blog: Notifica artículos en Telegram con n8n y GitHub Actions

Aprende a integrar GitHub Actions con n8n para notificar automáticamente tus nuevos artículos en Telegram. Una guía DevOps paso a paso para automatizar tu flujo de publicación.

¿Sabes qué es lo que más pereza da después de pasar horas trasteando en un proyecto y escribiendo un artículo? Tener que ir a tus redes sociales o canales a pegar el enlace a mano.

En este laboratorio tenemos una máxima: si se puede automatizar, se debe automatizar. Es la misma filosofía que me llevó a construir toda la infraestructura de JRChub sin ser programador; si una tarea es repetitiva, debe ser eliminada.

Hoy vamos a montar un sistema “invisible” que hará el trabajo sucio por nosotros. El objetivo es que, en cuanto hagas un git push y tu web se actualice, un robot extraiga el título de tu artículo y lo anuncie en tu canal de Telegram con un enlace directo. Todo esto usando n8n y GitHub Actions.


El Esquema del Flujo: ¿Cómo se comunican GitHub y n8n?

Para que esta magia ocurra, la información viaja así:

  1. GitHub Actions termina de subir tu web y “lee” el archivo que acabas de escribir.
  2. Envía un paquete de datos (Webhook) a nuestro servidor de n8n.
  3. n8n procesa esos datos y le da la orden a un bot de Telegram para que publique el mensaje.

Paso 1: Configurar el Webhook en n8n

Primero, vamos a nuestra instancia de n8n (que ya tenemos montada en nuestro servidor de automatización). Necesitamos crear un puente que reciba la información.

El Nodo Webhook (La entrada)

Añade un nodo Webhook. Es vital que el método sea POST, ya que GitHub enviará un paquete de datos.

Configuración interna del nodo Webhook: método POST y respuesta al terminar

⚠️ ATENCIÓN

Production vs Test: n8n te da dos URLs. Para que el bot funcione siempre, debes usar la Production URL. La de Test solo funciona cuando tienes el editor de n8n abierto y pulsas “Listen”.

El Nodo Telegram (La salida)

Aquí ocurre la magia. Al conectar el Webhook con Telegram, n8n “lee” el título y la URL que vienen de GitHub. Para usarlos en el mensaje, usamos expresiones.

Cómo arrastrar los datos del Webhook al mensaje de Telegram

Solo tienes que escribir el texto que quieras y arrastrar los valores title y url desde el panel de la izquierda.

🧪 [ NUEVO ARTÍCULO DISPONIBLE ]

🕹️ NODO: {{ $json.title }}
🔗 LINK: {{ $json.url }}

Nuestro flujo de n8n: del Webhook al mensaje de Telegram


Paso 2: Extraer metadatos con GitHub Actions

Aquí es donde ocurre la parte más técnica. Tenemos que modificar nuestro archivo deploy.yml para que sea capaz de extraer el título y la carpeta del artículo que acabamos de crear.

💡 TRUCO

¿Por qué extraer el título? Porque así el mensaje de Telegram será dinámico y atractivo, en lugar de un aburrido “Hay un nuevo post”.

En tu archivo de despliegue, añadimos este bloque de código bash que “escanea” el archivo modificado:

- name: 🧠 Extraer metadatos del post
  id: metadata
  run: |
    FILE=$(echo '${{ steps.filter.outputs.content_files }}' | awk '{print $1}')
    TITLE=$(grep -m 1 '^title:' "$FILE" | cut -d':' -f2- | sed 's/"//g')
    CAT=$(echo $FILE | cut -d'/' -f3)
    SLUG=$(echo $FILE | cut -d'/' -f4)
    echo "post_title=$TITLE" >> $GITHUB_OUTPUT
    echo "post_url=https://jrchub.com/$CAT/$SLUG" >> $GITHUB_OUTPUT

Paso 3: La Conexión Final

Por último, el robot de GitHub envía esos datos a la URL de tu Webhook de n8n. Es como si el servidor de GitHub hiciera una llamada telefónica a tu casa para avisar de que el trabajo está hecho.

Captura de un mensaje real llegando al canal de Telegram segundos después del despliegie

⚠️ ATENCIÓN

Seguridad: No pegues la URL de tu Webhook directamente en el código. Úsala como un Secret en GitHub para que nadie más pueda enviar mensajes a tu canal.


🚀 ¿Quieres llevar tu automatización al siguiente nivel?

Ahora que tu blog tiene “voz propia” en Telegram, el siguiente paso es conectar el cerebro de tu laboratorio y descubrir la filosofía que hay detrás:

  1. El manifiesto: Cómo la IA me convirtió en Arquitecto de Soluciones
  2. El corazón del sistema: Guía para desplegar n8n en tu propio servidor

Conclusión

Ahora JRChub es un organismo autónomo. Yo solo me encargo de lo divertido: trastear y escribir. El sistema se encarga de que tú recibas la notificación al instante.

Este es el verdadero poder de unir herramientas modernas. ¿Qué te parece este nivel de automatización? Si te animas a montarlo y te atascas con el código del robot, ¡cuéntamelo en el canal!

¡A seguir trasteando! 🛠️