Cómo integrar Telegram en n8n autoalojado
La integración de Telegram en una instancia autoalojada de n8n te permite incorporar mensajes y notificaciones directamente en tus flujos de trabajo de automatización. En esta guía aprenderás paso a paso cómo conectar n8n con Telegram y crear tus primeros flujos sencillos para mensajes entrantes y salientes.
Ventajas de integrar n8n y Telegram
Telegram es una buena opción para integrarse con n8n, porque ofrece una comunicación rápida, fiable y directa. Por lo general, los mensajes se entregan en tiempo real, de modo que puedes recibir avisos al instante sobre los eventos de tus flujos de trabajo. En comparación con el correo electrónico u otros sistemas de notificación como Discord, que también se puede conectar con n8n, los mensajes de Telegram suelen verse antes en dispositivos móviles. Por ello, Telegram es ideal para alertas críticas, mensajes de estado o confirmaciones.
Otra ventaja es la estructura sencilla de la comunicación. Los mensajes, archivos, imágenes o enlaces se pueden transferir sin complicaciones y seguir procesando en los flujos de trabajo. Por ejemplo, puedes enviar automáticamente a Telegram datos procedentes de distintas API, bases de datos u otras herramientas, como Jira integrado con n8n, sin tener que desarrollar interfaces adicionales. Al mismo tiempo, los mensajes entrantes pueden servir como desencadenantes para otras automatizaciones, lo que permite crear flujos interactivos.
Para instancias autoalojadas de n8n, Telegram resulta muy práctico, ya que no necesitas una infraestructura adicional para las notificaciones. Puedes conectar directamente tus flujos de trabajo existentes con una aplicación de mensajería que ya usas a diario. La comunicación en equipo también se puede gestionar fácilmente enviando mensajes a grupos o canales. Así, varias personas pueden seguir al mismo tiempo los eventos importantes.
- Automatiza procesos técnicos
- Tareas ilimitadas y control de costes en tu servidor
- Más de 500 integraciones de código abierto
Paso 1: cumplir los requisitos previos
Antes de empezar con la configuración, conviene comprobar si tienes todo lo necesario. Esto te ahorrará tiempo más adelante, ya que los errores más frecuentes con los triggers de Telegram no suelen deberse al flujo de trabajo en sí, sino a requisitos previos que faltan, como una URL de n8n no accesible públicamente o un bot que aún no se ha creado. Debes cumplir los siguientes requisitos:
- Una instancia de n8n autoalojada: tu entorno de n8n ya debe estar en funcionamiento y ser accesible desde el navegador.
- Una URL pública para n8n: para los eventos entrantes de Telegram, n8n necesita una dirección HTTPS accesible desde el exterior.
- Acceso a Telegram y un token de bot: necesitas una cuenta de Telegram y un token de acceso generado mediante BotFather para guardarlo después en n8n.
- Acceso a la configuración de n8n: si tu instancia se ejecuta detrás de un proxy inverso, deberías poder ajustar variables de entorno como
WEBHOOK_URL,N8N_HOSTyN8N_PROTOCOL. - Opcional: un chat o grupo de prueba: así puedes probar la integración sin afectar a procesos en producción.
Si quieres alojar n8n tú mismo, tienes varias opciones de instalación. Una instalación de n8n con Docker es flexible e ideal para configuraciones personalizadas o servidores con acceso directo. Como alternativa, si buscas una gestión gráfica sencilla, puedes usar una instalación de n8n en Plesk y configurar cómodamente los contenedores desde la interfaz. También soluciones como n8n con CasaOS permiten una puesta en marcha rápida con un manejo similar al de una tienda de apps. Si, en cambio, priorizas la escalabilidad y la alta disponibilidad, puedes instalar n8n con Kubernetes y ejecutar cargas de trabajo más complejas de forma fiable.
Paso 2: preparar los datos de acceso de Telegram
Para integrar Telegram en n8n, necesitas credenciales de acceso válidas con las que n8n pueda autenticarse en Telegram. Con estas credenciales n8n puede enviar mensajes y, si utilizas un trigger, también recibir mensajes entrantes.
Si ya tienes una cuenta de Telegram, ya cuentas con la base principal. Sin embargo, Telegram no se conecta directamente con n8n, sino a través de una interfaz técnica, la Bot API, para la que se necesita un token de acceso. Este token funciona como una clave única con la que n8n puede comunicarse con Telegram.
En muchos casos, este acceso ya existe, por ejemplo, si Telegram ya se utiliza en otras herramientas o automatizaciones. En ese caso, puedes reutilizar el token existente e introducirlo directamente en n8n. Si aún no tienes un token de acceso, primero tendrás que crearlo como parte de un bot de Telegram para n8n. Este paso suele completarse rápidamente.
Trata el token de acceso como una contraseña. Cualquier persona que tenga acceso a él puede enviar o procesar mensajes en nombre de tu integración. Guárdalo de forma segura y no lo compartas públicamente.
Paso 3: hacer que n8n sea accesible correctamente para los webhooks
Si utilizas Telegram en n8n solo para enviar mensajes, basta con guardar las credenciales en n8n. En ese caso, la herramienta de automatización establece activamente la conexión con Telegram, por lo que no hace falta ninguna configuración adicional.
Sin embargo, si quieres procesar mensajes entrantes y utilizar Telegram como trigger, tu instancia de n8n debe ser accesible desde el exterior. El motivo es que Telegram envía activamente los mensajes nuevos a n8n. Para ello, n8n utiliza webhooks, es decir, URL públicas a las que pueden acceder servicios externos. n8n genera estas URL automáticamente según la configuración de tu instancia.
No obstante, si n8n se ejecuta detrás de un proxy inverso, sin ajustes adicionales normalmente solo conoce direcciones internas. Como consecuencia, los webhooks se crean, pero no funcionan correctamente desde el exterior.
El siguiente ejemplo para Docker Compose muestra cómo configurar tu instancia de n8n para que genere URL públicas de webhook válidas y servicios externos como Telegram puedan acceder a ellas de forma fiable:
services:
n8n:
image: n8nio/n8n:latest
ports:
- "5678:5678"
environment:
- N8N_HOST=n8n.example.com
- N8N_PROTOCOL=https
- WEBHOOK_URL=https://n8n.example.com/
- N8N_PROXY_HOPS=1
volumes:
- ./n8n_data:/home/node/.n8nyamlPara entornos en producción, es recomendable usar una versión fija de la imagen, por ejemplo n8nio/n8n:2.15.0, para evitar cambios inesperados por actualizaciones automáticas. Además, los cambios en variables de entorno como N8N_HOST solo surten efecto después de reiniciar el contenedor. Por eso, tras cada ajuste de configuración, ejecuta el comando docker compose down && docker compose up -d.
Paso 4: guardar las credenciales de acceso de Telegram en n8n
En el siguiente paso, conecta Telegram con tu instancia de n8n. Para ello, solo tienes que guardar una vez en n8n las credenciales que preparaste antes. n8n las almacena como Credentials, de modo que puedas reutilizarlas después en cualquier flujo de trabajo sin tener que introducir el token cada vez.
Sigue estos pasos:
- Abre la interfaz de n8n en el navegador.
- Crea un nuevo flujo de trabajo para configurar o probar la integración.
- Añade un nodo Telegram.
- Haz clic en el área “Credentials” en “Create new credential”.
- Introduce tu token de acceso existente en el campo “Access Token”.
Guarda la entrada. Después, la conexión con Telegram estará disponible de inmediato. Puedes seleccionar y usar las credenciales creadas en cualquier otro flujo de trabajo. Este paso solo tienes que hacerlo una vez. A partir de ahí, puedes utilizar Telegram tantas veces como quieras en flujos de trabajo nuevos o existentes.

