🔓 Unlock all 10,000+ workflows & prompts free Join Newsletter →
✅ Full access unlocked — explore all 10,000 AI workflow and prompt templates Browse Templates →
Home n8n Workflow
January 22, 2026

WhatsApp + Google Sheets: bookings confirmed fast

Lisa Granqvist Partner Workflow Automation Expert

Your phone keeps buzzing with “Can we book for 7?” and “Any tables tonight?”, and somehow every message becomes a mini project. You copy details into a sheet, check availability, reply, then realize you forgot to log one request and now two parties think they have the same table.

This is where WhatsApp booking automation earns its keep. It hits restaurant managers hardest, but front-of-house leads and small hospitality business owners feel it too. The outcome is simple: faster confirmations, fewer mistakes, and every request logged without you babysitting the process.

This workflow turns incoming WhatsApp messages into structured reservations in Google Sheets, checks availability, and sends a natural confirmation (or rejection) back. You’ll see how it works, what you need, and what to watch for before you put it in front of real guests.

How This Automation Works

See how this solves the problem:

n8n Workflow Template: WhatsApp + Google Sheets: bookings confirmed fast

The Challenge: Confirming bookings fast without double-booking

WhatsApp is great for guests because it’s quick and informal. For you, it’s chaos disguised as convenience. People send half the details (“table for four tomorrow”), change their mind mid-thread, or message from different numbers, and suddenly you’re scrolling through chat history trying to remember what was actually confirmed. Add peak hours and shift handoffs, and it gets messy fast. The real cost isn’t just time. It’s the mental load, the awkward apology when you overbook, and the lost revenue when a slow reply sends them to the restaurant down the street.

None of these alone is the problem. Together, they are.

  • You end up retyping the same booking details into Google Sheets, which is boring and easy to mess up.
  • Availability checks happen “in your head,” so mistakes show up later when it’s too late to fix them politely.
  • Reply speed depends on who is on shift, so the guest experience feels inconsistent day to day.
  • When you don’t log every request, you can’t track demand patterns or spot which time slots sell out first.

The Fix: WhatsApp messages become confirmed reservations in Google Sheets

This workflow starts the moment a guest messages your WhatsApp Business number. Instead of someone reading, interpreting, and manually formatting the request, an AI agent extracts the important parts (name, date, time, party size, and intent). The workflow then checks your reservation datastore (Google Sheets in this version) to see if the slot is open. If it’s available, it sends a friendly confirmation back on WhatsApp and logs the booking. If it’s not, it sends a rejection message and marks that outcome too, so your team has a clear record of what happened. There’s also a scheduled check in the workflow for status handling, which is useful for follow-ups and reminders when you decide to enable them.

The workflow starts with an inbound WhatsApp webhook, then filters message types so you’re not reacting to noise. AI parses and drafts the reply, Google Sheets stores and retrieves availability, and WhatsApp delivers the confirmation or rejection back to the guest in natural language.

What Changes: Before vs. After

Real-World Impact

Say you handle about 30 WhatsApp booking requests in a busy day. Manually, you might spend roughly 5 minutes per request reading the message, checking the sheet, typing a reply, and logging the details, which is about 2.5 hours total. With this workflow, you still spend a moment glancing at edge cases, but most requests run end-to-end automatically. Even if you only review 10 of them for safety, you’re getting close to 2 hours back on a busy day.

Requirements

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • WhatsApp Business Cloud API to receive and send WhatsApp messages.
  • Google Sheets for your reservation log and availability table.
  • OpenAI API key (get it from the OpenAI dashboard) to parse and draft responses.

Skill level: Intermediate. You’ll connect accounts, paste API credentials, and test with a few real messages to tune the prompts.

Need help implementing this? Talk to an automation expert (free 15-minute consultation).

The Workflow Flow

A guest messages your WhatsApp number. The workflow begins with an inbound WhatsApp trigger and immediately filters message types so only real booking requests move forward.

The message gets understood and cleaned up. An AI agent reads the free-form text, pulls out name/date/time/party size, and keeps context using a short memory buffer so the conversation can feel human instead of robotic.

