AutomationFlowsAI & RAG › Ai-powered Restaurant Order and Menu Management with Whatsapp and Google Gemini

Ai-powered Restaurant Order and Menu Management with Whatsapp and Google Gemini

ByTamer @tamerelzein on n8n.io

RestaurantBot Pro is a complete AI-powered restaurant ordering system that transforms your WhatsApp into a smart ordering platform. This intelligent automation handles customer interactions in any language you configure, manages your menu database, processes orders, and…

Event trigger★★★★☆ complexityAI-powered21 nodesWhatsApp TriggerAgentWhatsAppSupabaseMemory Buffer WindowOutput Parser StructuredSupabase ToolForm Trigger
AI & RAG Trigger: Event Nodes: 21 Complexity: ★★★★☆ AI nodes: yes Added:

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

This workflow follows the Agent → Documentdefaultdataloader 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": "EKJBH7M555cnXxwU",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Restaurant Orders and Menu automation RAG  System Template",
  "tags": [],
  "nodes": [
    {
      "id": "745c722b-897d-4113-bda4-aae1c6d3b27f",
      "name": "WhatsApp Trigger",
      "type": "n8n-nodes-base.whatsAppTrigger",
      "position": [
        -400,
        -280
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "9b9f346b-d86f-4179-a722-90dfacf01d20",
      "name": "AI Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        632,
        -280
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "839ec974-57ea-40d9-ad5d-79275cd25f22",
      "name": "Send last message",
      "type": "n8n-nodes-base.whatsApp",
      "position": [
        1336,
        -280
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "e34bdcc9-e4df-4e82-8e17-dfacbedd5a41",
      "name": "Get user",
      "type": "n8n-nodes-base.supabase",
      "position": [
        -180,
        -280
      ],
      "parameters": {},
      "typeVersion": 1,
      "alwaysOutputData": true
    },
    {
      "id": "7ef6846e-71a6-4a9a-a31e-4125c937c5d7",
      "name": "Check if user exists",
      "type": "n8n-nodes-base.if",
      "position": [
        40,
        -280
      ],
      "parameters": {},
      "typeVersion": 2.2
    },
    {
      "id": "73dcb97b-75cf-4c47-9138-f709ffcc7c4c",
      "name": "Add user to db",
      "type": "n8n-nodes-base.supabase",
      "position": [
        260,
        -205
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "48a8dc25-748d-4329-97f0-0b1d9272378a",
      "name": "Simple Memory",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        640,
        -120
      ],
      "parameters": {},
      "typeVersion": 1.3
    },
    {
      "id": "8c89d461-b237-49e0-9b6d-30d1477fad11",
      "name": "Structured Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        920,
        -120
      ],
      "parameters": {},
      "typeVersion": 1.3
    },
    {
      "id": "9a7b9c60-7673-4622-962f-45198b77894a",
      "name": "If",
      "type": "n8n-nodes-base.if",
      "position": [
        1556,
        -280
      ],
      "parameters": {},
      "typeVersion": 2.2
    },
    {
      "id": "9ffd5bae-b8f6-4a1c-b095-b4af9c570802",
      "name": "Create order in database",
      "type": "n8n-nodes-base.supabaseTool",
      "position": [
        580,
        180
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "90aaf3f1-45a5-4b85-947e-c66b90a1034b",
      "name": "Add menu item",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        -400,
        580
      ],
      "parameters": {},
      "typeVersion": 2.2
    },
    {
      "id": "68b376ad-c032-4dd4-8b81-e3b746ef6852",
      "name": "Default Data Loader",
      "type": "@n8n/n8n-nodes-langchain.documentDefaultDataLoader",
      "position": [
        0,
        1040
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "507ca6a5-4e84-46ac-8685-80d34665f739",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -740,
        -300
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "d14ab52b-be57-4848-9479-5e281e997eae",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -720,
        560
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "dc6aea8a-3817-401c-881d-16473d1a3a6c",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1840,
        -500
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "8480f082-c333-465c-9013-ccf7c4ca0a93",
      "name": "Google Gemini Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        480,
        -100
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "9ca59c15-6c8d-4075-a8e0-5702b1b9253b",
      "name": "Embeddings Google Gemini",
      "type": "@n8n/n8n-nodes-langchain.embeddingsGoogleGemini",
      "position": [
        340,
        840
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "b379404a-2990-4ac8-bf8d-52f8140848ff",
      "name": "Google Gemini Chat Model1",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        1040,
        20
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "c17857f8-8723-413c-a366-ac0227a2b74c",
      "name": "Send Order to delevery guy",
      "type": "n8n-nodes-base.whatsApp",
      "position": [
        1800,
        -340
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "835ebb28-6c0f-44c9-88bf-84589275e40b",
      "name": "Insert Menu Item to Vector Store",
      "type": "@n8n/n8n-nodes-langchain.vectorStoreSupabase",
      "position": [
        -120,
        580
      ],
      "parameters": {},
      "typeVersion": 1.3
    },
    {
      "id": "89134aa0-5a75-4f0d-b369-6206eccba221",
      "name": "Get Menu Items from Vector Store",
      "type": "@n8n/n8n-nodes-langchain.vectorStoreSupabase",
      "position": [
        740,
        200
      ],
      "parameters": {},
      "typeVersion": 1.3
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "8b3b31b9-18af-4967-8302-a737298764fa",
  "connections": {
    "If": {
      "main": [
        [
          {
            "node": "Send Order to delevery guy",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Agent": {
      "main": [
        [
          {
            "node": "Send last message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get user": {
      "main": [
        [
          {
            "node": "Check if user exists",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Add menu item": {
      "main": [
        [
          {
            "node": "Insert Menu Item to Vector Store",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Simple Memory": {
      "ai_memory": [
        [
          {
            "node": "AI Agent",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "Add user to db": {
      "main": [
        [
          {
            "node": "AI Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "WhatsApp Trigger": {
      "main": [
        [
          {
            "node": "Get user",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send last message": {
      "main": [
        [
          {
            "node": "If",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Default Data Loader": {
      "ai_document": [
        [
          {
            "node": "Insert Menu Item to Vector Store",
            "type": "ai_document",
            "index": 0
          }
        ]
      ]
    },
    "Check if user exists": {
      "main": [
        [
          {
            "node": "AI Agent",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Add user to db",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create order in database": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Embeddings Google Gemini": {
      "ai_embedding": [
        [
          {
            "node": "Insert Menu Item to Vector Store",
            "type": "ai_embedding",
            "index": 0
          },
          {
            "node": "Get Menu Items from Vector Store",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "Google Gemini Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "AI Agent",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Google Gemini Chat Model1": {
      "ai_languageModel": [
        [
          {
            "node": "Structured Output Parser",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Get Menu Items from Vector Store": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Insert Menu Item to Vector Store": {
      "ai_tool": [
        []
      ]
    }
  }
}
Pro

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

About this workflow

RestaurantBot Pro is a complete AI-powered restaurant ordering system that transforms your WhatsApp into a smart ordering platform. This intelligent automation handles customer interactions in any language you configure, manages your menu database, processes orders, and…

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

More AI & RAG workflows → · Browse all categories →

Related workflows

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

AI & RAG

The "WhatsApp Productivity Assistant with Memory and AI Imaging" is a comprehensive n8n workflow that transforms your WhatsApp into a powerful, multi-talented AI assistant. It's designed to handle a w

WhatsApp Trigger, Agent, HTTP Request +20
AI & RAG

This template creates a comprehensive, production-ready Retrieval-Augmented Generation (RAG) system. It builds a sophisticated AI agent that can answer questions based on documents stored in a specifi

Reranker Cohere, Supabase Vector Store, Agent +10
AI & RAG

This workflow acts as an autonomous Tier 2 Customer Support Agent. It doesn't just answer questions; it manages the entire lifecycle of a support ticket—from triage to resolution with Guardrails to de

Guardrails, Agent, Tool Workflow +11
AI & RAG

This workflow is perfect for: Businesses and teams who need an automated solution to organize, analyze, and retrieve insights from their internal documents. Researchers who want to quickly analyze and

Document Default Data Loader, Google Drive Trigger, Text Splitter Character Text Splitter +10
AI & RAG

n8n telegram RAG. Uses lmChatGoogleGemini, embeddingsGoogleGemini, memoryManager, vectorStoreSupabase. Event-driven trigger; 32 nodes.

Google Gemini Chat, Google Gemini Embeddings, Memory Manager +10