Ever wanted to build a Telegram bot with professional-looking menus that actually work? This n8n workflow creates an interactive bot with dynamic inline keyboards, multi-level navigation, and smart button routing - all without writing complex code from scratch.
The bot features a clean separation between your menu structure and business logic. This means you can change your menus anytime without breaking the underlying functionality. Think of it like WordPress menus but for Telegram bots - you define the navigation, and the workflow handles everything else.
Your bot will respond with personalized messages, remember user context, handle button clicks smoothly (no annoying loading spinners!), and route different actions to specialized handlers. Whether users are rating your service, checking their subscription status, or navigating through settings, everything just works.
Head over to Telegram and chat with @BotFather. Create a new bot (or use an existing one) and grab that token. In the workflow, find the purple "Set Bot Token" node and replace [!!! YOUR_BOT_TOKEN_HERE !!!]
with your actual token.
Save the workflow, click on "Production" tab, and you'll see a webhook URL. Toggle the workflow to Active. That's it - your bot is live!
Message your bot on Telegram. Type /start
and watch your beautiful menu appear. Click around, explore the buttons - everything is already set up and working.
Open the workflow and look for the sticky note titled "📖 COMPLETE GUIDE: ADDING MENUS & ACTIONS". I've written step-by-step instructions right there in the workflow. You'll find exact examples showing how to add a contact menu, subscription status checker, or whatever you need.
The beauty is in the simplicity - menus are just text and buttons. No complicated logic mixed in. Check the "📚 REAL EXAMPLES" sticky note for copy-paste templates you can modify.
When a button needs to actually DO something (save data, call an API, send an email), that's where handlers come in. The workflow includes 7 pre-built handlers for common tasks like ratings, language switching, and analytics. Want to add your own? The "💡 ADDING HANDLERS" sticky note walks you through it.
Most Telegram bot tutorials have you mixing menu code with business logic, making changes a nightmare. This workflow separates everything cleanly. Your menus live in one place, your logic in another. It's like having a control panel for your bot.
The workflow also solves a common n8n limitation - the native Telegram node doesn't support dynamic inline keyboards. Instead of giving up, this workflow uses HTTP requests directly to the Telegram API, giving you full control over every feature.
After building dozens of Telegram bots, here's what I've learned:
Hit a snag? Check the "🐛 TROUBLESHOOTING & TIPS" sticky note in the workflow. I've documented all the common "gotchas" and their fixes.
This workflow comes with everything you need:
Once you're comfortable with the basics, this architecture scales beautifully. Connect a database to remember user preferences. Integrate with your CRM to pull customer data. Add payment processing for a shopping bot. The modular design means you can enhance one part without touching the others.
The workflow sticky notes contain advanced examples for multi-language support, user authentication, and API integrations. Everything is explained in plain English with code examples you can actually use.
This workflow started as a simple dynamic menu with rating workflow and evolved into something much more powerful through community feedback. If you build something cool with it, I'd love to hear about it. And if you get stuck, remember - all the answers are in those sticky notes. I spent way too much time making them ridiculously detailed so you wouldn't have to struggle like I did.
Happy bot building! 🎯
Version: 1.0 - Centralized Menu System with Branching
Author: Ruslan Elishev