Contenido
Tutorial de bots de Telegram con n8n: crea un asistente de IA
En esta sección crearemos un asistente de IA para Telegram: los usuarios envían mensajes al bot, n8n genera respuestas con IA y recuerda la conversación de cada usuario.
[Telegram Trigger] ─▶ [AI Agent] ─▶ [Telegram: Send Message]
├ Chat Model
└ Memory (separada por ID de usuario)
1. Crea un bot de Telegram
- Busca @BotFather en Telegram.
- Envía
/newbot. - Sigue las instrucciones para introducir el nombre visible del bot y un nombre de usuario que termine en
bot(por ejemplo,my_helper_bot). - BotFather te devolverá un Bot Token. Guárdalo de forma segura y no lo compartas.
2. Crea las credenciales
En n8n, añade credenciales de Telegram API y pega el Bot Token.
3. Telegram Trigger
Crea un flujo de trabajo y selecciona Telegram Trigger como primer nodo:
- Trigger On: Message
Telegram Trigger recibe mensajes mediante un webhook, así que:
- n8n debe ser accesible desde Internet mediante HTTPS (consulta Implementación autogestionada).
- Para hacer pruebas localmente, puedes exponerlo temporalmente a Internet con herramientas como Cloudflare Tunnel.
Haz clic en Listen for test event y envía un mensaje a tu bot en Telegram. El nodo recibirá datos parecidos a estos:
{
"message": {
"message_id": 42,
"from": { "id": 123456789, "first_name": "Alex" },
"chat": { "id": 123456789, "type": "private" },
"text": "Hola"
}
}
Cada bot solo puede tener un webhook configurado. Si alternas el mismo bot entre un flujo de prueba y uno de producción, se aplicará el último que hayas activado.
4. AI Agent
Añade el nodo AI Agent:
- Source for Prompt: Define below
- Prompt (User Message):
{{ $json.message.text }} - System Message:
Eres un asistente amable de Telegram llamado «Ayudante».
Responde de forma concisa y fácil de leer en un móvil, usando un español natural.
Conéctalo a un Chat Model (OpenAI o un modelo local de Ollama).
5. Recuerda las conversaciones por usuario
Añade Simple Memory (para producción, se recomienda Postgres / Redis Chat Memory):
- Session ID: Define below
- Key:
{{ $('Telegram Trigger').item.json.message.chat.id }}
Al usar el ID del chat como Session Key, cada usuario (o grupo) tiene su propia memoria de conversación, sin mezclarla con la de los demás.
6. Envía una respuesta
Añade un nodo Telegram con la operación Send Message:
- Chat ID:
{{ $('Telegram Trigger').item.json.message.chat.id }} - Text:
{{ $json.output }}
La respuesta de AI Agent está en el campo output.
En Additional Fields puedes configurar Parse Mode. Si el mensaje no se envía porque la respuesta del modelo contiene símbolos de Markdown, prueba a dejar Parse Mode sin configurar para enviarla como texto sin formato.
7. Prueba y publica
- Haz clic en Execute workflow y envía un mensaje al bot para probarlo.
- Cuando hayas confirmado que todo funciona, haz clic en Save y Publish.
Funciones avanzadas
Permite solo a usuarios específicos
Añade un nodo If después de Telegram Trigger:
{{ $json.message.from.id }} equals 123456789
Para quienes no cumplan la condición, usa otra ruta para responder «Este bot es solo para uso interno» o ignora el mensaje. También puedes limitar los ID de usuario en la configuración de Telegram Trigger, si tu versión lo permite. Puedes encontrar tu propio ID en los datos recibidos por Trigger.
Gestiona comandos
Usa un nodo Switch para dirigir el flujo según el contenido del mensaje:
| Condición | Acción |
|---|---|
text es igual a /start | Envía un mensaje de bienvenida e instrucciones de uso |
text es igual a /reset | Borra la memoria |
| Cualquier otro caso | Pasa el mensaje a AI Agent |
Gestiona mensajes que no son de texto
Cuando un usuario envía una imagen, una pegatina o un mensaje de voz, message.text estará vacío. Antes de AI Agent, usa If para comprobar si existe {{ $json.message.text }} y evitar errores.
Para procesar imágenes, usa Get File en el nodo Telegram para descargarlas y luego pásalas a un modelo compatible con visión para que las analice.
Añade herramientas
Conecta a este Agent las herramientas presentadas en Introducción a AI Agent (Google Sheets, HTTP Request y Calculator) para que el bot pueda consultar datos y realizar acciones.
Envía mensajes de forma proactiva
Además de responder, cualquier flujo de trabajo puede enviarte mensajes de forma proactiva con un nodo Telegram, por ejemplo, informes diarios, avisos de errores o notificaciones de pedidos. Solo necesitas conocer tu Chat ID.
Actualizado 12 de octubre de 2026