Telegram Bot Inline Keyboard with Dynamic Menus & Rating System
**Telegram Bot with Dynamic Menus & Rating System** **What It Does** This n8n workflow creates an interactive Telegram bot with: - Dynamic inline keyboards that respond to user clicks - 5-star rating system for collecting feedback - Personalized responses using the user's actual name - Multi-level menu navigation (Main → Settings → Profile, etc.) - Real-time message updates when buttons are clicked **How It Works** 1. Receives messages via Telegram webhook trigger node 2. Extracts user data (name, ID, message type) 3. Builds dynamic menus based on user actions 4. Sends/updates messages with inline keyboards 5. Handles button clicks without page refresh **Setup Instructions** 1. Get Your Bot Credentials 2. Configure Workflow - Open Set Bot Token node - Replace token with yours - Save and activate workflow (Active) 3. Test Your Bot - Message your bot on Telegram - Click the buttons to navigate menus - Try the rating system on Feature 1 **Customization Guide** Add New Menu Items In the Prepare Response Function node, add new cases: ```plaintext case your_feature: responseText = Your feature description; keyboard = [ [{ text: "Button 1", callback_data: action1 }], [{ text: "← Back", callback_data: main }] ]; break; ``` **Modify Rating Options** Change star buttons to numbers or emojis: ```plaintext // Current: ★★★ // Alternative: 1️⃣ 2️⃣ 3️⃣ or ☀️ ☀️☀️ ``` **Change Bot Responses** - Edit responseText for message content - Modify keyboard arrays for button layout - Add HTML formatting: `<b>bold</b>`, `<i>italic</i>` **Key Features Demonstrated** - HTTP Request workaround for dynamic keyboards (n8n Telegram node limitation) - Callback query handling to prevent loading animations - Message editing vs sending new messages - User data extraction from Telegram API - Switch-case menu routing for scalable navigation **Important Notes** - Limitation: n8n's native Telegram node doesn't support dynamic inline keyboards, this is why we need to use HTTP nodes. - Solution demonstrated: Use HTTP Request node with Telegram Bot API directly
Telegram Bot with Dynamic Menus & Rating System
What It Does
This n8n workflow creates an interactive Telegram bot with:
- Dynamic inline keyboards that respond to user clicks
- 5-star rating system for collecting feedback
- Personalized responses using the user's actual name
- Multi-level menu navigation (Main → Settings → Profile, etc.)
- Real-time message updates when buttons are clicked
How It Works
- Receives messages via Telegram webhook trigger node
- Extracts user data (name, ID, message type)
- Builds dynamic menus based on user actions
- Sends/updates messages with inline keyboards
- Handles button clicks without page refresh
Setup Instructions
- Get Your Bot Credentials
- Configure Workflow
- Open Set Bot Token node
- Replace token with yours
- Save and activate workflow (Active)
- Test Your Bot
- Message your bot on Telegram
- Click the buttons to navigate menus
- Try the rating system on Feature 1
Customization Guide Add New Menu Items In the Prepare Response Function node, add new cases:
case your_feature:
responseText = Your feature description;
keyboard = [
[{ text: "Button 1", callback_data: action1 }],
[{ text: "← Back", callback_data: main }]
];
break;
Modify Rating Options Change star buttons to numbers or emojis:
// Current: ★★★
// Alternative: 1️⃣ 2️⃣ 3️⃣ or ☀️ ☀️☀️
Change Bot Responses
- Edit responseText for message content
- Modify keyboard arrays for button layout
- Add HTML formatting:
<b>bold</b>,<i>italic</i>
Key Features Demonstrated
- HTTP Request workaround for dynamic keyboards (n8n Telegram node limitation)
- Callback query handling to prevent loading animations
- Message editing vs sending new messages
- User data extraction from Telegram API
- Switch-case menu routing for scalable navigation
Important Notes
- Limitation: n8n's native Telegram node doesn't support dynamic inline keyboards, this is why we need to use HTTP nodes.
- Solution demonstrated: Use HTTP Request node with Telegram Bot API directly
New buyers can create an account from the cart to unlock a controlled $10 first-purchase credit on eligible orders of $25+.
Related bundle
Customer Support Automation Suite
8 hand-picked workflows for $39.00.
That is $4.88 each, vs $9.99 for this one alone.
View bundleSecure checkout powered by Stripe
Support
How to import this workflow into n8n
- 1Purchase or download the workflow to get the n8n workflow JSON file.
- 2In your n8n instance, open Workflows and choose "Import from File" (or paste the JSON with Ctrl+V on the canvas).
- 3Open each node marked with a credential warning and connect your own accounts and API keys.
- 4Run the workflow once manually to verify the data flow, then toggle it to Active.
Related Communication workflows
- Automate Outbound Calls with Ultravox AI and Twilio$4.99
- Automate Intelligent Email Classification with AI in Gmail$4.99
- Generate AI videos and carousels with Blotato for Instagram and TikTok$9.99
- Automating WhatsApp Replies Using GoHighLevel with Redis and Anthropic$24.99
- Automate Gmail Email Labeling with AI for Enhanced Organization$14.99
- Automate Email Summarization and Logging with AI and Google Sheets$9.99
Need this deployed? We'll set it up for you.
Our automation experts deploy this workflow in your stack, connect your accounts, and verify it works — or build a custom solution from scratch.