🔓 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 logged automatically

Lisa Granqvist Partner Workflow Automation Expert

Booking requests land in WhatsApp, then get buried under new messages, voice notes, and “one quick question” follow-ups. You scroll. You guess. And sooner or later, you miss someone, or you write the appointment down twice.

Salon owners feel it first because it hits revenue. Front-desk staff deal with the chaos minute-to-minute. And for a marketing manager trying to run promos, a clean WhatsApp booking log is the difference between “busy” and “booked correctly.”

This workflow turns WhatsApp chats into structured bookings in Google Sheets, then replies to the customer automatically. You’ll see what it fixes, what you need to run it, and how the flow behaves in real life.

How This Automation Works

See how this solves the problem:

n8n Workflow Template: WhatsApp + Google Sheets, bookings logged automatically

The Challenge: WhatsApp Bookings Turn Into Guesswork

WhatsApp is where your customers actually message, so that’s where bookings happen. But WhatsApp is not a booking system. It doesn’t enforce date formats, it doesn’t stop overlaps, and it definitely doesn’t build a clean record you can trust when things get busy. One customer asks for “tomorrow afternoon,” another wants “same as last time,” and now your team is playing detective across old threads while someone else is waiting at reception. It’s exhausting, and honestly it’s avoidable.

It adds up fast. Here’s where it breaks down once you’re handling more than a few requests a day.

  • Messages get missed because booking details are scattered across chat history and follow-ups.
  • Staff rewrite the same information into notes, calendars, and spreadsheets, which invites typos.
  • Double bookings happen when “availability” lives in someone’s head or in yesterday’s paper diary.
  • Returning clients expect you to remember preferences, but those details are rarely captured consistently.

The Fix: WhatsApp Booking Requests Logged to Google Sheets Automatically

This n8n workflow connects your WhatsApp number (via Twilio) to an AI-powered booking assistant that understands messages, checks your salon data in Google Sheets, and writes confirmed bookings back into a single, reliable log. A customer texts “Can I book gel nails Friday at 3?” and the assistant pulls service options, opening hours, stylist profiles, and availability from your sheet. It then asks only for the missing pieces (name, stylist preference, contact details) and keeps context across the conversation so it doesn’t repeat itself. Once the booking is confirmed, the workflow appends the appointment to Google Sheets and sends a confirmation message right back on WhatsApp. Changes and cancellations are handled too, because the workflow can look up an existing booking by phone number and update the record.

The workflow starts when Twilio receives a WhatsApp message and triggers n8n. From there, the AI agent uses memory plus your Google Sheets “source of truth” to recommend, book, or modify appointments. Finally, Twilio sends the response to the customer so the whole experience stays inside WhatsApp.

What Changes: Before vs. After

Real-World Impact

Say you receive 15 booking-related WhatsApp messages in a day. Manually, it’s usually about 10 minutes each to clarify details, check services, confirm a time, and then log it into a sheet, so you lose roughly 2–3 hours daily. With this workflow, staff mainly steps in for edge cases: maybe 1 minute to glance at the Google Sheet log and spot-check anything unusual. The rest runs automatically, which means your “WhatsApp admin time” drops to something you barely notice.

Requirements

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Twilio to receive and send WhatsApp messages.
  • Google Sheets to store services, staff, and bookings.
  • OpenAI API key (get it from your OpenAI dashboard’s API keys page).

Skill level: Intermediate. You’ll connect Twilio webhooks, set up a Google Sheet structure, and paste API keys into n8n.

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

The Workflow Flow

WhatsApp message arrives via Twilio. When a customer messages your salon’s WhatsApp number, Twilio triggers the workflow through an incoming webhook.

Conversation stays consistent across sessions. A session memory buffer keeps context (like preferred stylist, typical service, or the fact they’re rescheduling) so the assistant doesn’t start from zero every time.

AI interprets the request and checks your Google Sheets data. The agent uses an OpenAI chat model to extract details, then looks up services, opening hours, stylist profiles, and booking records in the relevant Google Sheets tabs.

Bookings are written or updated, then the customer gets a clear reply. If it’s a new appointment, it appends a fresh row to your booking log. If it’s a change or cancellation, it finds the right record by phone number and modifies it. Either way, Twilio sends the confirmation or next question back through WhatsApp.

You can easily modify which fields get stored (for example, service duration or deposit status) to match how your salon runs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Webhook Trigger

Set up the inbound WhatsApp trigger so your workflow starts when Twilio receives a message.

  1. Add the Incoming Twilio Webhook node as the trigger for the workflow.
  2. Open Incoming Twilio Webhook and keep Updates set to com.twilio.messaging.inbound-message.received.
  3. Credential Required: Connect your twilioApi credentials in Incoming Twilio Webhook.
  4. Copy the Webhook URL from the node and paste it into your Twilio WhatsApp webhook configuration.

Tip: If Twilio doesn’t receive inbound messages, confirm the webhook URL matches the one generated by Incoming Twilio Webhook and that the Twilio WhatsApp sandbox or production number is properly configured.

Step 2: Connect Google Sheets Data Sources

These Google Sheets tools provide services, stylists, availability, and booking storage for the AI concierge.

  1. Open each Google Sheets tool node and set the correct Document and Sheet values for your salon data.
  2. In Append Booking Records, set Document to [YOUR_ID] and Sheet to Sheet1. Keep Operation set to append.
  3. In Modify Booking Entry, set Document to [YOUR_ID], Sheet to Order Booking, and keep Operation set to update. Ensure Matching Columns includes Phone.
  4. In Lookup Booking Details, set the filter Lookup Column to Phone and Lookup Value to {{ /*n8n-auto-generated-fromAI-override*/ $fromAI('values0_Value', ``, 'string') }}.
  5. In Retrieve Salon Services, Fetch Opening Hours, Recommend Stylist Sheet, and Get Stylist Profiles, confirm the Sheet values match your workbook (e.g., Services, openingHour, SuggestStylist, PerticullerStylistsDetails).
  6. Credential Required: Connect your googleSheetsOAuth2Api credentials to all Google Sheets tools. These credentials are configured on the tool nodes but are used by the AI agent when it calls them.

