WhatsApp AI Receptionist with Live Booking
Qualifies an enquiry on WhatsApp, checks live availability, books a slot and hands off to a person with full context.
Overview
A WhatsApp receptionist I built for Mustaraka Properties, one of my own ventures, to book property viewings. The same pattern (qualify, check availability, book, hand off) maps directly to appointment requests at a clinic.
Problem
Enquiries arrive from ads and messaging at all hours, and each needs the same questions asked before a person can act.
Existing process
Staff reply manually, ask qualifying questions one at a time, check a calendar and write notes by hand.
Workflow
- 01
WhatsApp enquiry
- 02
AI qualification
- 03
Live availability
- 04
Booking
- 05
Human handoff
Architecture
Channel
WhatsApp conversation entering an n8n workflow.
AI agent
Language model (gpt-4o-mini via OpenRouter) with tools to save lead fields, score and qualify, and hand off to a person.
Booking API
A booking service exposes availability and booking endpoints, protected with a shared secret.
Data
PostgreSQL stores leads, messages, slots and bookings. A unique constraint on the slot prevents double-booking.
Human
The agent hands off with the conversation context when a person is needed, for example price negotiation.
Workflow steps
- A prospect messages on WhatsApp.
- The agent collects qualifying details and saves them as structured fields.
- It requests real availability from the booking API and offers slots.
- It books the chosen slot through the API, which rejects a slot that is already taken.
- On request for something outside its scope, it hands off to a human advisor with the full context.
Technology stack
- n8n
- OpenRouter (gpt-4o-mini)
- Next.js API routes
- PostgreSQL
- Prisma
Key engineering decisions
- Time zones are handled in the API, which returns pre-formatted local times, so the model does no time-zone arithmetic.
- Availability and booking are tools backed by the database, so the model cannot invent a slot.
- Scoring and hand-off are explicit tools, which keeps the decision points visible.
Reliability and safety decisions
- Double-booking is prevented by a database unique constraint.
- The booking API requires a Bearer secret; secrets are held in credentials, not in workflow files.
- Human handoff with context rather than the AI improvising on out-of-scope requests.
Testing approach
- The booking flow was tested end to end over a live WhatsApp conversation.
Outcome and limitations
Outcome: Live on my own venture, with the booking flow verified end to end over WhatsApp. No performance metrics are published.
Limitations: Built for real estate, not a clinic. A healthcare version would use clinic-approved content, clinic scheduling rules, and a review of privacy and consent requirements first.
Have a similar workflow?
Tell me how your team handles it today and we can see whether automation is a practical fit.
Siddique Hossain