WhatsApp bookings, checked against your calendar
When a booking starts on WhatsApp, this self-hosted n8n template checks Google Calendar and sends unclear requests to Slack. I checked booking and cancellation using sample messages and simulated services.
Buy the pack The pack, $5
The question
this build answers
How do I let customers book and cancel appointments over WhatsApp, checked against my calendar, and let staff take over a chat when they need to?
From the first trigger
to the finished job.
The working version, step by step.
Work out what they want
The workflow uses OpenAI to identify a booking, a cancellation or a question and look for a requested date. When the model cannot classify a message, the workflow flags it for staff.
Read your clinic's settings
I look up the WhatsApp number in a Google Sheet row that holds your calendar, opening hours, timezone and Slack channel.
Check the diary, then check it again
I set the workflow to look for the nearest opening and check the diary again before writing the event. If the requested time is busy, the workflow can book a different slot.
Read the booking back before confirming it
After creating a new event, the workflow reads it back from Google Calendar and saves a booking record before sending a confirmation.
Cancel against the real event
A cancellation looks up the most recently saved booking for that phone number and site. The workflow confirms the cancellation after updating the calendar and the booking record.
Let staff take over, then hand it back
The workflow has Slack commands to pause and resume automated replies. Staff reply from their usual WhatsApp inbox. Test both commands on your own accounts before relying on them.
Send anything unclear to a person
A question, or a message the model couldn't classify, lands in Slack with the customer's message, the reason and a suggested next step, and a person replies. The bot never answers a question itself.
The pack, $5
Book and cancel WhatsApp appointments, with staff takeover from Slack
Your Stripe receipt links to a ZIP with the self-hosted n8n workflow, setup guide, sample settings sheet and canvas preview. Connect your own accounts and run a booking test before turning on the workflow.
Buy the packWho this is for
I built this for salons and clinics, and for any small service business that takes appointments and answers WhatsApp on a phone between customers. The shop I had in mind loses a booking when the message comes in while someone's with a client and gets answered an hour later, by which time the slot's gone to whoever replied first somewhere else.
Where it can still go wrong
Two requests can still pass the second calendar check at the same time. Start with one site and one active booking per contact, since a cancellation acts on the most recently saved booking.
Reminders ship switched off and I have not verified delivery. The reminder branch sends plain text. WhatsApp requires an approved message template outside its 24-hour customer service window.
What to connect and test
Connect WhatsApp Business Cloud, Google Calendar and Sheets, Slack and OpenAI inside your n8n. Enter credentials in the n8n credential screen and keep medical information out of booking messages.
Before turning the workflow on, send a test booking and cancellation through your own WhatsApp number. My tests used sample messages and simulated responses from WhatsApp, OpenAI, Google and Slack, including the route that flags unclear messages for staff.
What it costs to run
You pay for hosting and any provider usage on your own accounts, including OpenAI and WhatsApp Business Cloud.
Before you spend anything
The fit matters.
Who should not build this
If a genuinely double-booked slot would be a serious problem rather than an annoyance, you need real calendar locking with a proper reservation step. This workflow checks the calendar again right before booking, but it does not lock the slot, so two requests at the same moment can still book it.
If your WhatsApp Business account isn't approved for the message types you'd want to send automatically, confirmations may need to go out as approved templates, and that's a different build.
Use self-hosted n8n for the supplied ZIP. Ask about compatibility before buying if you use n8n Cloud, or send a brief if you want help installing it on your accounts.
Yours to keep
What lands
on your desk.
- The n8n workflow to import into your own self-hosted n8n, on your own WhatsApp Business number and Google Calendar
- A setup guide for creating the two required n8n Data Tables
- Slack steps for connecting alerts and staff commands to your own channel
- A clinics-sample.csv for your clinic's calendar, WhatsApp number, hours, timezone and Slack channel
- A preview.png of the canvas
See the work
Open the proof.
Published case studies of running systems. Each links to the thing itself.
A few useful
answers.
Can two customers book the same slot?
They can. The workflow checks the calendar once to find a free slot and checks it again right before booking, but that is not a lock, so two requests at the same moment can still both get through. The README says the same.
Does it confirm a booking before it exists?
New bookings are read back from Google Calendar before confirmation. A repeat request can rely on the saved booking record.
Does the bot answer customer questions?
No. A question, or a message it can't classify, goes to Slack with the customer's message, the reason and a suggested next step, and a person replies.
Do reminders go out automatically?
The reminder switch ships off. I have not verified reminder delivery, and an out-of-window reminder requires an approved WhatsApp message template.
Can it run more than one clinic?
I have not tested it across several clinics, so I sell it for one clinic's calendar.
Can staff take over a chat?
The workflow includes Slack commands for takeover and resume. I have yet to verify those commands on real accounts. Staff still reply through their own WhatsApp inbox.
Can it move a booking to another time?
The sample runs covered cancellation and new booking with simulated services. Moving an existing booking needs a separate test of the real calendar and booking record.
Does it run on n8n Cloud?
Use the ZIP on self-hosted n8n, the environment I used for the sample runs. Ask before ordering if you use n8n Cloud or want a hands-on setup.
Hands-on setup
Your tools.
Your working version.
I can install and configure this in your existing n8n, connect the accounts you own and test it with you. The setup quote covers the agreed workflow and the work needed to hand it over ready to use.
The download price covers the files. Your setup quote sets the scope and delivery time, with at least 14 days of in-scope fixes and small tweaks after handover.
Get a setup quote


