Clinic Appointment Booking Automation with ChatSyncs — Implementation Guide
Step-by-step implementation guide for building a WhatsApp clinic appointment booking automation in ChatSyncs — a welcome menu with Reply Buttons, a WhatsApp Flow booking form, Custom Fields mapping, and syncing every submission to Google Sheets and staff email.
On this page
- Prerequisites
- Implementation Guide
- Step 1 — Send a welcome menu with Reply Buttons
- Step 2 — Connect "Book Appointment" to a WhatsApp Flow
- Step 3 — Configure the WhatsApp Flow's form and messages
- Step 4 — Map form fields to Custom Fields
- Step 5 — Sync the submission to Google Sheet and notify staff by email
- Step 6 — Send the confirmation message
- Features Used
- Expected Result
- FAQs
- Related Documentation
Prerequisites#
- Read How to Create a Keyword-Based WhatsApp Chatbot first to understand the flow builder these blocks connect through.
- Read WhatsApp Flows first to understand the in-chat form feature itself — this guide only covers what's specific to this project.
- A WhatsApp number connected to ChatSyncs.
- The appointment fields decided in advance — Patient Name, Mobile Number, Department, Preferred Doctor, Appointment Date, Preferred Time, and any Additional Notes.

Implementation Guide#
Step 1 — Send a welcome menu with Reply Buttons#
Objective: Greet the patient and offer a menu of options, one of which starts the booking.
Explanation: An Interactive Message can carry a welcome body and several Reply Buttons in one message, so the patient sees all their options immediately.
Actions to perform:
- Trigger the flow on a keyword (e.g. "hi").
- Send an Interactive Message with body text like "Welcome to ABC Multispeciality Clinic. How can we assist you today?".
- Add Reply Buttons for Book Appointment, Doctor Availability, Clinic Location, and Contact Reception.

Expected result: Messaging the trigger keyword returns the welcome message with all menu buttons visible.
Notes: Reply Buttons are capped at 3 per message — if a 4th option like "Contact Reception" is needed, either split it into a second Interactive Message or use a List Message instead.
Step 2 — Connect "Book Appointment" to a WhatsApp Flow#
Objective: Launch the structured booking form when the patient taps Book Appointment.
Explanation: Instead of the bot asking each question one message at a time, the Book Appointment button connects directly to a WhatsApp Flow block, which opens the entire form at once.
Actions to perform:
- Connect the Book Appointment Reply Button's Next output to a WhatsApp Flows block.

