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

A production-ready 3-workflow system that handles customer support across WhatsApp and Email using RAG-powered AI. Automatically routes queries, detects escalation intent, logs handoffs to Google Shee

Form Trigger, Pinecone Vector Store, Document Default Data Loader +12
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 turns incoming WhatsApp messages (text, audio, images, and documents) into actionable support interactions by extracting content, detecting sentiment, and using an AI agent with a Supaba

WhatsApp Trigger, OpenAI, Supabase +20
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