AI Restaurant Virtual Waiter Chatbot π€π for WhatsApp & Website
This workflow implements a WhatsApp-based virtual restaurant assistant that automates customer interaction from the first message to post-dining follow-up.
The system can receive messages either from WhatsApp or a chatbot interface, normalize the input, and process it through AI guardrails to ensure safe and relevant communication.
Key Advantages
- β End-to-End Automation
The workflow fully automates the customer journey:
Message reception Menu delivery Customer data collection AI conversation Review request
No manual intervention is required.
- β Omnichannel Interaction
It works both with:
WhatsApp (real users) Chat interface (for testing or website chatbot)
This makes it flexible and easy to integrate into different touchpoints.
- β AI-Powered Customer Service
The virtual waiter agent:
Answers questions about dishes, ingredients, prices, allergens Provides recommendations Uses real-time API data (no hallucinations allowed by design)
- β Built-in Safety (Guardrails)
The workflow includes AI guardrails to:
Detect jailbreak attempts Block irrelevant or unsafe requests Ensure responses comply with predefined policies
- β Data Collection & CRM Integration
Customer interactions are stored automatically in Google Sheets, enabling:
Basic CRM functionality Customer tracking Future marketing actions
- β Personalized Experience
Using session-based memory:
The system remembers recent interactions Provides more contextual and coherent responses
- β Automated Marketing & Retention
The delayed follow-up:
Encourages customers to leave reviews Improves online reputation Increases customer engagement after the visit
- β Scalable & Modular Architecture
The workflow is built with reusable components:
AI agent API tools Messaging nodes
This makes it easy to:
Extend (e.g., reservations, payments) Adapt to different restaurants
How it works
This workflow automates a restaurant assistant that responds to customers via both WhatsApp and a chat widget on a website. When a customer sends a message, the system checks if it's a menu request or a general query.
WhatsApp messages first go through a switch node that separates text from unsupported formats. If the message is text, it is normalized and passed to a guardrails node that detects jailbreak attempts. If a jailbreak is detected, a fallback message is sent. If safe, the system checks whether the user asked for the menu.
If the user asks for the menu, the workflow saves the clientβs phone number and date to a Google Sheet, then sends a demo menu link via both WhatsApp and the chat interface. After a short wait (1 minute for chat, 2 hours for WhatsApp), the system sends a follow-up message asking for a Google review.
If the user asks something else, the request goes to a virtual waiter agent. The agent uses a Gemini language model, a memory buffer to keep conversation context, and two tools: a calculator and an HTTP Request Tool that fetches the restaurant menu from a ForkMenu API. The agent answers strictly based on the retrieved menu data β it never invents information. The response is then sent back to the customer via WhatsApp and the chat node.
Set up steps
Add credentials
WhatsApp OAuth account (for WhatsApp Trigger)
WhatsApp account (for sending messages)
Google Gemini (PaLM) account (for the language models)
Google Sheets account (to store customer data)
Configure WhatsApp nodes
Update the phoneNumberId in all WhatsApp send nodes
Ensure the WhatsApp Trigger webhook is correctly connected to your Meta Business account.
Set up Google Sheets
Clone this Sheet
Make sure the sheet contains columns CLIENT and DATE.
Configure the menu API
The HTTP Request Tool calls https://demo.forkmenu.com/api/menu/piatti/2?key=....
Replace the key and URL with your actual restaurantβs ForkMenu API credentials.
Customize messages
Edit the text in all Send message and Chat nodes (menu link, review request, jailbreak response, unsupported format message).
Adjust timers
The review request is sent after 2 hours for WhatsApp and 1 minute for the chat widget (for testing). Modify the Wait nodes as needed.
Activate the workflow
Toggle "active": true in the workflow JSON or click "Active" in the n8n editor.
Set up chat widget
The When chat message received node requires an n8n chat trigger. Embed the chat widget on your website using the n8n chat embed code.
π Subscribe to my new YouTube channel. Here Iβll share videos and Shorts with practical tutorials and FREE templates for n8n.
Need help customizing?
Contact me for consulting and support or add me on Linkedin.
Related Templates
Extract Named Entities from Web Pages with Google Natural Language API
Who is this for? Content strategists analyzing web page semantic content SEO professionals conducting entity-based anal...
Add product ideas to Notion via a Slack command
Use Case In most companies, employees have a lot of great ideas. That was the same for us at n8n. We wanted to make it a...
Automate Daily Keyword Research with Google Sheets, Suggest API & Custom Search
Who's it for This workflow is perfect for SEO specialists, marketers, bloggers, and content creators who want to automa...
π Please log in to import templates to n8n and favorite templates
Workflow Visualization
Loading...
Preparing workflow renderer
Comments (0)
Login to post comments