Bot · 3 weeks · 2025
WhatsApp Booking Bot for Clinics
Patients book appointments and get reminders — all inside WhatsApp.
70%
Fewer booking calls
0
Double bookings
24/7
Booking availability
2min
Avg booking time
The challenge.
A multi-location clinic was drowning in phone calls for appointment booking. Receptionists spent 60% of their time on the phone, patients waited on hold, and double-bookings happened weekly. The clinic wanted a self-service booking system, but their patient demographic preferred WhatsApp over apps or websites.
The solution.
I built a conversational WhatsApp bot using the WhatsApp Cloud API that handles the entire booking flow: patients select their clinic location, choose a service, pick an available time slot, and confirm — all through natural chat. The bot integrates with the clinic's existing calendar system, sends automated reminders, and escalates complex requests to a human receptionist.
How it was delivered.
- 01✓ Complete
Conversation Design
Mapped 14 conversation paths, designed fallback handling, defined escalation triggers.
- 02✓ Complete
Bot Engine
State machine for conversation flow, NLP for intent detection, session management with Redis.
- 03✓ Complete
Calendar Integration
Real-time slot availability from Google Calendar, conflict detection, timezone handling.
- 04✓ Complete
Reminders & Analytics
Automated 24h and 1h reminders, no-show tracking, booking analytics dashboard.
Behind the build.
The conversation design phase was where this project lived or died. A bot that feels robotic drives patients away; one that feels too casual undermines clinical trust. I spent two days mapping every possible conversation path and crafting responses that were professional but warm.
The state machine architecture handles the core flow: location → service → date → time → confirm. But the real complexity is in edge cases: what happens when all slots are full? When a patient asks a medical question? When they type 'cancel' mid-booking? Each edge case got its own handler with a graceful fallback to human escalation.
Redis-backed session management means the bot remembers where each patient is in the flow, even if they come back hours later. 'Hi, you were booking a dental checkup at our Marina clinic — would you like to continue?' That continuity drives completion rates above 85%.
The analytics dashboard shows booking patterns by hour, day, and service type — giving the clinic data they never had from phone-based booking. They've since adjusted staffing based on peak booking times the bot surfaced.
Built with
- Node.js
- WhatsApp Cloud API
- PostgreSQL
- Redis
- Google Calendar API
- Docker
Next case study
Building a Full CRM from Scratch
Let’s build it.
Tell me what you need built. You’ll hear back in under 24 hours.