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

  1. Busca @BotFather en Telegram.
  2. Envía /newbot.
  3. Sigue las instrucciones para introducir el nombre visible del bot y un nombre de usuario que termine en bot (por ejemplo, my_helper_bot).
  4. 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

  1. Haz clic en Execute workflow y envía un mensaje al bot para probarlo.
  2. 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ónAcción
text es igual a /startEnvía un mensaje de bienvenida e instrucciones de uso
text es igual a /resetBorra la memoria
Cualquier otro casoPasa 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