A continuación, prueba directamente la conexión. Si todo está configurado correctamente, n8n mostrará el resultado correspondiente:

Paso 5: enviar tu primer mensaje de Telegram desde n8n
Para probar la integración, se recomienda crear primero un flujo de trabajo muy sencillo que envíe un mensaje a Telegram. De este modo podrás comprobar rápidamente si la conexión entre n8n y Telegram funciona correctamente, sin tener que trabajar desde el principio con triggers o lógicas más complejas.
La estructura básica del flujo de trabajo tiene este aspecto:
Manual Trigger -> Telegram
Esto significa que el flujo de trabajo se inicia manualmente y, a continuación, se envía un mensaje a través del nodo Telegram. Para ello, añade primero un nodo Manual Trigger, que sirve para ejecutar el flujo de trabajo con un clic. Después, añade un nodo Telegram y conecta ambos nodos trazando una línea entre ellos.
En el nodo Telegram, selecciona las credenciales de Telegram que has creado previamente para que n8n sepa con qué datos de acceso debe enviar el mensaje. Después, configura el nodo eligiendo como Resource la opción “Message” y como Operation la opción “Send Message”. Indica también el destino. Para ello, introduce un ID de chat o un nombre de canal, por ejemplo “@channelname”. Este dato determina adónde se enviará el mensaje. Como prueba puedes usar cualquier texto; en nuestro ejemplo utilizamos: Hello World! From n8n.

Puedes comprobar si el envío funciona haciendo clic en “Execute Step”:

A continuación, inicia el flujo de trabajo manualmente. Si todo está configurado correctamente, el mensaje se mostrará de inmediato en Telegram.

