AutomationFlowsSlack & Telegram › Manage Restaurant Orders, Upsells, and Payments with Telegram, Openai,…

Manage Restaurant Orders, Upsells, and Payments with Telegram, Openai,…

Original n8n title: Manage Restaurant Orders, Upsells, and Payments with Telegram, Openai, Razorpay, and Google Sheets

ByRahul Joshi @rahul08 on n8n.io

This workflow runs a Telegram restaurant ordering flow that uses OpenAI to parse orders and suggest an upsell, sends a Razorpay payment link, confirms paid orders via a Razorpay webhook, logs orders and feedback in Google Sheets, notifies the kitchen, sends delivery updates, and…

Event trigger★★★★★ complexityAI-powered38 nodesTelegram TriggerOpenAITelegramGoogle SheetsError TriggerSlack
Slack & Telegram Trigger: Event Nodes: 38 Complexity: ★★★★★ AI nodes: yes Added:

This workflow corresponds to n8n.io template #16770 — we link there as the canonical source.

This workflow follows the Error Trigger → Google Sheets recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "id": "YuwTwTMv5lILN30d",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "AI Restaurant Order Management & Customer Engagement System",
  "tags": [],
  "nodes": [
    {
      "id": "a66af262-89d0-44d4-801d-15893a3dd702",
      "name": "\ud83d\udccc Overview \u2013 How This Workflow Works",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2848,
        -976
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "aac66c00-3d05-4225-a09a-eef73e2263b8",
      "name": "Section \u2013 Order Capture & AI Upsell",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2064,
        -416
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "76c34e85-d710-4233-9480-2febc5162339",
      "name": "Section \u2013 Upsell Response & Payment Link",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1872,
        48
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "4cb0ca7c-2474-4f2d-9415-b77e2e1b4ffc",
      "name": "Section \u2013 Payment Confirmation & Kitchen Routing",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -704,
        -640
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "16e3f454-536b-4954-bc73-454e4e6951c8",
      "name": "Section \u2013 Prep, Delivery & Feedback",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        448,
        -368
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "b24f5a67-a501-4da8-804f-db7fd91d20f4",
      "name": "Section \u2013 Rating & Loyalty Points",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -736,
        192
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "b9cf9fe5-2dd2-4ba8-88fb-2983865b2ef7",
      "name": "Section \u2013 Daily Sales Report",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1712,
        416
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "c83da0c5-8e3c-409d-ad86-239594beb319",
      "name": "\ud83d\udd11 Credentials & Security",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        208,
        272
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "cda84873-c6ea-4c93-aaf9-e57d719a4d51",
      "name": "Telegram - Customer Message",
      "type": "n8n-nodes-base.telegramTrigger",
      "position": [
        -1904,
        -256
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "c927b161-77d5-4218-bee0-15bfbd3f7147",
      "name": "AI - Parse Order + Upsell",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        -1632,
        -256
      ],
      "parameters": {},
      "typeVersion": 1.4
    },
    {
      "id": "9a818b5b-df3c-4c08-ae81-ebe245e6bc6d",
      "name": "Code - Extract Order Data",
      "type": "n8n-nodes-base.code",
      "position": [
        -1216,
        -256
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "ce1a79a6-1ce8-493d-b2f7-7c79e30faf32",
      "name": "Telegram - Send Upsell",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -976,
        -256
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "d2a1c33d-75d5-46d2-9edf-a7f454285ffb",
      "name": "Telegram - Customer Response",
      "type": "n8n-nodes-base.telegramTrigger",
      "position": [
        -1728,
        176
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "f1a2497b-2956-4698-8969-85a8760ec5c5",
      "name": "IF - Customer Said YES?",
      "type": "n8n-nodes-base.if",
      "position": [
        -1488,
        176
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "56ec0373-ff32-4cca-bf20-c62f6585ac03",
      "name": "Code - Calculate Final Total",
      "type": "n8n-nodes-base.code",
      "position": [
        -1248,
        176
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "f295d835-441b-4895-9ebb-db1f2837acc2",
      "name": "Telegram - Send Payment Link",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -1008,
        176
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "baa66a87-6176-4dc4-8c03-abb07f29d1dd",
      "name": "Webhook - Payment Success",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -528,
        -192
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "52f96db6-07fa-45b3-9c35-b5c9c1145a2f",
      "name": "Code - Parse Payment Data",
      "type": "n8n-nodes-base.code",
      "position": [
        -352,
        -192
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "d6ffae18-bc02-483c-bb8a-f13dfd120583",
      "name": "Telegram - Payment Confirmed to Customer",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -112,
        -480
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "a1a7924d-41e2-435f-9faa-a05a1d32d3b9",
      "name": "Telegram - Kitchen Ticket",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -16,
        -336
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "3801e2a8-268d-4b1d-8b8a-88028e81c647",
      "name": "Google Sheets - Log Order",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -224,
        0
      ],
      "parameters": {},
      "typeVersion": 4.5
    },
    {
      "id": "836240ff-05a2-4c00-85bb-a69d1600ec3c",
      "name": "Code - Calculate Inventory Deduction",
      "type": "n8n-nodes-base.code",
      "position": [
        16,
        0
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "2e6c73c2-b3d5-4eb4-a18c-86bafdae9d06",
      "name": "Google Sheets - Deduct Inventory",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        256,
        0
      ],
      "parameters": {},
      "typeVersion": 4.5
    },
    {
      "id": "404faf30-0223-4549-a80f-902cf2087893",
      "name": "Wait - 20 min Prep Time",
      "type": "n8n-nodes-base.wait",
      "position": [
        560,
        -192
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "c6d85d19-60fd-4f53-9820-6f358279abc1",
      "name": "Telegram - Delivery Tracking",
      "type": "n8n-nodes-base.telegram",
      "position": [
        720,
        -192
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "d2c507f9-575e-4d71-9f35-cee3c93ed2a8",
      "name": "Wait - 15 min Delivery Time",
      "type": "n8n-nodes-base.wait",
      "position": [
        896,
        -192
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "42b425de-cb1e-44f7-879e-70d4f1c7b187",
      "name": "Telegram - Feedback Request",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1088,
        -192
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "2c195857-d77f-4f2a-91e4-32f9a641e2af",
      "name": "Telegram - Receive Rating",
      "type": "n8n-nodes-base.telegramTrigger",
      "position": [
        -688,
        352
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "b2a741e3-c701-4a57-8277-18ded60128ce",
      "name": "Code - Process Feedback + Loyalty",
      "type": "n8n-nodes-base.code",
      "position": [
        -448,
        352
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "04fed0e7-6323-4195-94cf-0257e56a95ed",
      "name": "Telegram - Loyalty + Thank You",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -48,
        352
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "9f4adb00-3e60-4eea-8b7e-f505a560841c",
      "name": "Google Sheets - Log Feedback",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -176,
        512
      ],
      "parameters": {},
      "typeVersion": 4.5
    },
    {
      "id": "d5d6aef4-b6c7-49be-9dff-d2b7fe746935",
      "name": "Schedule - Daily Report 11PM",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -1648,
        560
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "77932c76-bd99-462e-b077-848e8177afb3",
      "name": "Google Sheets - Read Today Orders",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -1408,
        560
      ],
      "parameters": {},
      "typeVersion": 4.5
    },
    {
      "id": "09f535d8-d4f8-45f2-bc87-356c01050e9e",
      "name": "Code - Calculate Daily Report",
      "type": "n8n-nodes-base.code",
      "position": [
        -1168,
        560
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "24aafefe-2713-411d-8aec-92da0e07ec81",
      "name": "Telegram - Send Daily Report to Owner",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -928,
        560
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "179a36de-cca0-4dec-a275-36c003f801d5",
      "name": "Section \u2013 Error Handling",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2320,
        400
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "a036632c-69c3-47cf-9ea4-739c776ba288",
      "name": "On Workflow Error",
      "type": "n8n-nodes-base.errorTrigger",
      "position": [
        -2240,
        576
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "baa5384f-70d5-426e-8231-11e59e129a2c",
      "name": "Slack \u2013 Post Workflow Error Alert",
      "type": "n8n-nodes-base.slack",
      "position": [
        -1984,
        576
      ],
      "parameters": {},
      "typeVersion": 2.3
    }
  ],
  "active": false,
  "settings": {
    "binaryMode": "separate",
    "availableInMCP": false,
    "executionOrder": "v1"
  },
  "versionId": "b438b65c-e5bc-4552-a583-24a75ab18a6a",
  "connections": {
    "On Workflow Error": {
      "main": [
        [
          {
            "node": "Slack \u2013 Post Workflow Error Alert",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "IF - Customer Said YES?": {
      "main": [
        [
          {
            "node": "Code - Calculate Final Total",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Code - Calculate Final Total",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait - 20 min Prep Time": {
      "main": [
        [
          {
            "node": "Telegram - Delivery Tracking",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI - Parse Order + Upsell": {
      "main": [
        [
          {
            "node": "Code - Extract Order Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code - Extract Order Data": {
      "main": [
        [
          {
            "node": "Telegram - Send Upsell",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code - Parse Payment Data": {
      "main": [
        [
          {
            "node": "Telegram - Payment Confirmed to Customer",
            "type": "main",
            "index": 0
          },
          {
            "node": "Telegram - Kitchen Ticket",
            "type": "main",
            "index": 0
          },
          {
            "node": "Google Sheets - Log Order",
            "type": "main",
            "index": 0
          },
          {
            "node": "Wait - 20 min Prep Time",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets - Log Order": {
      "main": [
        [
          {
            "node": "Code - Calculate Inventory Deduction",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Telegram - Receive Rating": {
      "main": [
        [
          {
            "node": "Code - Process Feedback + Loyalty",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook - Payment Success": {
      "main": [
        [
          {
            "node": "Code - Parse Payment Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Telegram - Customer Message": {
      "main": [
        [
          {
            "node": "AI - Parse Order + Upsell",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait - 15 min Delivery Time": {
      "main": [
        [
          {
            "node": "Telegram - Feedback Request",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code - Calculate Final Total": {
      "main": [
        [
          {
            "node": "Telegram - Send Payment Link",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule - Daily Report 11PM": {
      "main": [
        [
          {
            "node": "Google Sheets - Read Today Orders",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Telegram - Customer Response": {
      "main": [
        [
          {
            "node": "IF - Customer Said YES?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Telegram - Delivery Tracking": {
      "main": [
        [
          {
            "node": "Wait - 15 min Delivery Time",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code - Calculate Daily Report": {
      "main": [
        [
          {
            "node": "Telegram - Send Daily Report to Owner",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code - Process Feedback + Loyalty": {
      "main": [
        [
          {
            "node": "Telegram - Loyalty + Thank You",
            "type": "main",
            "index": 0
          },
          {
            "node": "Google Sheets - Log Feedback",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets - Read Today Orders": {
      "main": [
        [
          {
            "node": "Code - Calculate Daily Report",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code - Calculate Inventory Deduction": {
      "main": [
        [
          {
            "node": "Google Sheets - Deduct Inventory",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

This workflow runs a Telegram restaurant ordering flow that uses OpenAI to parse orders and suggest an upsell, sends a Razorpay payment link, confirms paid orders via a Razorpay webhook, logs orders and feedback in Google Sheets, notifies the kitchen, sends delivery updates, and…

Source: https://n8n.io/workflows/16770/ — original creator credit. Request a take-down →

More Slack & Telegram workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Slack & Telegram

This workflow handles customer order complaints submitted via Telegram by looking up order details in Google Sheets, using OpenAI to classify message sentiment, and routing each case to auto-approval,

Telegram Trigger, Google Sheets, Telegram +3
Slack & Telegram

This workflow handles COD order confirmation and abandoned-cart recovery by combining webhooks, Google Sheets logging, OpenAI message generation, and Telegram messaging with inline buttons, plus Slack

Telegram Trigger, Google Sheets, Telegram +3
Slack & Telegram

This workflow handles dental clinic patient conversations in Telegram, using OpenAI to answer treatment-plan and general questions, logging bookings and payment plans in Google Sheets, sending automat

Telegram Trigger, Google Sheets, Telegram +3
Slack & Telegram

This workflow lets customers order and refill prescriptions via Telegram by extracting medicines from prescription images with Google Gemini, checking and updating inventory in Google Sheets, and send

Telegram Trigger, Telegram, Google Gemini +3
Slack & Telegram

This workflow runs weekly to pull HR datasets from Google Sheets, calculate rule-based attrition risk signals, and enrich them with an OpenAI (GPT-4o-mini) risk assessment. It logs results back to Goo

Error Trigger, Slack, Google Sheets +3