{
  "workflow": {
    "id": 5074,
    "name": "AI sales agent with Telegram approvals & Google Sheets sync",
    "views": 9148,
    "recentViews": 2,
    "totalViews": 9148,
    "createdAt": "2025-06-20T15:52:04.394Z",
    "description": "\nA complete, ready-to-deploy Telegram chatbot template for food delivery businesses. This intelligent assistant handles orders, payments, customer service, and order tracking with human-in-the-loop payment verification.\n✨ Key Features\n\n## 🤖 AI-Powered Conversations - Natural language order processing using Google Gemini\n📱 Telegram Integration - Seamless customer interaction via Telegram\n💳 Payment Verification - Screenshot-based payment confirmation with admin approval\n📊 Order Tracking - Automatic Google Sheets logging of all orders\n🧠 Memory Management - Contextual conversation memory for better customer experience\n🌍 Multi-Currency Support - Easily customizable for any currency (USD, EUR, GBP, etc.)\n📍 Location Flexible - Adaptable to any city/country\n🔄 Human Oversight - Manual payment approval workflow for security\n\n## 🛠️ What This Template Includes\nCore Workflow\n\nCustomer Interaction - AI assistant takes orders via Telegram\nOrder Confirmation - Summarizes order with total and payment details\nInformation Collection - Gathers customer name, phone, and delivery address\nPayment Processing - Handles payment screenshots and verification\nAdmin Approval - Human verification of payments before order confirmation\nOrder Tracking - Automatic logging to Google Sheets with delivery estimates\n\n## Technical Components\n\nAI Agent Node - Google Gemini-powered conversation handler\nMemory System - Maintains conversation context per customer\nGoogle Sheets Integration - Automatic order logging and tracking\nTelegram Nodes - Customer and admin communication\nPayment Verification - Screenshot detection and approval workflow\nConditional Logic - Smart routing based on message types\n\n## 🚀 Quick Setup Guide\nPrerequisites\n\nn8n instance (cloud or self-hosted)\nTelegram Bot Token\nGoogle Sheets API access\nGoogle Gemini API key\n\n## Step 1: Replace Placeholders\nSearch and replace the following placeholders throughout the template:\nBusiness Information\n\n[YOUR_BUSINESS_NAME] → Your restaurant/food business name\n[ASSISTANT_NAME] → Your bot's name (e.g., \"Alex\", \"Bella\", \"Chef Bot\")\n[YOUR_CITY] → Your city\n[YOUR_COUNTRY] → Your country\n[YOUR_ADDRESS] → Your business address\n[YOUR_PHONE] → Your business phone number\n[YOUR_EMAIL] → Your business email\n[YOUR_HOURS] → Your operating hours (e.g., \"9AM - 11PM daily\")\n\nCurrency & Localization\n\n[YOUR_CURRENCY] → Your currency name (e.g., \"USD\", \"EUR\", \"GBP\")\n[CURRENCY_SYMBOL] → Your currency symbol (e.g., \"$\", \"€\", \"£\")\n[YOUR_TIMEZONE] → Your timezone (e.g., \"EST\", \"PST\", \"GMT\")\n[PREFIX] → Order ID prefix (e.g., \"FB\" for \"Food Business\")\n\nMenu Items (Customize Completely)\n\n[CATEGORY_1] → Food category (e.g., \"Burgers\", \"Pizza\", \"Sandwiches\")\n[ITEM_1] through [ITEM_8] → Your menu items\n[PRICE_1] through [DELIVERY_FEE] → Your prices\nAdd or remove categories and items as needed\n\nPayment & Support\n\n[YOUR_PAYMENT_DETAILS] → Your payment information\n[YOUR_PAYMENT_PROVIDER] → Your payment method (e.g., \"Venmo\", \"PayPal\", \"Bank Transfer\")\n[YOUR_SUPPORT_HANDLE] → Your Telegram support username\n\n## Step 2: Configure Credentials\n\nTelegram Bot - Add your bot token to Telegram credentials\nGoogle Sheets - Connect your Google account and create/select your orders spreadsheet\nGoogle Gemini - Add your Gemini API key\nSheet ID - Replace [YOUR_GOOGLE_SHEET_ID] with your actual Google Sheet ID\n\n## Step 3: Customize Menu\nUpdate the menu section in the AI Agent system message with your actual:\n\nFood categories\nItem names and prices\nDelivery fees\nAny special offerings or combos\n\n## Step 4: Test & Deploy\n\nImport the template into your n8n instance\nTest the conversation flow with a test Telegram account\nVerify Google Sheets logging works correctly\nTest the payment approval workflow\nActivate the workflow\n\n💰 Currency Examples\nUSD Version\n🍔 MENU & PRICES (USD)\nBurgers\n- Classic Burger – $12.99\n- Cheese Burger – $14.99\n- Deluxe Burger – $18.99\n\nDelivery Fee – $3.99\nEUR Version\n🍔 MENU & PRICES (EUR)\nBurgers\n- Classic Burger – €11.50\n- Cheese Burger – €13.50\n- Deluxe Burger – €17.50\n\nDelivery Fee – €3.50\n📊 Google Sheets Structure\nThe template automatically logs orders with these columns:\n\nOrder ID\nCustomer Name\nChat ID\nPhone Number\nDelivery Address\nOrder Info\nTotal Price\nPayment Status\nOrder Status\nTimestamp\n\n🔧 Customization Options\nEasy Customizations\n\nMenu Items - Add/remove/modify any food items\nPricing - Update to your local pricing structure\nCurrency - Change to any currency worldwide\nBusiness Hours - Modify operating hours\nDelivery Areas - Add location restrictions\nPayment Methods - Update payment information# Header 1",
    "workflow": {
      "id": "FRSKpIbukzy1vMnJ",
      "meta": {
        "instanceId": "2000c64071c20843606b95c63795bb0797c41036047055a6586498e855b96efc"
      },
      "name": "Telegram Sales Agent For Business",
      "tags": [],
      "nodes": [
        {
          "id": "f9ca2a43-862b-4e09-8fd4-4a06b7ca0cdd",
          "name": "AI Agent",
          "type": "@n8n/n8n-nodes-langchain.agent",
          "position": [
            -1100,
            -140
          ],
          "parameters": {
            "text": "={{ $json.message.text }} {{ $json.data.text }}",
            "options": {
              "systemMessage": "=## [YOUR_BUSINESS_NAME] Assistant\n\nYou are [ASSISTANT_NAME], the friendly and efficient virtual assistant for [YOUR_BUSINESS_NAME] in [YOUR_CITY], [YOUR_COUNTRY]. Always:\n✅ Use simple, polite language\n✅ Send responses in plain text (NO markdown *, _, `)\n✅ Use only 1–2 emojis per message for warmth\n✅ Display time in [YOUR_TIMEZONE] (e.g., EST = UTC-5)\n✅ Ensure order records match Google Sheets format\n\n🍔 MENU & PRICES ([YOUR_CURRENCY])\n[CATEGORY_1]\n- [ITEM_1] – [CURRENCY_SYMBOL][PRICE_1]\n- [ITEM_2] – [CURRENCY_SYMBOL][PRICE_2]\n- [ITEM_3] – [CURRENCY_SYMBOL][PRICE_3]\n\n[CATEGORY_2]\n- [ITEM_4] – [CURRENCY_SYMBOL][PRICE_4]\n- [ITEM_5] – [CURRENCY_SYMBOL][PRICE_5]\n\nOthers\n- [ITEM_6] – [CURRENCY_SYMBOL][PRICE_6]\n- [ITEM_7] – [CURRENCY_SYMBOL][PRICE_7]\n- [ITEM_8] – [CURRENCY_SYMBOL][PRICE_8]\n- Delivery Fee – [CURRENCY_SYMBOL][DELIVERY_FEE]\n\n📝 ORDER FLOW\n1️⃣ Greet the customer:\n\"Hi! I'm [ASSISTANT_NAME] from [YOUR_BUSINESS_NAME] 😊 What would you like to order today?\"\n\n2️⃣ Clarify orders:\n- Ask for type when they mention general categories\n- Confirm all combos and add-ons\n\n3️⃣ Confirm order:\nSummarize like this:\nYour order:\n1x [ITEM] – [CURRENCY_SYMBOL][PRICE]\n1x [ITEM] – [CURRENCY_SYMBOL][PRICE]\nDelivery – [CURRENCY_SYMBOL][DELIVERY_FEE]\nTOTAL: [CURRENCY_SYMBOL][TOTAL]\n💳 Pay to: [YOUR_PAYMENT_DETAILS]\nReply \"Paid\" after sending payment\n\n4️⃣ Collect delivery info:\n\"Almost done! Please send:\nFull name\nPhone number (for delivery)\nDelivery address\"\n\n5️⃣ When they send delivery information:\nReply: \"Thank you for providing your details! We're now verifying your order. Please send your payment screenshot for confirmation 😊\"\n\n6️⃣ When they send a payment screenshot:\nReply:\n⌛ Thanks for your payment! Verifying with [YOUR_PAYMENT_PROVIDER]... (2–3 mins) 😊\n(This message happens automatically when payment screenshot is detected)\n\n7️⃣ HUMAN-IN-THE-LOOP DECISION:\nWhen staff approves the payment through the Check Feedback node:\n- The system will automatically send:\n  \"✅ Payment confirmed! Your order will arrive by [deliveryTime] 🚚\"\n  (Delivery time is 1 hour from now, e.g. \"16:45\")\n\n- The system will then automatically log this data to Google Sheets:\n  Format: Order id|Customer Name|Chat ID|Phone Number|Delivery Address|Order info|Total Price|Payment Status|Order Status|Timestamp\n  Example: [PREFIX]-1712345678|John|1085503473|+1234567890|123 Main St|1x Burger|25.00|Confirmed|Preparing|10/07/2024 16:45\n\n8️⃣ If staff rejects the payment:\nReply:\n❌ Sorry, we couldn't verify your payment. Please send a clearer screenshot or try again.\n\n📌 STATUS RESPONSES:\nWhen user types \"Status?\":\n⏳ Still verifying! We'll notify you as soon as it's confirmed 💛\n\nWhen user types \"Agent\":\nConnecting you to @[YOUR_SUPPORT_HANDLE] 💬\n\nWhen user asks for FAQ or information about [YOUR_BUSINESS_NAME]:\n📍 Location: [YOUR_ADDRESS]\n⏰ Hours: [YOUR_HOURS]\n📞 Contact: [YOUR_PHONE]\n📧 Email: [YOUR_EMAIL]\n\n📊 SHEET FORMAT (strict):\nOrder id | Customer Name | Chat ID | Phone Number | Delivery Address | Order info | Total Price | Payment Status | Order Status | Timestamp\nTimestamp format = MM/DD/YYYY HH:MM (24hr [YOUR_TIMEZONE])\n\n## APPROVAL HANDLING\nIf $json.data.text is \"Approved\", then:\n- Calculate the delivery time (1 hour from current time)\n- Send: \"✅ Payment confirmed! Your order will arrive by [deliveryTime] 🚚\"\n- Log the order data to Google Sheets, making sure to include the Chat ID ({{ $json.message.from.id }} or {{ $json.chat.id }})"
            },
            "promptType": "define"
          },
          "typeVersion": 1.8
        },
        {
          "id": "dda87278-b547-4d5f-b52c-d2c3341ac616",
          "name": "Simple Memory",
          "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
          "position": [
            -400,
            -40
          ],
          "parameters": {
            "sessionKey": "={{ $('Telegram Trigger').item.json.message.chat.id }}  ",
            "sessionIdType": "customKey",
            "contextWindowLength": 10
          },
          "typeVersion": 1.3
        },
        {
          "id": "ade1189c-1214-4578-9bb5-3fee28694f77",
          "name": "Telegram Trigger",
          "type": "n8n-nodes-base.telegramTrigger",
          "position": [
            -1540,
            -60
          ],
          "webhookId": "dd966a62-ffb5-4c52-a830-5cf7e96e946a",
          "parameters": {
            "updates": [
              "message"
            ],
            "additionalFields": {}
          },
          "typeVersion": 1.1
        },
        {
          "id": "be4aec62-7321-42b4-8ba9-43c64b08054a",
          "name": "Google Sheets",
          "type": "n8n-nodes-base.googleSheetsTool",
          "position": [
            -280,
            -40
          ],
          "parameters": {
            "columns": {
              "value": {
                "Chat id": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Chat_id', ``, 'string') }}",
                "Order id": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Order_id', ``, 'string') }}",
                "Timestamp": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Timestamp', ``, 'string') }}",
                "timestamp": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('timestamp', ``, 'string') }}",
                "Total Price": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Total_Price', ``, 'string') }}",
                "  Order info": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('__Order_info', ``, 'string') }}",
                "Order Status": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Order_Status', ``, 'string') }}",
                "phone number": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('phone_number', ``, 'string') }}",
                "Customer Name": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Customer_Name', ``, 'string') }}",
                "Payment Status": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Payment_Status', ``, 'string') }}",
                "Delivery Address": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Delivery_Address', ``, 'string') }}"
              },
              "schema": [
                {
                  "id": "Order id",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "Order id",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "Customer Name",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "Customer Name",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "Chat id",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "Chat id",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "Delivery Address",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "Delivery Address",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "  Order info",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "  Order info",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "Total Price",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "Total Price",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "Payment Status",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "Payment Status",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "Order Status",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "Order Status",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "Timestamp",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "Timestamp",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "phone number",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "phone number",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "timestamp",
                  "type": "string",
                  "display": true,
                  "required": false,
                  "displayName": "timestamp",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                }
              ],
              "mappingMode": "defineBelow",
              "matchingColumns": [],
              "attemptToConvertTypes": false,
              "convertFieldsToString": false
            },
            "options": {},
            "operation": "append",
            "sheetName": {
              "__rl": true,
              "mode": "list",
              "value": "gid=0",
              "cachedResultName": "Sheet1"
            },
            "documentId": {
              "__rl": true,
              "mode": "list",
              "value": "[YOUR_GOOGLE_SHEET_ID]",
              "cachedResultName": "Order Details Sheet"
            }
          },
          "typeVersion": 4.5
        },
        {
          "id": "a05b26a5-4495-4419-8ec4-f9202d44083a",
          "name": "Telegram",
          "type": "n8n-nodes-base.telegram",
          "position": [
            -780,
            -140
          ],
          "webhookId": "4a058acc-6544-49bc-9981-c484756f0d42",
          "parameters": {
            "text": "={{ $json.output }} ",
            "chatId": "={{ $('Telegram Trigger').item.json.message.chat.id }}",
            "additionalFields": {
              "appendAttribution": false
            }
          },
          "typeVersion": 1.2
        },
        {
          "id": "deec8df2-d232-43a6-965f-f0373c029480",
          "name": "Check Feedback",
          "type": "@n8n/n8n-nodes-langchain.textClassifier",
          "position": [
            -540,
            140
          ],
          "parameters": {
            "options": {},
            "inputText": "={{ $json.data.text }}",
            "categories": {
              "categories": [
                {
                  "category": "approved",
                  "description": "admin approves the order"
                },
                {
                  "category": "declined",
                  "description": "admin declined the order"
                }
              ]
            }
          },
          "typeVersion": 1
        },
        {
          "id": "b7a2a270-4308-46ed-8019-3590b6230a87",
          "name": "Sticky Note",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -680,
            -1640
          ],
          "parameters": {
            "color": 6,
            "width": 700,
            "height": 80,
            "content": "# Food Delivery Chatbot Template | Ready to Customize"
          },
          "typeVersion": 1
        },
        {
          "id": "26fb592b-08b8-4b8f-9a91-6f65da7b7950",
          "name": "Google Gemini Chat Model",
          "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
          "position": [
            -560,
            -20
          ],
          "parameters": {
            "options": {},
            "modelName": "models/gemini-2.0-flash-exp"
          },
          "typeVersion": 1
        },
        {
          "id": "db0cf32d-297f-44d9-96bd-159ae6bbe030",
          "name": "Admin Approval Request",
          "type": "n8n-nodes-base.telegram",
          "position": [
            -780,
            140
          ],
          "webhookId": "d0ca05e5-391f-4f67-b00f-40e72a5de2aa",
          "parameters": {
            "message": "Payment received for order. Approve or decline?",
            "options": {
              "appendAttribution": false
            },
            "operation": "sendAndWait",
            "responseType": "freeText"
          },
          "typeVersion": 1.2
        },
        {
          "id": "d0647205-8b66-4228-a7ab-779bb3e3a45b",
          "name": "Forward Payment Screenshot",
          "type": "n8n-nodes-base.telegram",
          "position": [
            -1060,
            140
          ],
          "webhookId": "e8df6e57-dfef-424b-ac17-d32b8ecddfc8",
          "parameters": {
            "file": "={{ $json.message.photo[0].file_id }}",
            "operation": "sendPhoto",
            "additionalFields": {
              "caption": "={{ $('Telegram Trigger').item.json.message.caption }}"
            }
          },
          "typeVersion": 1.2
        },
        {
          "id": "1cd62845-ad31-423c-8eb3-a154f1595571",
          "name": "Sticky Note1",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -600,
            -120
          ],
          "parameters": {
            "color": 5,
            "width": 440,
            "height": 220,
            "content": "## AI Tools & Memory"
          },
          "typeVersion": 1
        },
        {
          "id": "d0e6e088-235b-4cfe-b78d-65e75079b6db",
          "name": "Payment Screenshot Check",
          "type": "n8n-nodes-base.if",
          "position": [
            -1300,
            -60
          ],
          "parameters": {
            "options": {},
            "conditions": {
              "options": {
                "version": 2,
                "leftValue": "",
                "caseSensitive": true,
                "typeValidation": "loose"
              },
              "combinator": "and",
              "conditions": [
                {
                  "id": "02d9bd52-4f62-4f32-b0c3-a4723f913b46",
                  "operator": {
                    "type": "string",
                    "operation": "exists",
                    "singleValue": true
                  },
                  "leftValue": "={{ $json.message.photo[0] }} {{ $json.message.caption }}",
                  "rightValue": ""
                },
                {
                  "id": "d50f068a-c563-4a95-a6e6-2e3514028e28",
                  "operator": {
                    "type": "string",
                    "operation": "notExists",
                    "singleValue": true
                  },
                  "leftValue": "={{ $json.message.text }}",
                  "rightValue": ""
                }
              ]
            },
            "looseTypeValidation": true
          },
          "typeVersion": 2.2
        },
        {
          "id": "6934b6bb-5ac4-48ee-9188-3284a9ee6c0a",
          "name": "Sticky Note2",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -1160,
            100
          ],
          "parameters": {
            "width": 1300,
            "height": 180,
            "content": "## Payment Verification Flow"
          },
          "typeVersion": 1
        },
        {
          "id": "b5bd59de-66bc-4e62-8d1d-a04f94403b4c",
          "name": "Payment Declined",
          "type": "n8n-nodes-base.telegram",
          "position": [
            -160,
            140
          ],
          "webhookId": "74f30de0-1908-4640-b6c5-13325e770462",
          "parameters": {
            "text": "❌ Sorry, we couldn't verify your payment. Please send a clearer screenshot or try again.",
            "chatId": "={{ $('Telegram Trigger').item.json.message.chat.id }}",
            "additionalFields": {
              "appendAttribution": false
            }
          },
          "typeVersion": 1.2
        },
        {
          "id": "9978f9af-8fda-43c9-bebe-8db51596f689",
          "name": "Sticky Note3",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -1160,
            -180
          ],
          "parameters": {
            "color": 3,
            "width": 580,
            "height": 280,
            "content": "## AI Assistant Brain"
          },
          "typeVersion": 1
        },
        {
          "id": "f92bcb7a-b5f0-43d0-a647-a2c162a10412",
          "name": "Sticky Note4",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -2480,
            -360
          ],
          "parameters": {
            "width": 760,
            "height": 1200,
            "content": "## 🚀 Quick Setup Guide\n\n### Prerequisites\n- n8n instance (cloud or self-hosted)\n- Telegram Bot Token\n- Google Sheets API access\n- Google Gemini API key\n\n### Step 1: Replace Placeholders\nSearch and replace the following placeholders throughout the template:\n\n#### Business Information\n- [YOUR_BUSINESS_NAME] → Your restaurant/food business name\n- [ASSISTANT_NAME] → Your bot's name (e.g., \"Alex\", \"Bella\", \"Chef Bot\")\n- [YOUR_CITY] → Your city\n- [YOUR_COUNTRY] → Your country\n- [YOUR_ADDRESS] → Your business address\n- [YOUR_PHONE] → Your business phone number\n- [YOUR_EMAIL] → Your business email\n- [YOUR_HOURS] → Your operating hours (e.g., \"9AM - 11PM daily\")\n\n#### Currency & Localization\n- [YOUR_CURRENCY] → Your currency name (e.g., \"USD\", \"EUR\", \"GBP\")\n- [CURRENCY_SYMBOL] → Your currency symbol (e.g., \"$\", \"€\", \"£\")\n- [YOUR_TIMEZONE] → Your timezone (e.g., \"EST\", \"PST\", \"GMT\")\n- [PREFIX] → Order ID prefix (e.g., \"FB\" for \"Food Business\")\n\n#### Menu Items (Customize Completely)\n- [CATEGORY_1] → Food category (e.g., \"Burgers\", \"Pizza\", \"Sandwiches\")\n- [ITEM_1] through [ITEM_8] → Your menu items\n- [PRICE_1] through [DELIVERY_FEE] → Your prices\n- Add or remove categories and items as needed\n\n#### Payment & Support\n- [YOUR_PAYMENT_DETAILS] → Your payment information\n- [YOUR_PAYMENT_PROVIDER] → Your payment method (e.g., \"Venmo\", \"PayPal\", \"Bank Transfer\")\n- [YOUR_SUPPORT_HANDLE] → Your Telegram support username\n\n### Step 2: Configure Credentials\n1. **Telegram Bot** - Add your bot token to Telegram credentials\n2. **Google Sheets** - Connect your Google account and create/select your orders spreadsheet\n3. **Google Gemini** - Add your Gemini API key\n4. **Sheet ID** - Replace [YOUR_GOOGLE_SHEET_ID] with your actual Google Sheet ID\n\n### Step 3: Customize Menu\nUpdate the menu section in the AI Agent system message with your actual:\n- Food categories\n- Item names and prices\n- Delivery fees\n- Any special offerings or combos\n\n### Step 4: Test & Deploy\n1. Import the template into your n8n instance\n2. Test the conversation flow with a test Telegram account\n3. Verify Google Sheets logging works correctly\n4. Test the payment approval workflow\n5. Activate the workflow\n\n## 💰 Currency Examples\n\n### USD Version\n🍔 MENU & PRICES (USD)\nBurgers\n- Classic Burger – $12.99\n- Cheese Burger – $14.99\n- Deluxe Burger – $18.99\n\nDelivery Fee – $3.99\n\n\n### EUR Version\n🍔 MENU & PRICES (EUR)\nBurgers\n- Classic Burger – €11.50\n- Cheese Burger – €13.50\n- Deluxe Burger – €17.50\n\nDelivery Fee – €3.50\n\n\n## 📊 Google Sheets Structure\nThe template automatically logs orders with these columns:\n- Order ID\n- Customer Name\n- Chat ID\n- Phone Number\n- Delivery Address\n- Order Info\n- Total Price\n- Payment Status\n- Order Status\n- Timestamp\n\n## 🔧 Customization Options\n\n### Easy Customizations\n- **Menu Items** - Add/remove/modify any food items\n- **Pricing** - Update to your local pricing structure\n- **Currency** - Change to any currency worldwide\n- **Business Hours** - Modify operating hours\n- **Delivery Areas** - Add location restrictions\n- **Payment Methods** - Update payment information\n\n### Advanced Customizations\n- **Multiple Locations** - Add location selection logic\n- **Inventory Management** - Add stock tracking\n- **Promotional Codes** - Implement discount systems\n- **Multi-language** - Add language detection and responses\n- **SMS Integration** - Add SMS notifications\n- **Email Receipts** - Integrate email confirmation\n\n## 📱 Customer Experience Flow\n1. Customer starts chat with bot\n2. Bot greets and shows menu\n3. Customer places order\n4. Bot confirms order and total\n5. Customer provides delivery details\n6. Customer sends payment screenshot\n7. Admin approves/declines payment\n8. Customer receives confirmation with delivery time\n9. Order is tracked in Google Sheets\n\n## 🛡️ Security Features\n- Human payment verification\n- Chat ID tracking for user identification\n- Timestamped order logging\n- Payment screenshot archival\n- Admin approval controls\n\n## 🎯 Perfect For\n- Restaurants\n- Food trucks\n- Catering services\n- Bakeries\n- Coffee shops\n- Grocery delivery\n- Meal prep services\n- Any food-related business\n\n## 🆘 Support Notes\n- This template requires basic n8n knowledge for setup\n- Google Sheets API setup required\n- Telegram Bot creation required\n- Customization may require some technical skills\n\n## 📈 Scalability\n- Handles multiple concurrent customers\n- Conversation memory per customer\n- Unlimited order volume\n- Easy to add new menu items\n- Expandable with additional features\n"
          },
          "typeVersion": 1
        }
      ],
      "active": false,
      "pinData": {},
      "settings": {
        "executionOrder": "v1"
      },
      "versionId": "75215d5e-63a8-4bb5-b26e-5fa6a6d6f4f1",
      "connections": {
        "AI Agent": {
          "main": [
            [
              {
                "node": "Telegram",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Google Sheets": {
          "ai_tool": [
            [
              {
                "node": "AI Agent",
                "type": "ai_tool",
                "index": 0
              }
            ]
          ]
        },
        "Simple Memory": {
          "ai_memory": [
            [
              {
                "node": "AI Agent",
                "type": "ai_memory",
                "index": 0
              }
            ]
          ]
        },
        "Check Feedback": {
          "main": [
            [
              {
                "node": "AI Agent",
                "type": "main",
                "index": 0
              }
            ],
            [
              {
                "node": "Payment Declined",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Telegram Trigger": {
          "main": [
            [
              {
                "node": "Payment Screenshot Check",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Admin Approval Request": {
          "main": [
            [
              {
                "node": "Check Feedback",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Google Gemini Chat Model": {
          "ai_languageModel": [
            [
              {
                "node": "Check Feedback",
                "type": "ai_languageModel",
                "index": 0
              },
              {
                "node": "AI Agent",
                "type": "ai_languageModel",
                "index": 0
              }
            ]
          ]
        },
        "Payment Screenshot Check": {
          "main": [
            [
              {
                "node": "Forward Payment Screenshot",
                "type": "main",
                "index": 0
              }
            ],
            [
              {
                "node": "AI Agent",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Forward Payment Screenshot": {
          "main": [
            [
              {
                "node": "Admin Approval Request",
                "type": "main",
                "index": 0
              }
            ]
          ]
        }
      }
    },
    "lastUpdatedBy": 29,
    "workflowInfo": {
      "nodeCount": 16,
      "nodeTypes": {
        "n8n-nodes-base.if": {
          "count": 1
        },
        "n8n-nodes-base.telegram": {
          "count": 4
        },
        "n8n-nodes-base.stickyNote": {
          "count": 5
        },
        "@n8n/n8n-nodes-langchain.agent": {
          "count": 1
        },
        "n8n-nodes-base.telegramTrigger": {
          "count": 1
        },
        "n8n-nodes-base.googleSheetsTool": {
          "count": 1
        },
        "@n8n/n8n-nodes-langchain.textClassifier": {
          "count": 1
        },
        "@n8n/n8n-nodes-langchain.lmChatGoogleGemini": {
          "count": 1
        },
        "@n8n/n8n-nodes-langchain.memoryBufferWindow": {
          "count": 1
        }
      }
    },
    "status": "published",
    "user": {
      "name": "David Olusola",
      "username": "dae221",
      "bio": "I design enterprise-grade automation systems that eliminate bottlenecks, cut manual work by 70%+, and unlock millions in lost revenue opportunities. My clients — typically achieve 5–10x ROI within the first 90 days. Currently partnering with select high-growth companies ready to scale faster with AI automation.  david@daexai.com",
      "verified": true,
      "links": [
        ""
      ],
      "avatar": "https://gravatar.com/avatar/2abbc4c9e828c54a8d8838beda1382e8e4a66684ef9fa8451dbeb3e72b0c9f9c?r=pg&d=retro&size=200"
    },
    "nodes": [
      {
        "id": 20,
        "icon": "fa:map-signs",
        "name": "n8n-nodes-base.if",
        "codex": {
          "data": {
            "alias": [
              "Router",
              "Filter",
              "Condition",
              "Logic",
              "Boolean",
              "Branch"
            ],
            "details": "The IF node can be used to implement binary conditional logic in your workflow. You can set up one-to-many conditions to evaluate each item of data being inputted into the node. That data will either evaluate to TRUE or FALSE and route out of the node accordingly.\n\nThis node has multiple types of conditions: Bool, String, Number, and Date & Time.",
            "resources": {
              "generic": [
                {
                  "url": "https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/",
                  "icon": "🏭",
                  "label": "Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"
                },
                {
                  "url": "https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/",
                  "icon": "☀️",
                  "label": "2021: The Year to Automate the New You with n8n"
                },
                {
                  "url": "https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/",
                  "icon": "🧬",
                  "label": "Why business process automation with n8n can change your daily life"
                },
                {
                  "url": "https://n8n.io/blog/create-a-toxic-language-detector-for-telegram/",
                  "icon": "🤬",
                  "label": "Create a toxic language detector for Telegram in 4 step"
                },
                {
                  "url": "https://n8n.io/blog/no-code-ecommerce-workflow-automations/",
                  "icon": "store",
                  "label": "6 e-commerce workflows to power up your Shopify s"
                },
                {
                  "url": "https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/",
                  "icon": "🔗",
                  "label": "How to build a low-code, self-hosted URL shortener in 3 steps"
                },
                {
                  "url": "https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/",
                  "icon": "⚙️",
                  "label": "Automate your data processing pipeline in 9 steps"
                },
                {
                  "url": "https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/",
                  "icon": "👥",
                  "label": "How to get started with CRM automation (with 3 no-code workflow ideas"
                },
                {
                  "url": "https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/",
                  "icon": "⚡️",
                  "label": "5 tasks you can automate with the new Notion API "
                },
                {
                  "url": "https://n8n.io/blog/automate-google-apps-for-productivity/",
                  "icon": "💡",
                  "label": "15 Google apps you can combine and automate to increase productivity"
                },
                {
                  "url": "https://n8n.io/blog/automation-for-maintainers-of-open-source-projects/",
                  "icon": "🏷️",
                  "label": "How to automatically manage contributions to open-source projects"
                },
                {
                  "url": "https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/",
                  "icon": " 🕸️",
                  "label": "How uProc scraped a multi-page website with a low-code workflow"
                },
                {
                  "url": "https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/",
                  "icon": "🤖",
                  "label": "5 workflow automations for Mattermost that we love at n8n"
                },
                {
                  "url": "https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/",
                  "icon": "🧠",
                  "label": "Why this Product Manager loves workflow automation with n8n"
                },
                {
                  "url": "https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/",
                  "icon": "🙌",
                  "label": "Sending Automated Congratulations with Google Sheets, Twilio, and n8n "
                },
                {
                  "url": "https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/",
                  "icon": "🎡",
                  "label": "How to set up a no-code CI/CD pipeline with GitHub and TravisCI"
                },
                {
                  "url": "https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/",
                  "icon": "🎖",
                  "label": "Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"
                },
                {
                  "url": "https://n8n.io/blog/aws-workflow-automation/",
                  "label": "7 no-code workflow automations for Amazon Web Services"
                }
              ],
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.if/"
                }
              ]
            },
            "categories": [
              "Core Nodes"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0",
            "subcategories": {
              "Core Nodes": [
                "Flow"
              ]
            }
          }
        },
        "group": "[\"transform\"]",
        "defaults": {
          "name": "If",
          "color": "#408000"
        },
        "iconData": {
          "icon": "map-signs",
          "type": "icon"
        },
        "displayName": "If",
        "typeVersion": 2,
        "nodeCategories": [
          {
            "id": 9,
            "name": "Core Nodes"
          }
        ]
      },
      {
        "id": 49,
        "icon": "file:telegram.svg",
        "name": "n8n-nodes-base.telegram",
        "codex": {
          "data": {
            "alias": [
              "human",
              "form",
              "wait",
              "hitl",
              "approval"
            ],
            "resources": {
              "generic": [
                {
                  "url": "https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/",
                  "icon": "🧬",
                  "label": "Why business process automation with n8n can change your daily life"
                },
                {
                  "url": "https://n8n.io/blog/create-a-toxic-language-detector-for-telegram/",
                  "icon": "🤬",
                  "label": "Create a toxic language detector for Telegram in 4 step"
                },
                {
                  "url": "https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/",
                  "icon": "🧾",
                  "label": "Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"
                },
                {
                  "url": "https://n8n.io/blog/no-code-ecommerce-workflow-automations/",
                  "icon": "store",
                  "label": "6 e-commerce workflows to power up your Shopify s"
                },
                {
                  "url": "https://n8n.io/blog/world-poetry-day-workflow/",
                  "icon": "📜",
                  "label": "Celebrating World Poetry Day with a daily poem in Telegram"
                },
                {
                  "url": "https://n8n.io/blog/using-automation-to-boost-productivity-in-the-workplace/",
                  "icon": "💪",
                  "label": "Using Automation to Boost Productivity in the Workplace"
                },
                {
                  "url": "https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/",
                  "icon": "🎡",
                  "label": "How to set up a no-code CI/CD pipeline with GitHub and TravisCI"
                },
                {
                  "url": "https://n8n.io/blog/creating-scheduled-text-affirmations-with-n8n/",
                  "icon": "🤟",
                  "label": "Creating scheduled text affirmations with n8n"
                },
                {
                  "url": "https://n8n.io/blog/creating-telegram-bots-with-n8n-a-no-code-platform/",
                  "icon": "💬",
                  "label": "Creating Telegram Bots with n8n, a No-Code Platform"
                },
                {
                  "url": "https://n8n.io/blog/aws-workflow-automation/",
                  "label": "7 no-code workflow automations for Amazon Web Services"
                }
              ],
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.telegram/"
                }
              ],
              "credentialDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/credentials/telegram/"
                }
              ]
            },
            "categories": [
              "Communication",
              "HITL"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0",
            "subcategories": {
              "HITL": [
                "Human in the Loop"
              ]
            }
          }
        },
        "group": "[\"output\"]",
        "defaults": {
          "name": "Telegram"
        },
        "iconData": {
          "type": "file",
          "fileBuffer": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB2aWV3Qm94PSIwIDAgNjYgNjYiPjx1c2UgeGxpbms6aHJlZj0iI2EiIHg9Ii41IiB5PSIuNSIvPjxzeW1ib2wgaWQ9ImEiIG92ZXJmbG93PSJ2aXNpYmxlIj48ZyBmaWxsLXJ1bGU9Im5vbnplcm8iIHN0cm9rZT0ibm9uZSI+PHBhdGggZmlsbD0iIzM3YWVlMiIgZD0iTTAgMzJjMCAxNy42NzMgMTQuMzI3IDMyIDMyIDMyczMyLTE0LjMyNyAzMi0zMlM0OS42NzMgMCAzMiAwIDAgMTQuMzI3IDAgMzIiLz48cGF0aCBmaWxsPSIjYzhkYWVhIiBkPSJtMjEuNjYxIDM0LjMzOCAzLjc5NyAxMC41MDhzLjQ3NS45ODMuOTgzLjk4MyA4LjA2OC03Ljg2NCA4LjA2OC03Ljg2NGw4LjQwNy0xNi4yMzctMjEuMTE5IDkuODk4eiIvPjxwYXRoIGZpbGw9IiNhOWM2ZDgiIGQ9Im0yNi42OTUgMzcuMDM0LS43MjkgNy43NDZzLS4zMDUgMi4zNzMgMi4wNjggMGw0LjY0NC00LjIwMyIvPjxwYXRoIGQ9Im0yMS43MyAzNC43MTItNy44MDktMi41NDVzLS45MzItLjM3OC0uNjMzLTEuMjM3Yy4wNjItLjE3Ny4xODYtLjMyOC41NTktLjU4OCAxLjczMS0xLjIwNiAzMi4wMjgtMTIuMDk2IDMyLjAyOC0xMi4wOTZzLjg1Ni0uMjg4IDEuMzYxLS4wOTdjLjIzMS4wODguMzc4LjE4Ny41MDMuNTQ4LjA0NS4xMzIuMDcxLjQxMS4wNjguNjg5LS4wMDMuMjAxLS4wMjcuMzg2LS4wNDUuNjc4LS4xODQgMi45NzgtNS43MDYgMjUuMTk4LTUuNzA2IDI1LjE5OHMtLjMzIDEuMy0xLjUxNCAxLjM0NWMtLjQzMi4wMTYtLjk1Ni0uMDcxLTEuNTgyLS42MS0yLjMyMy0xLjk5OC0xMC4zNTItNy4zOTQtMTIuMTI2LTguNThhLjM0LjM0IDAgMCAxLS4xNDYtLjIzOWMtLjAyNS0uMTI1LjEwOC0uMjguMTA4LS4yOHMxMy45OC0xMi40MjcgMTQuMzUyLTEzLjczMWMuMDI5LS4xMDEtLjA3OS0uMTUxLS4yMjYtLjEwNy0uOTI5LjM0Mi0xNy4wMjUgMTAuNTA2LTE4LjgwMSAxMS42MjktLjEwNC4wNjYtLjM5NS4wMjMtLjM5NS4wMjMiLz48L2c+PC9zeW1ib2w+PC9zdmc+"
        },
        "displayName": "Telegram",
        "typeVersion": 1,
        "nodeCategories": [
          {
            "id": 6,
            "name": "Communication"
          },
          {
            "id": 28,
            "name": "HITL"
          }
        ]
      },
      {
        "id": 50,
        "icon": "file:telegram.svg",
        "name": "n8n-nodes-base.telegramTrigger",
        "codex": {
          "data": {
            "resources": {
              "generic": [
                {
                  "url": "https://n8n.io/blog/create-a-toxic-language-detector-for-telegram/",
                  "icon": "🤬",
                  "label": "Create a toxic language detector for Telegram in 4 step"
                },
                {
                  "url": "https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/",
                  "icon": "🧾",
                  "label": "Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"
                },
                {
                  "url": "https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/",
                  "icon": "🎡",
                  "label": "How to set up a no-code CI/CD pipeline with GitHub and TravisCI"
                },
                {
                  "url": "https://n8n.io/blog/creating-telegram-bots-with-n8n-a-no-code-platform/",
                  "icon": "💬",
                  "label": "Creating Telegram Bots with n8n, a No-Code Platform"
                },
                {
                  "url": "https://n8n.io/blog/aws-workflow-automation/",
                  "label": "7 no-code workflow automations for Amazon Web Services"
                }
              ],
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/trigger-nodes/n8n-nodes-base.telegramtrigger/"
                }
              ],
              "credentialDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/credentials/telegram/"
                }
              ]
            },
            "categories": [
              "Communication"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0"
          }
        },
        "group": "[\"trigger\"]",
        "defaults": {
          "name": "Telegram Trigger"
        },
        "iconData": {
          "type": "file",
          "fileBuffer": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB2aWV3Qm94PSIwIDAgNjYgNjYiPjx1c2UgeGxpbms6aHJlZj0iI2EiIHg9Ii41IiB5PSIuNSIvPjxzeW1ib2wgaWQ9ImEiIG92ZXJmbG93PSJ2aXNpYmxlIj48ZyBmaWxsLXJ1bGU9Im5vbnplcm8iIHN0cm9rZT0ibm9uZSI+PHBhdGggZmlsbD0iIzM3YWVlMiIgZD0iTTAgMzJjMCAxNy42NzMgMTQuMzI3IDMyIDMyIDMyczMyLTE0LjMyNyAzMi0zMlM0OS42NzMgMCAzMiAwIDAgMTQuMzI3IDAgMzIiLz48cGF0aCBmaWxsPSIjYzhkYWVhIiBkPSJtMjEuNjYxIDM0LjMzOCAzLjc5NyAxMC41MDhzLjQ3NS45ODMuOTgzLjk4MyA4LjA2OC03Ljg2NCA4LjA2OC03Ljg2NGw4LjQwNy0xNi4yMzctMjEuMTE5IDkuODk4eiIvPjxwYXRoIGZpbGw9IiNhOWM2ZDgiIGQ9Im0yNi42OTUgMzcuMDM0LS43MjkgNy43NDZzLS4zMDUgMi4zNzMgMi4wNjggMGw0LjY0NC00LjIwMyIvPjxwYXRoIGQ9Im0yMS43MyAzNC43MTItNy44MDktMi41NDVzLS45MzItLjM3OC0uNjMzLTEuMjM3Yy4wNjItLjE3Ny4xODYtLjMyOC41NTktLjU4OCAxLjczMS0xLjIwNiAzMi4wMjgtMTIuMDk2IDMyLjAyOC0xMi4wOTZzLjg1Ni0uMjg4IDEuMzYxLS4wOTdjLjIzMS4wODguMzc4LjE4Ny41MDMuNTQ4LjA0NS4xMzIuMDcxLjQxMS4wNjguNjg5LS4wMDMuMjAxLS4wMjcuMzg2LS4wNDUuNjc4LS4xODQgMi45NzgtNS43MDYgMjUuMTk4LTUuNzA2IDI1LjE5OHMtLjMzIDEuMy0xLjUxNCAxLjM0NWMtLjQzMi4wMTYtLjk1Ni0uMDcxLTEuNTgyLS42MS0yLjMyMy0xLjk5OC0xMC4zNTItNy4zOTQtMTIuMTI2LTguNThhLjM0LjM0IDAgMCAxLS4xNDYtLjIzOWMtLjAyNS0uMTI1LjEwOC0uMjguMTA4LS4yOHMxMy45OC0xMi40MjcgMTQuMzUyLTEzLjczMWMuMDI5LS4xMDEtLjA3OS0uMTUxLS4yMjYtLjEwNy0uOTI5LjM0Mi0xNy4wMjUgMTAuNTA2LTE4LjgwMSAxMS42MjktLjEwNC4wNjYtLjM5NS4wMjMtLjM5NS4wMjMiLz48L2c+PC9zeW1ib2w+PC9zdmc+"
        },
        "displayName": "Telegram Trigger",
        "typeVersion": 1,
        "nodeCategories": [
          {
            "id": 6,
            "name": "Communication"
          }
        ]
      },
      {
        "id": 565,
        "icon": "fa:sticky-note",
        "name": "n8n-nodes-base.stickyNote",
        "codex": {
          "data": {
            "alias": [
              "Comments",
              "Notes",
              "Sticky"
            ],
            "categories": [
              "Core Nodes"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0",
            "subcategories": {
              "Core Nodes": [
                "Helpers"
              ]
            }
          }
        },
        "group": "[\"input\"]",
        "defaults": {
          "name": "Sticky Note",
          "color": "#FFD233"
        },
        "iconData": {
          "icon": "sticky-note",
          "type": "icon"
        },
        "displayName": "Sticky Note",
        "typeVersion": 1,
        "nodeCategories": [
          {
            "id": 9,
            "name": "Core Nodes"
          }
        ]
      },
      {
        "id": 1119,
        "icon": "fa:robot",
        "name": "@n8n/n8n-nodes-langchain.agent",
        "codex": {
          "data": {
            "alias": [
              "LangChain",
              "Chat",
              "Conversational",
              "Plan and Execute",
              "ReAct",
              "Tools"
            ],
            "resources": {
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent/"
                }
              ]
            },
            "categories": [
              "AI",
              "Langchain"
            ],
            "subcategories": {
              "AI": [
                "Agents",
                "Root Nodes"
              ]
            }
          }
        },
        "group": "[\"transform\"]",
        "defaults": {
          "name": "AI Agent",
          "color": "#404040"
        },
        "iconData": {
          "icon": "robot",
          "type": "icon"
        },
        "displayName": "AI Agent",
        "typeVersion": 3,
        "nodeCategories": [
          {
            "id": 25,
            "name": "AI"
          },
          {
            "id": 26,
            "name": "Langchain"
          }
        ]
      },
      {
        "id": 1163,
        "icon": "fa:database",
        "name": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
        "codex": {
          "data": {
            "resources": {
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.memorybufferwindow/"
                }
              ]
            },
            "categories": [
              "AI",
              "Langchain"
            ],
            "subcategories": {
              "AI": [
                "Memory"
              ],
              "Memory": [
                "For beginners"
              ]
            }
          }
        },
        "group": "[\"transform\"]",
        "defaults": {
          "name": "Simple Memory"
        },
        "iconData": {
          "icon": "database",
          "type": "icon"
        },
        "displayName": "Simple Memory",
        "typeVersion": 1,
        "nodeCategories": [
          {
            "id": 25,
            "name": "AI"
          },
          {
            "id": 26,
            "name": "Langchain"
          }
        ]
      },
      {
        "id": 1262,
        "icon": "file:google.svg",
        "name": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
        "codex": {
          "data": {
            "resources": {
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatgooglegemini/"
                }
              ]
            },
            "categories": [
              "AI",
              "Langchain"
            ],
            "subcategories": {
              "AI": [
                "Language Models",
                "Root Nodes"
              ],
              "Language Models": [
                "Chat Models (Recommended)"
              ]
            }
          }
        },
        "group": "[\"transform\"]",
        "defaults": {
          "name": "Google Gemini Chat Model"
        },
        "iconData": {
          "type": "file",
          "fileBuffer": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgNDggNDgiPjxkZWZzPjxwYXRoIGlkPSJhIiBkPSJNNDQuNSAyMEgyNHY4LjVoMTEuOEMzNC43IDMzLjkgMzAuMSAzNyAyNCAzN2MtNy4yIDAtMTMtNS44LTEzLTEzczUuOC0xMyAxMy0xM2MzLjEgMCA1LjkgMS4xIDguMSAyLjlsNi40LTYuNEMzNC42IDQuMSAyOS42IDIgMjQgMiAxMS44IDIgMiAxMS44IDIgMjRzOS44IDIyIDIyIDIyYzExIDAgMjEtOCAyMS0yMiAwLTEuMy0uMi0yLjctLjUtNCIvPjwvZGVmcz48Y2xpcFBhdGggaWQ9ImIiPjx1c2UgeGxpbms6aHJlZj0iI2EiIG92ZXJmbG93PSJ2aXNpYmxlIi8+PC9jbGlwUGF0aD48cGF0aCBmaWxsPSIjRkJCQzA1IiBkPSJNMCAzN1YxMWwxNyAxM3oiIGNsaXAtcGF0aD0idXJsKCNiKSIvPjxwYXRoIGZpbGw9IiNFQTQzMzUiIGQ9Im0wIDExIDE3IDEzIDctNi4xTDQ4IDE0VjBIMHoiIGNsaXAtcGF0aD0idXJsKCNiKSIvPjxwYXRoIGZpbGw9IiMzNEE4NTMiIGQ9Im0wIDM3IDMwLTIzIDcuOSAxTDQ4IDB2NDhIMHoiIGNsaXAtcGF0aD0idXJsKCNiKSIvPjxwYXRoIGZpbGw9IiM0Mjg1RjQiIGQ9Ik00OCA0OCAxNyAyNGwtNC0zIDM1LTEweiIgY2xpcC1wYXRoPSJ1cmwoI2IpIi8+PC9zdmc+"
        },
        "displayName": "Google Gemini Chat Model",
        "typeVersion": 1,
        "nodeCategories": [
          {
            "id": 25,
            "name": "AI"
          },
          {
            "id": 26,
            "name": "Langchain"
          }
        ]
      },
      {
        "id": 1265,
        "icon": "fa:tags",
        "name": "@n8n/n8n-nodes-langchain.textClassifier",
        "codex": {
          "data": {
            "resources": {
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.text-classifier/"
                }
              ]
            },
            "categories": [
              "AI",
              "Langchain"
            ],
            "subcategories": {
              "AI": [
                "Chains",
                "Root Nodes"
              ]
            }
          }
        },
        "group": "[\"transform\"]",
        "defaults": {
          "name": "Text Classifier"
        },
        "iconData": {
          "icon": "tags",
          "type": "icon"
        },
        "displayName": "Text Classifier",
        "typeVersion": 1,
        "nodeCategories": [
          {
            "id": 25,
            "name": "AI"
          },
          {
            "id": 26,
            "name": "Langchain"
          }
        ]
      }
    ],
    "categories": [
      {
        "id": 38,
        "name": "Lead Nurturing"
      },
      {
        "id": 47,
        "name": "AI Chatbot"
      }
    ],
    "image": []
  }
}