Crea tu Bot de Telegram con n8n Gratis: Guía Completa Paso a Paso (2025)

¿Te gustaría tener tu propio bot de Telegram que responda mensajes automáticamente, integre IA, envíe notificaciones o automatice tareas? Con n8n puedes crear un bot de Telegram profesional completamente gratis, sin escribir una sola línea de código. En este tutorial paso a paso te enseñaré exactamente cómo hacerlo, verificando cada paso para que te funcione a la primera.

⚠️ Importante: Este tutorial está actualizado para 2025 y cada paso ha sido verificado. Si sigues las instrucciones exactamente, te funcionará. Si algo falla, al final hay una sección de troubleshooting con las soluciones.

¿Qué vamos a construir exactamente?

Al final de este tutorial tendrás un bot de Telegram funcional que puede:

  • Recibir mensajes: Cualquier mensaje que le envíes lo procesa n8n
  • Responder automáticamente: Con mensajes fijos o dinámicos
  • Ejecutar comandos: /start, /help, /info y los que tú quieras
  • Integrar IA: Conectar con ChatGPT, Claude, o modelos locales
  • Base expandible: Desde aquí puedes añadir cualquier funcionalidad

Casos de uso reales

Una vez tengas tu bot funcionando, podrás usarlo para:

  • 🤖 Asistente personal con IA: Chatbot que responde preguntas inteligentes
  • 📊 Notificaciones automáticas: Alertas de servidor, ventas, errores, etc.
  • 📝 Captura de datos: Guardar notas, tareas, gastos en base de datos
  • 🔍 Consultas a APIs: Clima, cotizaciones, noticias en tiempo real
  • 📸 Procesamiento de imágenes: Recibe foto, la analiza con IA, responde
  • 🎵 Descargador de contenido: YouTube, música, documentos
  • 🏠 Control de homelab: Reiniciar servicios, ver estado, logs
  • 👥 Bot de grupo: Moderación, bienvenidas, estadísticas

Requisitos previos

Antes de empezar, necesitas:

  1. ✅ Cuenta de Telegram
  2. ✅ n8n instalado y funcionando
    • Si no lo tienes: Guía Completa de n8n v2
    • Puedes usar n8n cloud (cloud.n8n.io) o self-hosted
    • ⚠️ IMPORTANTE: Tu n8n debe ser accesible desde internet (más sobre esto abajo)
  3. ✅ 20-30 minutos de tiempo
    • Este tutorial es paso a paso, sin atajos confusos

⚠️ Requisito crítico: n8n accesible desde internet

Telegram necesita enviar mensajes a tu n8n, por lo que tu instalación debe tener una URL pública. Tienes varias opciones:

Opción Dificultad Coste Mejor para
n8n Cloud Fácil Gratis (plan básico) Principiantes, quick start
Cloudflare Tunnel Media Gratis Homelab sin IP pública
ngrok Fácil Gratis (límites) Testing temporal
VPS con dominio Avanzada ~5€/mes Producción seria

Si usas n8n cloud: Ya está listo, tienes URL tipo tuusuario.app.n8n.cloud

Si usas n8n self-hosted sin acceso público: Necesitas exponer tu n8n temporalmente. La forma más fácil es con ngrok:

# Instala ngrok (Linux/Mac):
curl -s https://ngrok-agent.s3.amazonaws.com/ngrok.asc | sudo tee /etc/apt/trusted.gpg.d/ngrok.asc >/dev/null
echo "deb https://ngrok-agent.s3.amazonaws.com buster main" | sudo tee /etc/apt/sources.list.d/ngrok.list
sudo apt update && sudo apt install ngrok

# Crea cuenta gratis en ngrok.com y copia tu authtoken
ngrok config add-authtoken TU_TOKEN_AQUI

# Ejecuta ngrok apuntando al puerto de n8n (default 5678):
ngrok http 5678

# Te dará una URL pública tipo: https://abc123.ngrok-free.app
# Usa ESA URL en el paso de configuración del webhook

Nota: ngrok gratis cambia la URL cada vez que reinicias. Para URL fija, usa Cloudflare Tunnel o un dominio propio.

Parte 1: Crear el bot en Telegram con BotFather

BotFather es el bot oficial de Telegram para crear y gestionar bots. Vamos paso a paso:

Paso 1: Abre BotFather

  1. Abre Telegram (app o web)
  2. Busca «BotFather» en la barra de búsqueda
    • Debe tener el check azul verificado (es oficial)
    • O usa el link directo: t.me/BotFather
  3. Click en «Start» o envía /start
    • BotFather te mostrará una lista de comandos disponibles

