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.

  1. 01

    Conversation Design

    Mapped 14 conversation paths, designed fallback handling, defined escalation triggers.

    ✓ Complete
  2. 02

    Bot Engine

    State machine for conversation flow, NLP for intent detection, session management with Redis.

    ✓ Complete
  3. 03

    Calendar Integration

    Real-time slot availability from Google Calendar, conflict detection, timezone handling.

    ✓ Complete
  4. 04

    Reminders & Analytics

    Automated 24h and 1h reminders, no-show tracking, booking analytics dashboard.

    ✓ Complete

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.