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
- Platform
- n8n
- Category
- Communication
- Price
- $9.99
- Creator
- Ruslan Elishev
- if
- set
- function
- stickyNote
- httpRequest
- telegramTrigger
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.