AI Automation · WhatsApp

Riviera
Social Club.

A members-only venue was losing 3.5 staff hours a day to WhatsApp. The same thirty questions, over and over. We wired an AI assistant to their Google Doc — one document update, and the AI knows.

Client
Riviera Social Club
Year
2025
Type
AI Automation
Stack
n8n · WhatsApp API · GPT-4o · Google Docs · Slack
Timeline
3 weeks
01 — The Problem

The Same Thirty
Questions. Every Day.

Riviera is a members-only venue in central London — a restaurant, bar, and events space with a rotating program and a tiered membership. Their WhatsApp business number was the first point of contact for almost everything: table bookings, dress code questions, event schedules, membership upgrades, dietary accommodation requests.

The front-of-house manager was spending three to four hours a day on WhatsApp before opening. Most of it was the same questions, answered the same way, pulled from the same internal document they updated weekly. There was no system — just an overwhelmed person copy-pasting from a Google Doc.

3.5 hrs/day on WhatsApp

Front-of-house manager spending pre-open hours on repetitive message replies before service even started.

Avg. 3.2 hr response time

Members messaging at 10pm about next week's event got replies the following afternoon — or not at all.

Knowledge lived in one doc

A single Google Doc the manager updated weekly — but translating it into WhatsApp replies was entirely manual.

No escalation path

Complaints, refund requests, and press enquiries all arrived on the same WhatsApp thread as table reservations.

Core insight

The knowledge already existed and was already being maintained — just not in a form a machine could use. The right solution wasn't a chatbot with a static FAQ database. It was a live connection between the AI and the document the team was already updating.

02 — The Approach

Four Principles
That Shaped the Build.

01

One source of truth, zero migration

The team already maintained a Google Doc. We connected to it directly rather than replicating it into a new system. Staff didn't need to learn anything — they kept updating the same document.

→ The doc is fetched fresh on every message, so menu changes, event updates, and policy edits take effect in real time with no deployment step.
02

Escalation by intent, not by keyword

Keyword-based routing misses context. "Refund" in a question about the membership cancellation policy is different from "I want my money back." We classify intent before deciding whether to answer or escalate.

→ Complaints, refund demands, and "speak to a manager" intent always escalate to a human via Slack — regardless of whether the AI could technically answer.
03

Honest uncertainty over confident hallucination

The AI is instructed to answer only from the knowledge document and to say explicitly when it doesn't know. Inventing table availability or membership pricing would be worse than no automation at all.

→ If the doc doesn't contain the answer, the response offers to connect the customer with the team — which is the correct outcome.
04

Slack as the human interface

Staff shouldn't need to manage two apps. Escalated conversations arrive in a Slack channel with full context. The manager replies in Slack — the reply gets forwarded to WhatsApp automatically.

→ No one at Riviera needs to open WhatsApp Business on a company phone anymore.
03 — How It Works

Inside the
Workflow.

01

Message received

A customer or member sends a WhatsApp message to the venue's business number. The Twilio WhatsApp API forwards the incoming message to an n8n webhook in real time — no polling, no delay.

WhatsApp Business APITwilion8n Webhook
02

Knowledge fetch

n8n calls the Google Docs API to pull the latest version of the venue's master knowledge document — menus, membership tiers, opening hours, event schedule, dress code, and FAQs. The document is fetched fresh on every message, so staff only update one Google Doc and the AI knows immediately.

Google Docs APIn8n
03

Intent classification

A lightweight GPT-4o-mini classification step categorises the message: general enquiry, booking-related, complaint, or escalation trigger. This determines whether to answer automatically or route to a human. Complaint and "speak to manager" intent always escalates regardless of the next step.

OpenAI GPT-4o-minin8n
04

Response generation

For answerable queries, GPT-4o generates a reply grounded in the knowledge document. The prompt instructs the model to answer only from the provided context, never invent availability, and always match the venue's warm, professional tone. If the knowledge doc doesn't contain an answer, the model says so and offers to connect the customer with the team.

OpenAI GPT-4on8n
05

Human-in-the-loop escalation

Any message classified as a complaint, refund request, or low-confidence response triggers a Slack notification to the venue manager with the full conversation context. The manager can respond directly from Slack — the reply is forwarded back through the same WhatsApp thread. Staff never need to open the WhatsApp app.

Slack APIn8nTwilio
06

Reply delivered

The generated response is sent back through Twilio to the customer's WhatsApp thread. Delivery receipts are logged in an Airtable base alongside message classification, response confidence, and escalation flag — giving the venue manager a weekly view of the most-asked questions and any gaps in the knowledge doc.

TwilioAirtablen8n
04 — Results

Numbers Worth
Shipping For.

87%
Messages handled without staff
<30s
Average response time (was 3.2 hrs)
3.5hrs
Daily staff time recovered
0
New tools staff needed to learn
05 — Key Decisions

Calls Worth
Explaining.

Google Docs API
over a proper CMS
benefitZero migration. The knowledge document already existed and was already being maintained. Connecting to it directly meant the team changed nothing about their workflow.
tradeoffNo structured schema — the AI reads unstructured prose. A CMS would give cleaner, more reliable data. But that would require the team to migrate, maintain, and trust a new tool, which they wouldn't.
Twilio
over Meta direct API
benefitTwilio's sandbox environment allowed full end-to-end testing without using the venue's live WhatsApp Business number during development. Meta's direct API has no equivalent sandbox.
tradeoffAdditional vendor dependency and per-message cost on top of Meta's own pricing. For high-volume use cases, going direct to Meta makes more sense.
GPT-4o-mini for classification,
GPT-4o for generation
benefitClassification is a simple categorisation task — using GPT-4o for it would be wasteful. Splitting the jobs keeps cost low without compromising the quality of the final response.
tradeoffTwo API calls per message instead of one adds a small latency overhead. In practice, the total pipeline runs in under 3 seconds, which is imperceptible to the recipient.