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.
The workflow fully automates the customer journey:
No manual intervention is required.
It works both with:
This makes it flexible and easy to integrate into different touchpoints.
The virtual waiter agent:
The workflow includes AI guardrails to:
Customer interactions are stored automatically in Google Sheets, enabling:
Using session-based memory:
The delayed follow-up:
The workflow is built with reusable components:
This makes it easy to:
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.
Add credentials
Configure WhatsApp nodes
phoneNumberId in all WhatsApp send nodesSet up Google Sheets
CLIENT and DATE.Configure the menu API
https://demo.forkmenu.com/api/menu/piatti/2?key=....Customize messages
Adjust timers
Activate the workflow
"active": true in the workflow JSON or click "Active" in the n8n editor.Set up chat widget
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.
Contact me for consulting and support or add me on Linkedin.