Paso 6: procesar mensajes entrantes de Telegram
Si quieres usar Telegram no solo para enviar mensajes, sino también como canal de entrada, utiliza el Telegram Trigger. Este nodo inicia tu flujo de trabajo automáticamente cuando llega un nuevo mensaje a Telegram. Así puedes procesar y responder directamente a los mensajes entrantes.
Una estructura sencilla tendría este aspecto:
Telegram Trigger -> Telegram
En nuestro ejemplo, se responde directamente a un mensaje recibido. Para ello, añade primero un nodo Telegram Trigger a tu flujo de trabajo. Después, selecciona las credenciales que has creado previamente para que n8n pueda acceder a Telegram. A continuación, define el evento deseado, por ejemplo, la recepción de nuevos mensajes.
En el siguiente paso, añade un nodo Telegram y conéctalo con el trigger. En este nodo, vuelve a elegir una operación de envío adecuada, por ejemplo “Send Message”, para enviar una respuesta.
Para que la respuesta llegue al chat correcto, puedes tomar el ID del chat directamente de los datos del trigger. Esto significa que el flujo de trabajo responde automáticamente al mismo chat desde el que llegó el mensaje original. Así no tienes que introducir el ID del chat manualmente.
Después de una prueba, n8n te muestra en la sección Output del nodo Telegram Trigger todos los datos recibidos. Ahí puedes ver exactamente qué información hay disponible, por ejemplo, el texto del mensaje, el ID del chat u otros metadatos.
Paso 7: usar el flujo de trabajo en producción
En cuanto tu flujo de trabajo funcione correctamente, podrás activarlo. A partir de ese momento, n8n procesará los mensajes entrantes de forma continua y enviará respuestas o notificaciones automáticamente. Como hasta ahora n8n solo ha guardado el flujo de trabajo como borrador, primero tienes que publicarlo. Para ello, haz clic en el botón “Publish” (en versiones anteriores, utiliza el interruptor de activación).
Telegram solo permite un webhook registrado por bot. Al cambiar de la URL de prueba a la URL de producción, Telegram sobrescribe automáticamente el webhook registrado anteriormente, por lo que la URL anterior deja de recibir eventos. Por eso, conviene probar siempre los flujos de trabajo con trigger en un flujo de trabajo independiente y no activo.
De este modo, Telegram se convierte en una parte fija de tu automatización y actúa como interfaz de comunicación dentro de tus flujos de trabajo de n8n.
Tres ideas prácticas para flujos de trabajo de Telegram con n8n
Telegram es ideal como interfaz para notificaciones e interacciones dentro de n8n. Resulta especialmente útil cuando la información debe estar disponible rápidamente o cuando hay que reaccionar directamente ante determinados eventos.
Ejemplo 1: notificar caídas de servidores o páginas web
Con n8n puedes comprobar periódicamente una página web o un servidor y recibir avisos automáticos por Telegram si hay problemas. Para ello, se configura un flujo de trabajo que se ejecute a intervalos fijos, por ejemplo, cada cinco minutos. Un nodo HTTP Request llama a la página web deseada y comprueba si es accesible. A continuación, un nodo IF evalúa si el código de estado indica un problema, por ejemplo, un error o una falta de respuesta del servidor. En caso de error, n8n envía automáticamente un mensaje a Telegram, para que estés informado al instante. Así detectas caídas rápidamente sin tener que supervisar los sistemas manualmente.

Ejemplo 2: usar Telegram como canal de entrada para consultas
Telegram también puede servir como una interfaz de entrada sencilla y directa para tus flujos de trabajo. En este escenario, el flujo de trabajo de n8n se activa automáticamente cuando llega un mensaje nuevo. A continuación, se evalúa el contenido del mensaje, por ejemplo, con un nodo IF o Switch. Según el contenido, se pueden ejecutar diferentes acciones, como obtener datos de una API o de una base de datos. Después, los resultados se envían de nuevo a Telegram en forma de mensaje. De este modo se crea un flujo interactivo sencillo con el que puedes consultar información directamente por chat. Así accedes rápidamente a los datos sin tener que iniciar sesión en otros sistemas.

Ejemplo 3: reenviar automáticamente nuevas solicitudes o eventos
Otro caso de uso muy habitual es el reenvío automático de eventos desde otros sistemas a Telegram. Por ejemplo, cuando llega una nueva solicitud a través de un formulario o se crea un pedido en la tienda, n8n puede procesar esta información. El flujo de trabajo se inicia mediante un webhook o un trigger específico de una app. Después, los datos relevantes se preparan y se transforman en un mensaje claro y comprensible. Este mensaje se envía automáticamente a un chat o grupo de Telegram. De este modo, tú y tu equipo podéis estar siempre al día sin tener que revisar constantemente distintos sistemas. Especialmente en equipos pequeños, esto permite reaccionar más rápido y mantener una mejor visión general.


