All workLive product

Case study Patient Acquisition System

The Patient Acquisition System We Built for a Private Clinic
Instagram, WhatsApp & Google into one booking engine

Two parallel acquisition funnels feeding one unified CRM — built for private practices where quality of care is strong but patient acquisition infrastructure hasn't caught up.

Private clinicPatient acquisitionWhatsApp automationInstagram botsStripeLocal SEO

Who this was built for

Quality of care was never the issue. Everything before the chair was.

A private clinic running on reputation and word of mouth quality of care was never the issue. The issue was everything that happened before a patient sat in the consultation chair. Enquiries coming in across three different channels with no unified system to handle them. A receptionist manually confirming bookings over WhatsApp. Patients searching at night and finding a competitor who let them book instantly.

This system was built for that clinic and applies directly to any private practice where the quality of care is strong but the patient acquisition infrastructure hasn't caught up. Dermatologists, dentists, cosmetic clinics, physiotherapists, psychologists, nutritionists, ENT specialists, and general practitioners running private practice all face the same problem. Patients don't wait. The first clinic that responds wins the booking.

Pain points we resolved

What was losing patients overnight

  • Patients enquiring on WhatsApp and Instagram at night with no response until the following morning already booked elsewhere by then
  • Receptionist spending 3 to 4 hours daily managing booking confirmations, payment follow-ups, and appointment reminders manually
  • No structured follow-up when a patient showed interest but didn't complete a booking
  • Instagram DMs handled conversationally with no qualification, no capture, and no conversion path
  • Payments collected at the clinic cancellations and no-shows meant lost slots with zero revenue recovered
  • No visibility into how many enquiries came in versus how many actually converted to paid consultations
  • Zero after-hours booking capability any patient searching outside office hours was a lost patient

System map · Funnels · Automations · CRM

Every enquiry routes into one booking engine.

Three inbound funnels, conversational qualification, live calendar booking, Stripe payment, and a CRM that overlooks the entire process — with automations running the handoffs.

What we built

Two parallel acquisition funnels. One unified CRM.

The doctor and receptionist manage one system. The patient gets a seamless experience regardless of where they started Google search, Instagram DM, or WhatsApp.

1

Local SEO foundation

Every page structured around how patients actually search service-specific pages, location targeting, schema markup for clinic name, address, specialisation, and operating hours. The clinic appears where patients are already looking.

2

Booking flow built into the website

Patient selects their service, chooses a date and time from live availability, and lands on a Stripe checkout to confirm the consultation. No phone call required. No WhatsApp message required. Booking confirmed, payment taken, slot reserved in under three minutes.

3

Automated confirmation and reminders

The moment payment clears, the patient receives a booking confirmation by email and WhatsApp. A reminder fires 24 hours before the appointment. No-show rate dropped from 40% to 10%.

4

Instagram DM bot

When a patient messages the clinic on Instagram, the bot responds immediately introduces the clinic, asks about their concern or the service they're looking for, captures their name and contact details, and qualifies their enquiry through a structured conversation. No rigid script the bot handles natural language and follows the patient's lead.

5

WhatsApp bot on the same logic

Patients who message on WhatsApp go through the same conversational qualification flow. Preferred appointment timing, nature of the concern, any relevant history. The bot collects everything a receptionist would ask without the receptionist being available.

6

Payment link to close the booking

Once the patient is qualified and a suitable slot is identified, the bot sends a direct Stripe payment link. Patient pays, consultation is confirmed, data flows into the CRM automatically. The entire journey from first DM to confirmed booking happens without a single human touchpoint.

The admin CRM

One view of every patient

Both funnels feed the same system. The doctor and receptionist never manage two platforms.

Unified patient database

Every patient from every channel website booking, Instagram bot, WhatsApp bot lives in one place. Source, contact details, service booked, payment status, appointment date, consultation notes.

Live booking calendar

Today's appointments, this week's schedule, upcoming availability all visible in one calendar view. Synced automatically as bookings come in from either funnel.

Drop-off tracking

Patients who started the booking journey but didn't complete payment are flagged automatically. The receptionist sees who dropped off, at what stage, and can follow up with one click.

Role-based access

Receptionist has operational access manages bookings, views patient details, handles follow-ups. Doctor has a clinical overview sees upcoming consultations, patient notes, and payment status without navigating the operational layer.

Payment and revenue visibility

Every confirmed booking carries a payment record. Cancellations, refunds, and failed payments are all visible in one place. The clinic always knows exactly what revenue is confirmed for the week ahead.

Real-time notifications

New booking confirmed, payment received, appointment cancelled, drop-off detected the receptionist and doctor are notified instantly, in-app and by email.

The automation layer

Five things that now happen without the receptionist being involved

Instant response, confirmation, reminders, payment, and drop-off alerts all running without manual follow-up.

Instant enquiry response

Instagram and WhatsApp bots respond within 60 seconds, 24 hours a day, 7 days a week. No lead goes cold overnight.

Booking confirmation

Payment clears, confirmation sent to patient automatically via email and WhatsApp within seconds.

Appointment reminders

24-hour reminder fires automatically for every upcoming consultation. No manual reminder calls.

Payment collection at booking

Stripe collects payment at the point of confirmation. No invoice to chase, no payment to collect at the clinic for pre-paid consultations.

Drop-off alerts

When a patient starts the journey and doesn't complete payment, the system flags it automatically so the receptionist can follow up within the hour rather than never.

Results

From overnight losses to an automated booking engine

Lead response dropped from 8–14 hours to under 60 seconds. Enquiry-to-booking conversion rose from ~15% to ~50%. No-shows fell from ~40% to ~10%. After-hours bookings now make up 35% of monthly volume. Receptionist booking admin time went from 3–4 hours a day to under 30 minutes.

<60s

Lead response time

~50%

Enquiry-to-booking conversion

35%

After-hours bookings

Before & after

What changed for the clinic

MetricBeforeAfter
Lead response time8–14 hoursUnder 60 seconds
Enquiry-to-booking conversion~15%~50%
No-show rate~40%~10%
After-hours bookings captured0%35% of total monthly bookings
Receptionist booking admin time3–4 hours/dayUnder 30 minutes
Payment chasing time2–3 hours/weekZero
Cross-channel patient visibilityScatteredSingle CRM view

Built on

Quiet infrastructure, clear product

A stack chosen for local SEO, secure patient data, payments at booking, conversational bots across channels, and full funnel visibility.

Next.js

SEO-optimised, fast-loading clinic website built to rank for local search

Supabase

Patient records, booking data, and role-based access in one secure backend

Stripe

Consultation payments and access confirmation at the point of booking

Instagram & WhatsApp API

Conversational bots handling qualification and payment routing across both channels

GA4 + Clarity

Full funnel visibility traffic sources, drop-off points, conversion rates by channel

In their words

What the client said

We were losing patients every night to clinics that could confirm a booking instantly. Now we capture those patients automatically the bot qualifies them, takes payment, and by the time I arrive in the morning the day is already booked.

Private Clinic, Specialist Practice

Running a clinic or private practice?

We've built this system before. We can have yours live in 4 weeks.

Start the conversation →

forgex.systems