Paso 2: Crea tu bot

  1. Envía el comando: /newbot
  2. BotFather te preguntará el nombre del bot:
    • Este es el nombre que verán los usuarios
    • Puede tener espacios y emojis
    • Ejemplo: Mi Asistente IA 🤖
    • Escribe el nombre y envía
  3. Ahora te pide el username (nombre de usuario):
    • ⚠️ IMPORTANTE: Debe terminar en «bot» o «_bot»
    • Solo letras, números y guiones bajos (sin espacios)
    • Debe ser único en Telegram (si ya existe, prueba otro)
    • Ejemplo: MiAsistenteIA_bot
    • Escribe el username y envía

Paso 3: Guarda el Bot Token (¡MUY IMPORTANTE!)

Si todo fue bien, BotFather te responderá con un mensaje como este:

Done! Congratulations on your new bot.
You will find it at t.me/MiAsistenteIA_bot
...
Use this token to access the HTTP API:
1234567890:ABCdefGHIjklMNOpqrsTUVwxyz-1234567

Keep your token secure and store it safely...

⚠️ CRÍTICO: Ese token largo (tipo 1234567890:ABCdef...) es la llave de tu bot. Con ese token, cualquiera puede controlar tu bot.

Copia y guarda el token en un lugar seguro:

  • ✅ Notepad, bloc de notas, gestor de contraseñas
  • ❌ NO lo compartas públicamente
  • ❌ NO lo subas a GitHub
  • ❌ NO lo pegues en chats públicos

Lo necesitarás en el siguiente paso.

Paso 4: Configura comandos del bot (opcional pero recomendado)

Telegram puede mostrar un menú de comandos al usuario. Para configurarlo:

  1. Envía a BotFather: /setcommands
  2. Selecciona tu bot de la lista (si tienes varios)
  3. Envía la lista de comandos en este formato:
    start - Inicia el bot
    help - Muestra ayuda
    info - Información del bot
    • Un comando por línea: comando - descripción
  4. BotFather confirma: «Success! Commands updated»

Ahora cuando los usuarios escriban / en el chat, verán tu menú de comandos.

Paso 5: Prueba que tu bot existe

  1. Busca tu bot en Telegram
    • Escribe @MiAsistenteIA_bot en la búsqueda (tu username)
    • O usa el link que te dio BotFather
  2. Abre el chat del bot
  3. Click en «Start» o envía /start
  4. El bot NO responderá aún (es normal, todavía no tiene «cerebro»)
    • Verás que tu mensaje se envió correctamente
    • Pero el bot está en silencio

✅ Perfecto. Bot creado. Ahora vamos a conectarlo con n8n para que responda.

Parte 2: Configurar el bot en n8n

Ahora vamos a crear un workflow en n8n que haga que tu bot responda mensajes.

Paso 1: Crea las credenciales de Telegram en n8n

  1. Abre n8n en tu navegador
  2. Ve a Credentials (menú lateral izquierdo, icono de llave 🔑)
  3. Click en «Add Credential» (arriba a la derecha)
  4. Busca «Telegram» en el buscador
    • Selecciona «Telegram API» (no «Telegram Trigger»)
  5. Configura los campos:
    • Credential Name: «Mi Bot Telegram» (o el nombre que prefieras)
    • Access Token: Pega el token que te dio BotFather
      • Ejemplo: 1234567890:ABCdefGHIjklMNOpqrsTUVwxyz-1234567
    • Base URL: Deja vacío (usa el default de Telegram)
  6. Click en «Save»

✅ Credencial creada. n8n ya puede hablar con tu bot de Telegram.

Paso 2: Crea un nuevo workflow

  1. Ve a Workflows (menú lateral)
  2. Click en «Add workflow» (botón naranja)
  3. Nombra el workflow:
    • Click en «My workflow» arriba
    • Cámbialo a «Bot de Telegram» o similar
  4. Guarda: Ctrl+S (o Cmd+S en Mac)

Paso 3: Añade el nodo Telegram Trigger

Este nodo «escucha» mensajes que lleguen a tu bot:

  1. Click en el «+» en el centro del lienzo
  2. Busca «Telegram Trigger» y selecciónalo
  3. Configura el nodo:
    • Credential to connect with: Selecciona «Mi Bot Telegram» (la credencial que creaste)
    • Updates: «message» (para recibir mensajes de texto)
    • Deja el resto por defecto por ahora
  4. ⚠️ CRÍTICO – Activa el webhook:
    • Dentro del nodo, verás un campo «Webhook URL»
    • Ejemplo: https://tuusuario.app.n8n.cloud/webhook/abc123...
    • Click en «Listen for Test Event» o activa el workflow (toggle arriba)
    • Esto registra tu webhook con Telegram

