¿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í:
- GitHub Actions termina de subir tu web y “lee” el archivo que acabas de escribir.
- Envía un paquete de datos (Webhook) a nuestro servidor de n8n.
- 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.

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.

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 }}

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.
¿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.

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:
- El manifiesto: Cómo la IA me convirtió en Arquitecto de Soluciones
- 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! 🛠️