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 →
{
"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": [
[]
]
}
}
}
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 →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
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
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
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
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
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