Verificación inmediata:

  1. Ve a Telegram
  2. Abre el chat con tu bot
  3. Envía cualquier mensaje: Hola bot!
  4. Vuelve a n8n
  5. ¿Ves el mensaje en el nodo Telegram Trigger?
    • ✅ SÍ → ¡Perfecto! Tu bot está recibiendo mensajes
    • ❌ NO → Ve a la sección de Troubleshooting al final

Paso 4: Añade el nodo Telegram (para responder)

Ahora vamos a hacer que el bot responda:

  1. Click en el «+» del nodo Telegram Trigger (conector de la derecha)
  2. Busca «Telegram» (sin «Trigger») y selecciónalo
  3. Configura el nodo:
    • Credential to connect with: «Mi Bot Telegram»
    • Resource: «Message» (ya seleccionado por defecto)
    • Operation: «Send Text» (enviar mensaje de texto)
    • Chat ID: {{ $json.message.chat.id }}
      • ⚠️ Escribe esto EXACTAMENTE (es una expresión que obtiene el ID del chat)
      • O usa el selector de expresiones: click en el icono fx → messagechatid
    • Text: El mensaje que quieres que responda el bot
      • Ejemplo: ¡Hola! Soy tu bot de Telegram creado con n8n 🤖

Paso 5: Guarda y activa el workflow

  1. Guarda el workflow: Ctrl+S
  2. Activa el workflow:
    • Toggle en la parte superior derecha
    • Debe pasar de gris a verde/naranja (activo)

Paso 6: ¡Prueba tu bot!

  1. Ve a Telegram
  2. Abre el chat con tu bot
  3. Envía cualquier mensaje: Hola
  4. El bot DEBE responder con tu mensaje configurado
    • ✅ Si responde → ¡FELICIDADES! 🎉 Tu bot funciona
    • ❌ Si no responde → Ve a Troubleshooting abajo

¡Tu bot de Telegram está funcionando! Ahora vamos a hacerlo más inteligente.

Parte 3: Hacer el bot más inteligente

Ahora que tienes un bot básico funcionando, vamos a mejorarlo:

1. Responder según comandos

Vamos a hacer que el bot responda diferente según el comando que reciba:

  1. Añade un nodo «Switch» entre Telegram Trigger y Telegram
    • Búscalo en el menú de nodos
  2. Configura el Switch:
    • Mode: «Rules»
    • Value: {{ $json.message.text }} (el texto del mensaje recibido)
    • Reglas (añade 3):
      1. Regla 1:
        • Condition: «Equal»
        • Value 2: /start
        • Output: 0
      2. Regla 2:
        • Condition: «Equal»
        • Value 2: /help
        • Output: 1
      3. Regla 3 (Default):
        • Output: 2
  3. Conecta 3 nodos Telegram diferentes a las 3 salidas del Switch:
    • Salida 0 (/start): «¡Bienvenido! Soy tu asistente IA. Usa /help para ver qué puedo hacer.»
    • Salida 1 (/help): «Comandos disponibles:\n/start – Bienvenida\n/help – Esta ayuda\n\nO escríbeme cualquier cosa!»
    • Salida 2 (default): «Recibí tu mensaje: {{ $json.message.text }}»

2. Integrar con IA (ChatGPT, Claude, etc.)

Para hacer que tu bot responda con IA:

  1. Añade un nodo «OpenAI» (o el modelo que prefieras) entre el Switch y la respuesta
  2. Configura:
    • Resource: «Chat»
    • Operation: «Message Model»
    • Model: «gpt-3.5-turbo» (o el que tengas acceso)
    • Prompt: {{ $json.message.text }}
  3. En el nodo Telegram de respuesta:
    • Text: {{ $json.choices[0].message.content }} (la respuesta de la IA)

Ahora tu bot responde con IA real. Puedes usar:

  • OpenAI (GPT-3.5, GPT-4)
  • Anthropic (Claude)
  • OpenRouter (acceso a múltiples modelos, algunos gratis) – Ver guía
  • Ollama local (modelos en tu servidor) – Ver guía

3. Guardar conversaciones en base de datos

Para recordar conversaciones:

  1. Añade un nodo «Postgres» (o MySQL, SQLite, etc.) después del Trigger
  2. Configura INSERT:
    • Tabla: mensajes
    • Campos: user_id, username, message, timestamp
    • Valores desde el Trigger