Availability and logic happen in the background. The workflow fetches rows from Google Sheets, checks whether the requested slot is open, and can apply simple calculations like group discounts when you want that behavior.

The guest gets a clear answer. It sends a confirmation or rejection via WhatsApp, then updates Google Sheets to mark the request as notified, which keeps your log accurate for the next shift.

You can easily modify the data store (Google Sheets) to Airtable, MySQL, or Postgres, and you can also adjust the AI’s tone to match your brand. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the WhatsApp Trigger

Set up the inbound message trigger so the workflow can capture WhatsApp messages and route only text messages into the AI assistant.

  1. Add the Inbound WhatsApp Hook node as your trigger and keep Updates set to messages.
  2. Open Message Type Filter and confirm the condition uses Left Value {{ $json.messages[0].type }} with Operation contains and Right Value text.
  3. Connect Inbound WhatsApp HookMessage Type Filter to ensure only text messages are processed by the AI flow.

Credential Required: Connect your WhatsApp credentials for Inbound WhatsApp Hook.

⚠️ Common Pitfall: If the WhatsApp app is not connected or verified, the trigger will not receive incoming messages.

Step 2: Connect Google Sheets

Configure Google Sheets nodes to log reservations and read reservation status updates.

  1. Open Append Reservation Log and set Operation to append.
  2. Set Document to [YOUR_ID] and Sheet to gid=0 (Reservation).
  3. Verify column mappings, including Date {{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Date', `The date should be in the following format "2025-06-09" `, 'string') }} and Timestamp {{ $now.format('yyyy-MM-dd-hh-mm') }}.
  4. Open Fetch Sheet Rows and keep Combine Filters set to OR, with filters for Status Confirmed and the Notified column.
  5. In Mark Notified Confirmed and Mark Notified Rejected, keep Operation set to update and set Notified to Yes.

Credential Required: Connect your Google Sheets credentials for Fetch Sheet Rows, Mark Notified Confirmed, Mark Notified Rejected, and Append Reservation Log. Since Append Reservation Log is an AI tool, ensure credentials are added to the parent Reservation Assistant AI configuration.

Step 3: Set Up Reservation Assistant AI

Configure the AI agent, language model, memory, and tools so it can collect reservation details and calculate discounts.

  1. In Reservation Assistant AI, set Text to {{ $json.messages[0].text.body }} and keep Prompt Type as define.
  2. Open OpenAI Chat Engine and set Model to gpt-4o-mini, Max Tokens to 2000, and Temperature to 0.5.
  3. Ensure Conversation Memory Buffer uses Session Key {{ $('Message Type Filter').item.json.messages[0].from }} with Session ID Type customKey.
  4. Confirm Discount Calculator Tool and Append Reservation Log are connected as AI tools to Reservation Assistant AI.

Credential Required: Connect your OpenAI credentials in OpenAI Chat Engine, which serves as the language model for Reservation Assistant AI.

Credential Required: For AI tools like Conversation Memory Buffer, Append Reservation Log, and Discount Calculator Tool, add credentials via the parent Reservation Assistant AI setup (not on the tool nodes themselves).

Step 4: Configure Reservation Status Routing and WhatsApp Replies

Set up the messaging flows for confirmations, rejections, and AI-generated replies.

  1. Open Reservation Status Check and confirm the condition uses Left Value {{ $json.Status }} with Operation contains and Right Value Confirmed .
  2. Configure Rejection Filter to check Left Value {{ $json.Status }} contains Rejected.
  3. In Send Confirmation Notice, set Text Body to {{ $json['CustomerName '] }},Your reservation at {{ $json.Date }} is confirmed. Looking forward to meet you at your desired slot time {{ $json['Time slot '] }} and Recipient Phone Number to {{ $json.Phone.toString() }}.
  4. In Send Rejection Notice, set Text Body to {{ $json['CustomerName '] }}, We regret to inform you your reservation on {{ $json.Date }} at slot {{ $json['Time slot '] }} Is rejected please conider another slot time, Thank you and Recipient Phone Number to {{ $json.Phone.toString() }}.
  5. In Dispatch WhatsApp Reply, set Text Body to {{ $json.output }} and Recipient Phone Number to {{ $('Inbound WhatsApp Hook').item.json.messages[0].from }}.

Credential Required: Connect your WhatsApp credentials for Dispatch WhatsApp Reply, Send Confirmation Notice, and Send Rejection Notice.

Double-check that phoneNumberId is set to [YOUR_ID] in all WhatsApp send nodes to prevent delivery failures.

Step 5: Configure the Scheduled Status Check

Enable the scheduled job that polls Google Sheets for confirmed or rejected reservations and sends the appropriate WhatsApp notice.

  1. Open Timed Workflow Trigger and set a schedule interval that matches how often you want to notify customers.
  2. Ensure the execution path is Timed Workflow TriggerFetch Sheet RowsReservation Status CheckSend Confirmation Notice/Rejection Filter.
  3. Confirm that Send Confirmation Notice flows to Mark Notified Confirmed, and Send Rejection Notice flows to Mark Notified Rejected.

Step 6: Test and Activate Your Workflow

Validate both the inbound WhatsApp flow and the scheduled status check before going live.

  1. Click Execute Workflow and send a WhatsApp text message to trigger Inbound WhatsApp Hook. Confirm that Reservation Assistant AI produces a response and Dispatch WhatsApp Reply sends it.
  2. Manually run Timed Workflow Trigger to validate that Fetch Sheet Rows returns rows and Reservation Status Check routes to the correct notice.
  3. Check Google Sheets to confirm that Mark Notified Confirmed or Mark Notified Rejected updates the Notified column to Yes.
  4. When everything works, toggle the workflow to Active for production use.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Watch Out For

  • WhatsApp Business Cloud API credentials can expire or be missing the right permissions. If things break, check your Meta app settings and token validity first.
  • If you’re using Wait nodes or external scheduling (like reminders), processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
  • Default prompts in the OpenAI Chat Model are generic. Add your brand voice and booking rules early or you’ll be editing outputs forever.

Common Questions

How quickly can I implement this WhatsApp booking automation?

About 30 minutes if your WhatsApp and Google Sheets access is ready.

Can non-technical teams implement this booking automation?

Yes. No coding is required, but you do need to connect WhatsApp, Google Sheets, and your OpenAI key and then test with a few real booking messages.

Is n8n free to use for this WhatsApp booking automation workflow?

Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in OpenAI API usage, which is usually small for short messages.

Where can I host n8n to run this automation?

Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.

How do I adapt this WhatsApp booking automation solution to my specific challenges?

You can swap the storage layer by replacing the Google Sheets “Fetch Sheet Rows” and “Append Reservation Log” parts with Airtable, MySQL, or Postgres. Most teams also tweak the Reservation Assistant AI prompt to match house rules like seating limits, deposit wording, or how you handle late arrivals. If you want reminders, enable the scheduled trigger path and adjust the message timing to “24 hours before” or whatever fits your service style.

Why is my WhatsApp connection failing in this workflow?

Usually it’s an expired Meta/WhatsApp token or the wrong permissions on the WhatsApp Business app. Refresh the credentials in n8n, then send a test message from a real phone number (not a simulator) to confirm the webhook is receiving events. If the trigger fires but replies fail, check the HTTP/WhatsApp send step for template restrictions or missing phone number IDs.

What’s the capacity of this WhatsApp booking automation solution?

On self-hosted n8n, capacity is mostly your server and WhatsApp API limits.

Is this WhatsApp booking automation better than using Zapier or Make?

Often, yes, especially when you want branching logic like “confirm vs reject,” memory across a conversation, and custom checks against your availability table. n8n also gives you the option to self-host, which is handy when message volume spikes and you don’t want per-task pricing surprises. Another practical win is control: you can inspect and modify each step of the flow, including how the AI interprets messy messages. Zapier or Make can still be fine for very simple “message in, row added” setups. Talk to an automation expert if you’re not sure which fits.

Once this is running, confirmations stop being a scramble and start being a system. The workflow handles the repetitive parts, and your team stays focused on service.

Need Help Setting This Up?

Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.

Lisa Granqvist

Workflow Automation Expert

Expert in workflow automation and no-code tools.

×

Use template

Get instant access to this n8n workflow Json file

💬
Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Launch login modal Launch register modal