WhatsApp chatbot template: appointment booking
The flow that pays for itself fastest, because every booking it takes is a phone call your front desk did not answer. It checks real availability rather than offering slots you cannot staff.
The goal
Take a booking end to end, without a person, and without ever double-booking.
The flow, node by node
- Send message
Greet and set expectations
Hi! I can book, move or cancel an appointment for you. What would you like to do?
नमस्ते! मैं आपका अपॉइंटमेंट बुक, बदल या रद्द कर सकता हूँ। आप क्या करना चाहेंगे?
- Buttons
Book / Reschedule / Talk to someone
Three quick replies. The third one exists so nobody is trapped in the flow.
- Ask a question
Which service?
Which service do you need? Reply with the number from the list.
आपको कौन सी सेवा चाहिए? सूची से नंबर भेजें।
- List menu
Service menu
A list message beats free text here — a tapped option returns a known value the flow can branch on.
- HTTP request
Check calendar availability
Calls Google Calendar through your own Apps Script deployment and returns the slots that respect your buffers and notice period.
- Buttons
Offer three real slots
Never offer a time you cannot staff. Three is enough; ten shifts the decision cost onto the customer.
- Set attribute
Write service and slot to the contact
So the confirmation template and any later reminder can use them.
- Send template
Send the confirmation
A utility template — it is about a booking they just made, so it is the cheap category.
- Hand off to a human
Anything unexpected goes to reception
Triggered by the third button, by an unparseable answer, or by a request the flow has no branch for.
Where this usually goes wrong
- Offering slots without checking the calendar. The flow looks great in a demo and double-books on day one.
- No cancellation path. People who cannot cancel in the flow simply do not turn up.
Read next