Clinic front-desk assistant
Answers patients on WhatsApp, books the slot, takes the fee and sends the reminder. For: Clinics, dentists, physios.
The problem
Half the front desk's day goes on "are you open?", "is the doctor in?" and rebooking missed visits. Empty slots cost money, and fees are collected by hand.
How it works
Built from: whatsapp, gcalendar, razorpay, claude.
- whatsapp: Talks to patients where they already are
- gcalendar: Holds each doctor's real availability
- razorpay: Payment links and receipts
- claude: Understands the question and writes the reply
flowchart LR
C(["Your customer"]) <-->|"asks, pays, gets updates"| APP["Your app<br/>Patient app or WhatsApp mini-flow: book, reschedule, pay, see past visits"]
APP --> L{{"Your logic<br/>the rules that are yours"}}
subgraph EX["Apps that already exist: APIs and MCP servers"]
A0["WhatsApp<br/>Talks to patients where they already are"]
A1["Google Calendar<br/>Holds each doctor's real availability"]
A2["Razorpay<br/>Payment links and receipts"]
A3["Claude (AI)<br/>Understands the question and writes the reply"]
end
L --> A0
L --> A1
L --> A2
L --> A3
L --> DB[("What it keeps<br/>Patients and contact consent, Appointments and status, Payments and receipts")]
L --> OWN["Admin dashboard<br/>Front-desk dashboard: schedule, no-shows, collections"]
classDef yours fill:#1691D6,stroke:#0a5f95,color:#fff
classDef ext fill:#E6F3FB,stroke:#1691D6,color:#12112E
class APP,L,DB,OWN yours
class A0,A1,A2,A3,A4 extThe logic
- When patient asks for an appointment: Check the doctor's calendar and offer the next three free slots
- When patient picks a slot: Hold it for 10 minutes and send a payment link
- When payment succeeds: Confirm the slot, add it to the calendar and send directions
- When 24 hours and 2 hours before: Send a reminder with confirm or reschedule buttons
- When patient does not confirm: Release the slot to the waiting list and tell the desk
flowchart LR
subgraph R0["Rule 1"]
direction TB
W0{{"When: Patient asks for an appointment"}} --> T0["Then: Check the doctor's calendar and offer the next three free slots"]
end
subgraph R1["Rule 2"]
direction TB
W1{{"When: Patient picks a slot"}} --> T1["Then: Hold it for 10 minutes and send a payment link"]
end
subgraph R2["Rule 3"]
direction TB
W2{{"When: Payment succeeds"}} --> T2["Then: Confirm the slot, add it to the calendar and send directions"]
end
subgraph R3["Rule 4"]
direction TB
W3{{"When: 24 hours and 2 hours before"}} --> T3["Then: Send a reminder with confirm or reschedule buttons"]
end
subgraph R4["Rule 5"]
direction TB
W4{{"When: Patient does not confirm"}} --> T4["Then: Release the slot to the waiting list and tell the desk"]
end
S(["Start"]) --> R0 --> R1 --> R2 --> R3 --> R4 --> E(["Done and logged"])
classDef when fill:#E6F3FB,stroke:#1691D6,color:#12112E
classDef then fill:#1691D6,stroke:#0a5f95,color:#fff
classDef end1 fill:#12112E,stroke:#12112E,color:#fff
class W0,W1,W2,W3,W4 when
class T0,T1,T2,T3,T4 then
class S,E end1What can be developed
- Mobile app: Patient app or WhatsApp mini-flow: book, reschedule, pay, see past visits; Doctor app: today's list, notes, mark visit done
- Website: Booking page for the clinic's own website; Patient portal for receipts and history
- Admin dashboard: Front-desk dashboard: schedule, no-shows, collections; Doctor and slot setup
- AI and automation: Answers common questions from the clinic's own information; Hands anything medical or unclear to a person
The money (illustrative example)
The customer pays ₹2999 per clinic, per month. API and hosting costs: WhatsApp conversations ₹400, AI answers ₹500, Hosting ₹150, together ₹1050. Net profit ₹1949.
sankey-beta Customer pays,WhatsApp conversations,400 Customer pays,AI answers,500 Customer pays,Hosting,150 Customer pays,Net profit,1949
Watch out for
- Medical advice must never be given by the assistant, only information and booking.
- Patient data is sensitive and needs consent and secure storage.