Expected result: Tapping Book Appointment opens the connected WhatsApp Flow instead of another chat message.
Notes: Only the Book Appointment button needs this connection — the other menu buttons (Doctor Availability, Clinic Location) lead to their own separate replies, not this Flow.
Step 3 — Configure the WhatsApp Flow's form and messages#
Objective: Build the actual appointment form the patient fills in.
Explanation: The WhatsApp Flows block's settings define which Flow is used and the message text shown before the form opens.
Actions to perform:
- Select the Flow (e.g. Patient booking).
- Set the Message Header and Message Body to introduce the form — e.g. inviting the patient to choose a preferred date, time, and provide their details.
- Set the Footer text (e.g. reassuring the patient it only takes a minute).
- Add the form fields: Patient Name, Mobile Number, Department, Preferred Doctor, Appointment Date, Preferred Time, Additional Notes.
![WhatsApp Flow builder showing Flow Name (Patient booking), Reply Sent After Form Submit (Booking appointment), Select HTTP API, WhatsApp Flow Data in Google Sheet connected to Customer Details [Sheet1], and the Booking appointment form with Full name, Contact no, Email ID, and Date Field](/images/learn/whatsapp-flows-use-case-clinic-appointment/step-03-flow-form-builder.png)
Expected result: The patient sees the introductory message, then the in-chat form asking for Full name, Contact no, Email ID, and Date Field — and the Flow builder itself shows the connected Google Sheet (e.g. Customer Details [Sheet1]) where every submission will be synced.
Notes: Keep the header/body short — the form itself is where the detail collection happens. The exact fields configured here should match what's actually in the form; adjust the list in Actions to perform if the real Flow collects different or additional details.
Step 4 — Map form fields to Custom Fields#
Objective: Store every answer so it can be used in confirmations, reports, or integrations.
Explanation: Each form field needs a place to be saved — Custom Fields are what make the submitted data usable afterward instead of disappearing into the chat log.
Actions to perform:
Map each form field to a Custom Field:
Custom Field Purpose patient_name Store patient's name patient_phone Store contact number department Selected department doctor Selected doctor appointment_date Requested appointment date appointment_time Requested appointment time notes Additional patient notes
Expected result: After a patient submits the form, all 7 values appear as Custom Fields on their subscriber record — see Subscriber Manager.
Notes: Use clear, consistent field names (patient_name, not name1) — they'll be reused
in the confirmation message and any Google Sheet or email integration.
Step 5 — Sync the submission to Google Sheet and notify staff by email#
Objective: Get the booking out of ChatSyncs and in front of the reception team the moment it's submitted, instead of someone having to check the chat.
Explanation: While building the form itself, the same Custom Fields captured in Step 4 can be pushed straight out through a Google Sheet Integration and an Email Integration — no separate project needed, it's just two more blocks on the same flow.
Actions to perform:
- Add a Google Sheet Integration block right after the WhatsApp Flow submission, and map each Custom Field to a sheet column: Patient, Phone, Department, Doctor, Date, Time, Status (see How to Connect Google to ChatSyncs).
- Add an Email Integration block on the same path, so the relevant department's inbox gets notified with the patient's details the moment the form is submitted (see Email Integration).
Expected result: Every submitted appointment appears as a new row in the clinic's Google Sheet, and staff receive an email the moment it comes in — both before the patient even sees the confirmation message.
Notes: Both blocks read from the same Custom Fields mapped in Step 4 — if a field is missing there, it will be blank in the sheet and the email too.
Step 6 — Send the confirmation message#
Objective: Let the patient know their request was received.
Explanation: A brief confirmation closes the loop for the patient while the reception team reviews the request on their end.
Actions to perform:
- After the Flow submission, send a Text Message:
✅ Thank you!
Your appointment request has been submitted successfully.
Our reception team will review your request and contact you shortly to confirm your appointment.Expected result: The patient receives this message immediately after submitting the form, and the reception team can now review the booking using the stored Custom Fields.
Notes: This message only confirms the request was received — the actual appointment is still confirmed by reception staff afterward.
Features Used#
| Feature | Purpose | Documentation |
|---|---|---|
| Keyword Replies | Runs the welcome menu and the whole flow | How to Create a Keyword-Based WhatsApp Chatbot |
| Reply Buttons | Menu options (Book Appointment, Doctor Availability, Clinic Location) | Keyword Replies |
| WhatsApp Flows | The structured, multi-field appointment form | WhatsApp Flows |
| Custom Fields | Stores each submitted answer | Subscriber Manager |
| Google Sheet Integration | Syncs every appointment to a spreadsheet the front desk uses | How to Connect Google to ChatSyncs |
| Email Integration | Notifies staff the moment a booking comes in | Email Integration |
Optional integrations, if extending this project further:
| Feature | Purpose | Documentation |
|---|---|---|
| HTTP API | Connect to an external hospital management system | HTTP API |
| AI Agent | Answer common questions (timings, fees, insurance) before or after booking | AI Agent |
| Sequence | Send appointment reminders or follow-ups | How to Build Automatic Follow-Up Chatbots on WhatsApp in ChatSyncs |
Expected Result#
- Patients can book an appointment at any hour without waiting for a reply.
- Every booking captures the same complete set of fields — no missing information.
- Reception staff review structured, consistent booking requests instead of scattered chat messages.
- The process scales the same way during peak hours as it does during quiet ones.
FAQs#
Why use a WhatsApp Flow instead of just asking questions with Reply Buttons?
Reply Buttons work well for 2-3 choices, but a WhatsApp Flow collects all 7 fields — name, phone, department, doctor, date, time, notes — in one screen instead of one message per question, which is faster and avoids a long back-and-forth.
What happens to the information the patient submits?
Each field is stored as a Custom Field on the subscriber — see Step 4 above — ready to use in confirmations, reports, or synced out to a Google Sheet or email notification.
Can this notify staff automatically instead of them checking ChatSyncs?
Yes — this project already does, via the Email Integration and Google Sheet Integration built in Step 5. For a deeper integration, an HTTP API call can also push the booking into an external hospital management system — see the Optional integrations table above.
Can an AI Agent answer questions before or after booking?
Yes — an AI Agent can handle common questions like clinic timings, doctor availability, consultation fees, accepted insurance, required documents, or parking, and hand off to a human receptionist if the patient needs more help.
Can this same setup work for a business that isn't a clinic?
Yes — any business that collects a small, fixed set of details before a booking (a salon, a gym, a real estate agency) can use the same welcome-menu → WhatsApp Flow → Custom Fields pattern, just with different fields.
Related Documentation#
- How to Create a Keyword-Based WhatsApp Chatbot
- WhatsApp Flows
- Subscriber Manager
- How to Connect Google to ChatSyncs
- AI Agent
Start over from the beginning of this use case.
Was this page helpful?
Still stuck? Open a support ticket and our team will help.