Send AI-parsed restaurant orders and status updates via Telegram and Google Sheets
Ready for 3.0Ready for 3.0. This template uses no nodes that n8n 3.0 removes. No removed nodes, versions or helpers found. Static check, last run 2026-10-19.
Nodes used (10)
- Telegram Trigger
n8n-nodes-base.telegramTrigger - Code
n8n-nodes-base.code - Switch
n8n-nodes-base.switch - Telegram
n8n-nodes-base.telegram - AI Agent
@n8n/n8n-nodes-langchain.agent - Anthropic Chat Model
@n8n/n8n-nodes-langchain.lmChatAnthropic - Google Sheets
n8n-nodes-base.googleSheets - If
n8n-nodes-base.if - Schedule Trigger
n8n-nodes-base.scheduleTrigger - HTTP Request
n8n-nodes-base.httpRequest
What it does
π AI-Powered Restaurant Order & Notification System A Complete n8n Workflow for Automated Ordering and Customer Updates This professional n8n workflow provides an end-to-end solution for small restaurants. It includes a Telegram Customer Bot for placing orders and an Automated Notification System that updates customers via Google Sheets. --- π Description This system eliminates the need for manual order taking and status updates. It features: 1. AI Order Bot: Customers chat with a Telegram bot to view the menu and place orders. An AI agent (Claude Haiku) parses natural language (e.g., "2 pizza + 1 coke") into structured data. 2. Order Management: Orders are saved automatically to Google Sheets for staff to manage. 3. Real-Time Notifications: As staff change the status in the sheet (e.g., to Preparing or Ready), n8n instantly notifies the customer via Telegram. Key Bot Commands | Command | Description | | :--- | :--- | | /start | Welcome message and instructions | | /menu | View today's food and drink offerings | | /help | See all available commands | | STATUS Queue | Check the live status of an order | | CANCEL Queue | Cancel an order (only if Pending) | | /myorders | View your last 5 orders | --- π Setup Requirements 1. Google Sheets Configuration Your spreadsheet acts as your Admin Dashboard. Ensure Row 1 has these exact headers in order: | Column | Header Name | Description | | :---: | :--- | :--- | | A | Queue Number | Auto-generated by the bot (e.g., 4582) | | B | Chat ID | Customer's Telegram ID β captured automatically | | C | Name | Customer's first name | | D | Order | Items ordered β parsed and cleaned by AI | | E | Status | Dropdown: Pending, Preparing, Ready, Completed, Cancelled | | F | Order Time | Timestamp of when the order was placed | | G | Order Date | Date of the order | | H | Last Status Sent | Internal: Tracks last notification sent to prevent duplicates | > β οΈ Important: Set up a Data Validation dropdown on column E with the values: Pending, Preparing, Ready, Completed, Cancelled. This is how staff update order status. > β οΈ Important: In the Read All Rows node, go to Options β Output Row Number and ensure it is enabled. The workflow uses rownumber to write back to the correct cell. --- 2. n8n Credential Configuration You need 3 credentials set up in n8n before activating: | Credential Type | Where Used | Notes | | :--- | :--- | :--- | | Anthropic API | Claude Haiku node | Required for AI order parsing | | Google Sheets OAuth2 API | All Google Sheets nodes | Connect your Google account | | Telegram Bot API | All Telegram nodes | Use your bot token from @BotFather | Steps: 1. Go to n8n β Settings β Credentials β Add Credential 2. Add each credential type above 3. After importing the workflow, open each node and select the correct credential --- 3. Workflow Import Steps 1. Copy the workflow JSON 2. In n8n, click + β Import from JSON β Paste and confirm 3. Connect all credentials in each node 4. Ensure Output Row Number is enabled in Read All Rows node options 5. Pre-fill column H (Last Status Sent) with the current Status for all existing rows to prevent old rows from firing notifications on first run 6. Turn the workflow Active --- π How It Works Phase 1: The Customer Bot (Workflow 1) Customer texts bot β Route Message β detects command type β βββββββββββββββββββββββββββββββββββββββ β /start β Welcome message β β /help β Help guide β β /menu β Today's menu β β /myorders β Last 5 orders β β STATUS β Live order status β β CANCEL β Cancel if Pending only β β order β AI parses β saves β βββββββββββββββββββββββββββββββββββββββ β Order saved to Google Sheet (Status = Pending) Customer receives queue number + wait time Phase 2: The Staff Notification System (Workflow 2) Every 1 minute β Schedule Trigger fires β Read ALL rows from Google Sheet β For EACH row independently (runOnceForEachItem): - Skip if no Queue Number or Chat ID - Skip if Status = Pending - Skip if Status = Last Status Sent (already not