4. Enviar notificaciones automáticas

Tu bot también puede enviar mensajes sin que le escriban:

  1. Crea un workflow separado con cualquier trigger (Cron, Webhook, HTTP Request, etc.)
  2. Añade nodo Telegram con Operation «Send Text»
  3. Chat ID: Tu Telegram user ID
    • Para obtenerlo: habla con @userinfobot en Telegram
    • Te dará tu ID (un número como 123456789)

Ejemplos de uso:

  • Notificación cada mañana con el clima
  • Alerta cuando tu servidor tiene CPU alta
  • Aviso cuando alguien compra en tu web
  • Recordatorio de tareas pendientes

Configuraciones avanzadas

Filtrar por usuario o grupo

Si solo quieres que ciertos usuarios usen tu bot:

  1. En el nodo Telegram Trigger, ve a opciones avanzadas
  2. Restrict to User IDs: 123456789,987654321 (IDs separados por comas)
  3. Ahora solo esos usuarios pueden activar el workflow

Descargar archivos enviados al bot

Para que tu bot reciba y procese archivos:

  1. En Telegram Trigger:
    • Updates: Añade «photo», «document», «voice» según lo que necesites
    • Download Images/Files: ON (activado)
  2. Ahora cuando alguien envíe una imagen:
    • n8n la descarga automáticamente
    • Está disponible como binary data en {{ $binary.data }}
  3. Puedes procesarla con:
    • GPT-4 Vision (analizar imagen)
    • OCR (extraer texto)
    • Guardar en Google Drive, Dropbox

Botones interactivos (Inline Keyboard)

Para que tu bot muestre botones clicables:

  1. En el nodo Telegram de respuesta:
  2. Additional FieldsReply Markup
  3. Tipo: «Inline Keyboard»
  4. Inline Keyboard:
    {
      "inline_keyboard": [
        [
          {"text": "Opción 1", "callback_data": "opt1"},
          {"text": "Opción 2", "callback_data": "opt2"}
        ],
        [
          {"text": "Ayuda", "callback_data": "help"}
        ]
      ]
    }
  5. Para manejar los clicks, añade otro Telegram Trigger con Updates: «callback_query»

Troubleshooting: Problemas comunes y soluciones

❌ El bot no responde a mensajes

Problema: Envías mensajes al bot pero no pasa nada.

Soluciones:

  1. Verifica que el workflow esté ACTIVO
    • Toggle en la parte superior derecha debe estar verde/naranja
    • Si está gris, actívalo
  2. Revisa las ejecuciones en n8n
    • Ve a «Executions» (menú lateral)
    • ¿Aparecen ejecuciones cuando envías mensajes?
      • SÍ pero con error → Lee el error, te dirá qué falla
      • NO aparecen → El webhook no está registrado
  3. Verifica el webhook URL
    • Abre el nodo Telegram Trigger
    • ¿Hay una Webhook URL visible?
    • ¿Es accesible desde internet? (prueba abriéndola en navegador, debe dar error 404 pero llegar)
  4. Re-registra el webhook
    • Desactiva el workflow
    • Actívalo de nuevo
    • Esto fuerza re-registro del webhook con Telegram
  5. Verifica el token
    • Ve a Credentials → Tu credencial Telegram
    • Verifica que el token esté correcto (copiado completo desde BotFather)

❌ Error: «Webhook URL is not accessible»

Problema: Tu n8n no es accesible desde internet.

Soluciones:

  • Si usas n8n cloud: No debería pasar esto, contacta soporte
  • Si usas self-hosted:
    • Verifica que tu firewall permite conexiones al puerto de n8n (default 5678)
    • Si estás en homelab, usa ngrok o Cloudflare Tunnel (ver sección de requisitos)
    • Prueba la URL desde un navegador fuera de tu red (datos móviles)

❌ Error: «Chat ID is invalid»

Problema: El Chat ID no es correcto.

Solución:

  • Asegúrate de usar la expresión exacta: {{ $json.message.chat.id }}
  • O usa el selector de expresiones (icono fx) en lugar de escribir a mano
  • NO escribas un número fijo a menos que sepas exactamente qué haces

❌ El bot responde pero el mensaje está vacío o mal formateado

Problema: La expresión para obtener datos está mal.

Solución:

  • Usa el botón «Execute Node» en cada nodo para ver qué datos salen
  • Verifica las expresiones en el selector fx
  • Común error: $json.message vs $json.message.text

❌ El bot funciona pero solo responde una vez

Problema: El workflow no está en modo «Production».