⚠️ Common Pitfall: Leaving Document as [YOUR_ID] will cause all Google Sheets calls to fail. Replace it with your real Google Sheets document ID in every Google Sheets tool node.

Step 3: Set Up the AI Agent and Memory

Configure the AI agent to orchestrate the conversation and connect the language model and memory.

  1. Open Conversational Orchestrator and review the prompt in Text. Keep the dynamic references such as {{$now.day}}, {{$now}}, {{ $json.data.from }}, and {{ $json.data.body }}.
  2. Open Session Memory Buffer and set Session Key to {{ $json.data.from }}, Session ID Type to customKey, and Context Window Length to 10.
  3. Open OpenAI Dialogue Model and confirm the Model is set to gpt-4.1-mini.
  4. Credential Required: Connect your openAiApi credentials in OpenAI Dialogue Model.
  5. Ensure OpenAI Dialogue Model is connected as the language model to Conversational Orchestrator, and Session Memory Buffer is attached as memory. Add credentials to the parent model node, not the memory tool.

Tip: Because the Google Sheets tools are attached as AI tools to Conversational Orchestrator, the agent will call them automatically based on user intent. Keep the tool names unchanged so the prompt logic stays valid.

Step 4: Configure the WhatsApp Reply Output

Send the AI response back to the user through Twilio WhatsApp.

  1. Open Dispatch WhatsApp Reply and confirm To is set to {{ $('Incoming Twilio Webhook').item.json.data.from.split("+")[1] }}.
  2. Set From to {{ $('Incoming Twilio Webhook').item.json.data.to.split("+")[1] }} so replies originate from your Twilio WhatsApp number.
  3. Set Message to {{ $json.output }} to send the AI response.
  4. Enable To WhatsApp by keeping toWhatsapp set to true.
  5. Credential Required: Connect your twilioApi credentials in Dispatch WhatsApp Reply.

⚠️ Common Pitfall: If you get empty replies, verify the agent outputs data in the output property, which is used by Dispatch WhatsApp Reply in {{ $json.output }}.

Step 5: Test and Activate Your Workflow

Validate the end-to-end flow and then enable the workflow for live use.

  1. In n8n, click Execute Workflow and send a WhatsApp message to your Twilio number to trigger Incoming Twilio Webhook.
  2. Confirm Conversational Orchestrator runs and the response appears in Dispatch WhatsApp Reply.
  3. Verify that Google Sheets updates occur when booking or modifying appointments (e.g., new rows in the booking sheet or updates by phone).
  4. When the flow is correct, toggle the workflow to Active to run in production.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Watch Out For

  • Twilio credentials and WhatsApp send permissions can be finicky. If replies stop sending, check your Twilio Console messaging logs and WhatsApp sender status first.
  • If your Google Sheet columns change names or order, lookups and updates can silently write to the wrong place. Lock your header row and treat it like an API contract.
  • Memory is powerful, but it can “remember” the wrong thing if your prompt is vague. Tighten the booking questions early, or you will be correcting appointments later.

Common Questions

How quickly can I implement this WhatsApp booking log automation?

If your Twilio WhatsApp number and Google Sheet are ready, you can usually get it running in about an hour.

Can non-technical teams implement this booking log automation?

Yes, but you will want one “techy” person for the Twilio webhook setup. Day-to-day usage is simple because it all happens in WhatsApp and Google Sheets.

Is n8n free to use for this WhatsApp booking log 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 (often a few dollars a month for many small salons) plus Twilio messaging costs.

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 log solution to my specific challenges?

You can adjust what the AI collects and what gets written to Google Sheets by updating the AI Agent instructions and the “Append Booking Records” mapping. Common tweaks include adding service duration, recording deposits, storing preferred staff member, and enforcing “no bookings outside opening hours” using the opening-hours sheet lookup.

Why is my Twilio connection failing in this workflow?

Most of the time it’s an authentication or WhatsApp sender issue inside Twilio, not n8n. Check the Twilio Console logs for the specific error message, then confirm your webhook URL is reachable and your Twilio credentials in n8n match the account that owns the WhatsApp number. If messages come in but replies fail, it can also be a template or permission problem depending on your Twilio WhatsApp setup.

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

On n8n Cloud Starter, you can typically handle thousands of messages a month if the workflow is lightweight, and higher plans go further. If you self-host, there’s no execution cap, but you’re limited by your server and API rate limits. Practically, this workflow can handle many conversations at once because each chat is mostly text plus a few Google Sheets reads and writes. If you start getting spikes from campaigns, add queueing or throttle message processing to keep responses stable.

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

Often, yes. This flow relies on an AI agent plus session memory, and n8n handles that kind of logic without turning every “if this, then that” into a pricing problem. You also get a self-hosting option, which matters when message volume climbs. Zapier or Make can be fine for simple “WhatsApp to Sheets” logging, but they get awkward when you need context-aware conversations and booking modifications. If you’re unsure, Talk to an automation expert and describe your booking process as it exists today.

Once this is live, WhatsApp stays the same for your customers, but your team finally gets a booking log they can trust. Set it up, test it for a day, and you’ll wonder why you waited.

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