¿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:
- ✅ Cuenta de Telegram
- Descarga la app o usa web.telegram.org
- Verifica tu número de teléfono
- ✅ 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)
- ✅ 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
- Abre Telegram (app o web)
- Busca «BotFather» en la barra de búsqueda
- Debe tener el check azul verificado (es oficial)
- O usa el link directo: t.me/BotFather
- Click en «Start» o envía
/start
- BotFather te mostrará una lista de comandos disponibles
Paso 2: Crea tu bot
- Envía el comando:
/newbot
- 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
- 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:
- Envía a BotFather:
/setcommands
- Selecciona tu bot de la lista (si tienes varios)
- 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
- Un comando por línea:
- 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
- Busca tu bot en Telegram
- Escribe
@MiAsistenteIA_bot
en la búsqueda (tu username) - O usa el link que te dio BotFather
- Escribe
- Abre el chat del bot
- Click en «Start» o envía
/start
- 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
- Abre n8n en tu navegador
- Ve a Credentials (menú lateral izquierdo, icono de llave 🔑)
- Click en «Add Credential» (arriba a la derecha)
- Busca «Telegram» en el buscador
- Selecciona «Telegram API» (no «Telegram Trigger»)
- 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
- Ejemplo:
- Base URL: Deja vacío (usa el default de Telegram)
- Click en «Save»
✅ Credencial creada. n8n ya puede hablar con tu bot de Telegram.
Paso 2: Crea un nuevo workflow
- Ve a Workflows (menú lateral)
- Click en «Add workflow» (botón naranja)
- Nombra el workflow:
- Click en «My workflow» arriba
- Cámbialo a «Bot de Telegram» o similar
- 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:
- Click en el «+» en el centro del lienzo
- Busca «Telegram Trigger» y selecciónalo
- 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
- ⚠️ 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:
- Ve a Telegram
- Abre el chat con tu bot
- Envía cualquier mensaje:
Hola bot!
- Vuelve a n8n
- ¿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:
- Click en el «+» del nodo Telegram Trigger (conector de la derecha)
- Busca «Telegram» (sin «Trigger») y selecciónalo
- 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 →
message
→chat
→id
- Text: El mensaje que quieres que responda el bot
- Ejemplo:
¡Hola! Soy tu bot de Telegram creado con n8n 🤖
- Ejemplo:
Paso 5: Guarda y activa el workflow
- Guarda el workflow: Ctrl+S
- Activa el workflow:
- Toggle en la parte superior derecha
- Debe pasar de gris a verde/naranja (activo)
Paso 6: ¡Prueba tu bot!
- Ve a Telegram
- Abre el chat con tu bot
- Envía cualquier mensaje:
Hola
- 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:
- Añade un nodo «Switch» entre Telegram Trigger y Telegram
- Búscalo en el menú de nodos
- Configura el Switch:
- Mode: «Rules»
- Value:
{{ $json.message.text }}
(el texto del mensaje recibido) - Reglas (añade 3):
- Regla 1:
- Condition: «Equal»
- Value 2:
/start
- Output: 0
- Regla 2:
- Condition: «Equal»
- Value 2:
/help
- Output: 1
- Regla 3 (Default):
- Output: 2
- Regla 1:
- 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:
- Añade un nodo «OpenAI» (o el modelo que prefieras) entre el Switch y la respuesta
- Configura:
- Resource: «Chat»
- Operation: «Message Model»
- Model: «gpt-3.5-turbo» (o el que tengas acceso)
- Prompt:
{{ $json.message.text }}
- En el nodo Telegram de respuesta:
- Text:
{{ $json.choices[0].message.content }}
(la respuesta de la IA)
- Text:
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:
- Añade un nodo «Postgres» (o MySQL, SQLite, etc.) después del Trigger
- Configura INSERT:
- Tabla:
mensajes
- Campos:
user_id
,username
,message
,timestamp
- Valores desde el Trigger
- Tabla:
4. Enviar notificaciones automáticas
Tu bot también puede enviar mensajes sin que le escriban:
- Crea un workflow separado con cualquier trigger (Cron, Webhook, HTTP Request, etc.)
- Añade nodo Telegram con Operation «Send Text»
- 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:
- En el nodo Telegram Trigger, ve a opciones avanzadas
- Restrict to User IDs:
123456789,987654321
(IDs separados por comas) - Ahora solo esos usuarios pueden activar el workflow
Descargar archivos enviados al bot
Para que tu bot reciba y procese archivos:
- En Telegram Trigger:
- Updates: Añade «photo», «document», «voice» según lo que necesites
- Download Images/Files: ON (activado)
- Ahora cuando alguien envíe una imagen:
- n8n la descarga automáticamente
- Está disponible como binary data en
{{ $binary.data }}
- 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:
- En el nodo Telegram de respuesta:
- Additional Fields → Reply Markup
- Tipo: «Inline Keyboard»
- Inline Keyboard:
{ "inline_keyboard": [ [ {"text": "Opción 1", "callback_data": "opt1"}, {"text": "Opción 2", "callback_data": "opt2"} ], [ {"text": "Ayuda", "callback_data": "help"} ] ] }
- 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:
- Verifica que el workflow esté ACTIVO
- Toggle en la parte superior derecha debe estar verde/naranja
- Si está gris, actívalo
- 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
- 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)
- Re-registra el webhook
- Desactiva el workflow
- Actívalo de nuevo
- Esto fuerza re-registro del webhook con Telegram
- 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:
- Ve a n8n.io/workflows
- Busca «Telegram»
- 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
- Click en «Use Workflow» para importarlo a tu n8n
- Configura tus credenciales y listo
Recursos adicionales
- Docs n8n Telegram: docs.n8n.io/integrations/builtin/trigger-nodes
- Telegram Bot API: core.telegram.org/bots/api
- Comunidad n8n: community.n8n.io – Miles de workflows compartidos
- Telegram Bot Best Practices: core.telegram.org/bots/tutorial
Guías relacionadas en nuestra web
- Guía Completa de n8n v2 – Si necesitas instalar o entender n8n mejor
- Chatbot AI con n8n + OpenRouter – Integrar IA gratis en tu bot
- Servidor IA Casero – Para usar Ollama local en tu bot
- Dominio Gratis + Cloudflare – Si necesitas URL pública para n8n
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:
- Añadir IA: Usa ChatGPT, Claude, o Ollama local para respuestas inteligentes
- Integrar con servicios: Google Sheets, Notion, Airtable, CRM
- Automatizar notificaciones: Alertas de servidor, recordatorios, noticias
- Procesar archivos: OCR de imágenes, transcripción de audio
- Crear bots de grupo: Moderación, juegos, estadísticas
- 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! 🤖🚀