Blog · · 4 min de lectura

Cómo crear un bot de Telegram con IA usando n8n (paso a paso)

Guía para montar con n8n un bot de Telegram que responde con IA y recuerda la conversación: crear el bot con BotFather, el nodo Telegram Trigger, un agente de IA con memoria y la respuesta automática.

Telegram es una de las formas más rápidas de probar un asistente con IA de verdad: crear un bot es gratis, no hace falta aprobar nada con nadie y en diez minutos puedes estar hablando con él desde el móvil. Sirve para atender a clientes, para un grupo de tu comunidad o como asistente personal que te resuelve dudas o te toma notas.

En esta guía lo montamos con n8n: Telegram avisa a n8n de cada mensaje nuevo, un agente de IA lo responde teniendo en cuenta lo que se ha hablado antes, y n8n envía la respuesta al mismo chat.

Cómo funciona, en una frase

Alguien escribe a tu bot en Telegram; n8n recibe el mensaje, se lo pasa a un modelo de IA junto con tus instrucciones y la conversación previa, y devuelve la respuesta al chat.

Lo que necesitas

  • Una cuenta de Telegram.
  • n8n funcionando y accesible desde internet con HTTPS, porque Telegram solo envía mensajes a direcciones seguras (si aún no lo tienes, mira cómo instalar n8n gratis con Docker).
  • Una clave de API de un modelo de IA, por ejemplo de OpenAI.

Paso 1: crea el bot con BotFather

En Telegram, busca @BotFather (la cuenta oficial, con la marca de verificación) y escríbele /newbot. Te pedirá dos cosas:

  • Un nombre visible, por ejemplo «Asistente de Tu Negocio».
  • Un nombre de usuario que tiene que terminar en bot, por ejemplo TuNegocioBot.

Al terminar te dará un token, una cadena larga de números y letras. Es la llave de tu bot: guárdala y no la compartas, porque quien la tenga puede controlarlo.

Paso 2: conecta Telegram con n8n

En n8n, crea un flujo nuevo y añade el nodo Telegram Trigger. Crea una credencial nueva de Telegram y pega el token en Access Token.

En Trigger On, elige Message. A partir de ahora, cada mensaje que reciba el bot entrará en el flujo por aquí, con el texto, quién lo envía y el identificador del chat.

Paso 3: el agente de IA

Conecta al disparador un nodo AI Agent y configúralo así:

  • Source for Prompt: elige Define below y en el campo del prompt pon la expresión {{ $json.message.text }}, que es el texto que ha escrito la persona.
  • Chat Model: añade OpenAI Chat Model (u otro proveedor) con tu clave de API.
  • Memory: añade Simple Memory. Como el mensaje no viene del chat propio de n8n, tienes que decirle cómo separar las conversaciones: en Session Key elige definirla tú y usa {{ $json.message.chat.id }}. Así cada persona (o cada grupo) tiene su propia memoria.

Paso 4: las instrucciones del bot

En las opciones del agente, en System Message, explica quién es el bot y qué puede hacer. Un ejemplo corto para un negocio:

Eres el asistente de Telegram de [NOMBRE DEL NEGOCIO].
Responde en el idioma del usuario, en 2-4 frases, con tono cercano.
Usa solo esta información:
- Horario: [HORARIO]
- Servicios y precios orientativos: [LISTA]
- Contacto: [TELÉFONO / EMAIL]
Si no sabes algo o quieren reservar o pedir presupuesto,
pide un teléfono o email y di que el equipo responderá.
No inventes precios, plazos ni disponibilidad.

Si quieres afinarlo más, en el prompt para un agente de atención al cliente con IA explicamos cómo escribir estas instrucciones con más detalle.

Paso 5: envía la respuesta

Después del agente, añade un nodo Telegram con la acción Send a text message (Resource: Message, Operation: Send Message) y la misma credencial:

  • Chat ID: {{ $('Telegram Trigger').item.json.message.chat.id }}, para contestar en el mismo chat del que vino el mensaje.
  • Text: {{ $json.output }}, que es la respuesta que ha generado el agente.
  • En Additional Fields, añade Append n8n Attribution y desactívalo; si no, cada mensaje llevará al final una línea indicando que se envió con n8n.

Paso 6: prueba y activa

Pulsa para probar el flujo y escribe algo a tu bot desde Telegram: deberías ver el mensaje entrar en n8n y la respuesta llegar al chat. Cuando funcione, guarda y activa el flujo para que responda siempre, también con el editor cerrado.

Errores frecuentes

  • El bot no recibe nada. Lo más habitual es que n8n no sea accesible desde internet o no tenga HTTPS. Telegram no puede entregar los mensajes a una dirección local.
  • Funciona en pruebas pero no al activarlo (o al revés). Un bot de Telegram solo puede enviar sus mensajes a una dirección a la vez. Si tienes el mismo bot en dos flujos activos, o pruebas mientras el flujo está activo, uno le quita los mensajes al otro. Usa un bot distinto para pruebas.
  • El bot no recuerda nada. Revisa que la Session Key de la memoria use el identificador del chat y no un valor fijo.
  • Mensajes sin texto. Si alguien envía una foto, un audio o un sticker, message.text llega vacío. Puedes añadir un nodo If antes del agente para responder con un aviso amable cuando no hay texto.
  • Datos personales. Si el bot recoge teléfonos o emails, menciónalo en tu política de privacidad y pide solo lo necesario.

Ideas para ir más allá

Atajo: los agentes ya montados

El agente de atención por WhatsApp del pack AgentKiosk trae ya escrito un prompt de atención al cliente con reglas para no inventar y pasar a una persona cuando hace falta; puedes reutilizar ese mismo prompt en tu bot de Telegram. Todo viene como plantilla de n8n para importar.

Si quieres empezar por algo gratis, descarga el agente de WhatsApp y echa un vistazo a 7 automatizaciones con IA para pequeños negocios.