Solución:

  • Asegúrate de ACTIVAR el workflow (toggle arriba a la derecha)
  • No uses «Execute Workflow» manualmente, debe estar activo automáticamente

❌ El bot no recibe archivos/imágenes

Problema: El Trigger no está configurado para recibirlos.

Solución:

  • En Telegram Trigger → Updates → Añade «photo», «document», «audio», etc.
  • Activa Download Images/Files

❌ Error 429: «Too Many Requests»

Problema: Estás enviando demasiados mensajes muy rápido.

Solución:

  • Telegram limita a ~30 mensajes/segundo por bot
  • Añade un nodo «Wait» con 1 segundo entre mensajes masivos
  • O usa «batching» para agrupar mensajes

Mejores prácticas y consejos pro

Seguridad

  • 🔒 Nunca compartas tu Bot Token públicamente
  • 🔒 Usa User ID restriction para bots personales
  • 🔒 No proceses comandos maliciosos (sanitiza inputs antes de ejecutar)
  • 🔒 Rate limiting: Limita cuántas veces un usuario puede usar el bot (nodo «Switch» con contador)

Rendimiento

  • Usa «Queue Mode» en workflows con mucho tráfico
  • Caché de respuestas comunes (nodo «Redis» o «Memory»)
  • Timeout adecuado: APIs externas pueden tardar, configura timeouts

Experiencia de usuario

  • 💬 Responde rápido: Telegram muestra «typing…» si tardas, pero es mejor responder en <3 segundos
  • 💬 Mensajes de error amigables: Si algo falla, avisa al usuario de forma clara
  • 💬 Comandos claros: /start, /help siempre presentes
  • 💬 Feedback visual: Usa emojis, botones, formato (markdown)

Mantenimiento

  • 📊 Logs: Guarda interacciones en DB para analizar uso
  • 📊 Monitoring: Notifícate si el bot deja de funcionar
  • 📊 Backups: Exporta tus workflows regularmente (Workflow → Export)

Ejemplos de workflows listos para usar

La comunidad de n8n tiene templates gratuitos que puedes importar directamente:

  1. Ve a n8n.io/workflows
  2. Busca «Telegram»
  3. Algunos destacados:
    • Telegram Bot Starter Template: Base con manejo de comandos
    • AI Telegram Bot Agent: Bot con IA y comandos /help, /summary, /img
    • Telegram AI Chatbot: ChatGPT + generación de imágenes
    • Telegram to Database: Guardar mensajes en PostgreSQL
  4. Click en «Use Workflow» para importarlo a tu n8n
  5. Configura tus credenciales y listo

Recursos adicionales

Guías relacionadas en nuestra web

Resumen: Lo que has conseguido

¡Felicidades! Ahora tienes:

  • Bot de Telegram funcionando (verificado paso a paso)
  • Conectado con n8n (recibe y responde mensajes)
  • Base expandible (puedes añadir IA, DBs, APIs, lo que quieras)
  • Conocimiento de troubleshooting (sabes qué hacer si algo falla)
  • Templates listos (comunidad con miles de workflows)

Coste total: 0€ (usando n8n cloud gratis o self-hosted)
Tiempo de setup: 20-30 minutos
Potencial: Ilimitado

Siguientes pasos

Ahora que tienes tu bot funcionando, puedes:

  1. Añadir IA: Usa ChatGPT, Claude, o Ollama local para respuestas inteligentes
  2. Integrar con servicios: Google Sheets, Notion, Airtable, CRM
  3. Automatizar notificaciones: Alertas de servidor, recordatorios, noticias
  4. Procesar archivos: OCR de imágenes, transcripción de audio
  5. Crear bots de grupo: Moderación, juegos, estadísticas
  6. Monetizar: Bots de suscripción, consultas premium

Despedida

Crear un bot de Telegram con n8n es una de las formas más accesibles y potentes de automatizar tareas y crear servicios útiles sin programar. Lo que has construido hoy es solo el comienzo: desde aquí puedes crear desde asistentes personales con IA hasta sistemas completos de notificaciones empresariales.

Recuerda: Si en algún momento algo no funcionó siguiendo este tutorial, revisa la sección de troubleshooting. El 99% de los problemas están cubiertas ahí. Y si encuentras algo nuevo, déjalo en los comentarios para ayudar a otros.

Si tienes dudas, te has atascado en algún paso o quieres compartir qué bot creaste, ¡déjalo en los comentarios! Nos encanta ver qué automatizaciones está construyendo la comunidad.

¡Nos leemos en el próximo artículo, y que tu bot nunca deje de responder! 🤖🚀

Por ziru

El Diario IA
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.