Guide · 9 min read

How to Automate WhatsApp Appointment Booking

Most missed bookings aren't lost to price — they're lost to a slow reply. This guide shows how to set up an AI receptionist on WhatsApp that checks your real calendar availability, offers open slots, and books the appointment end to end, with Google Calendar or Microsoft Outlook as the source of truth.

What "automated booking" actually means

A booking bot is only useful if it never invents a time. The flow you want looks like this: a customer messages your WhatsApp number → the bot understands the request and the service type → it queries live free/busy data from your calendar → it offers two or three real openings in the customer's timezone → the customer picks one → the bot writes the event, invites both sides, and confirms in the chat. Everything else (reminders, reschedules, cancellations) hangs off that same calendar event.

Step 1 — Connect WhatsApp to your bot

  1. Create your bot in the MagicBot console.
  2. Open the Integrations tab and choose your WhatsApp channel — the official WhatsApp Business API, or a Green API bridge over your existing number.
  3. Paste the credentials and save. The inbound webhook is registered automatically.
  4. Send yourself a test message to confirm the round trip works.

Not sure which channel to pick? See WhatsApp Business API vs. Green API.

Step 2 — Connect Google Calendar or Outlook

In the same Integrations tab, click Connect Google Calendar or Connect Microsoft 365. Both are one-click OAuth — you approve access on your provider's consent screen and you're done; no service accounts, no API keys to copy.

  • Pick the exact calendar the bot should read and write (e.g. "Clinic — Dr. Levy").
  • Grant calendar read and write scope, otherwise the bot can quote availability but not create the event.
  • Hit Sync now to confirm events flow in immediately.

Step 3 — Set booking hours and timezone

Your calendar shows when you're free; booking hours decide when you're bookable. In the bot configuration set:

  • Booking hours per weekday (e.g. Mon–Thu 09:00–17:00, Fri 09:00–13:00).
  • Timezone of the business — the bot converts to the customer's timezone when it proposes slots.
  • Appointment length and buffer between appointments.
  • Minimum notice so nobody books a slot 5 minutes from now.

The bot intersects booking hours with live free/busy data, so an internal meeting on your calendar blocks the slot even though it falls inside working hours.

Step 4 — Teach the bot your booking rules

In the Persona and Knowledge tabs, spell out the details a human receptionist would know:

  • Which services can be booked over chat, and which need a callback.
  • What to collect before booking — full name, reason for visit, insurance, address.
  • Cancellation policy and no-show rules.
  • What the bot must never do: give clinical advice, quote prices it isn't sure of, or invent a phone number.

MagicBot's guardrails force the bot to call the calendar tool before it ever states a time, so it can't hallucinate availability — a common failure mode with generic chatbots.

Step 5 — Handle reschedules and cancellations

The bot keeps a reference to the event it created, so "can we move Tuesday to Thursday?" updates the same calendar entry instead of creating a duplicate. Cancellations delete the event and free the slot for the next customer. Because both sides are on the calendar invite, nobody has to remember to update anyone.

Step 6 — Test, then go live

  1. Use the Chat Test tab to book, reschedule, and cancel a fake appointment.
  2. Try the awkward cases: a fully booked day, a request outside booking hours, a customer writing in another language.
  3. Confirm the events land on the right calendar with the right title and attendees.
  4. Turn the bot on and watch the shared inbox for the first week — a human can take over any conversation at any moment, and the bot steps aside automatically.

An AI receptionist for clinics and practices

Medical practices, dental clinics, and therapy offices get the most out of this setup: most inbound WhatsApp traffic is "are you open", "how much", and "can I come Thursday". An AI receptionist answers all three from your approved knowledge base, books the visit against the real calendar, and escalates anything clinical to staff. See the clinics use case for a worked example.

FAQ

Can a WhatsApp bot really book appointments automatically?

Yes. When the bot is connected to Google Calendar or Microsoft 365, it reads live free/busy data, offers only open slots in the customer's timezone, and writes the confirmed event straight into your calendar.

Does this work as an AI receptionist for a medical practice?

It does. Clinics use it to triage inbound WhatsApp messages, answer routine questions from an approved knowledge base, book and reschedule visits, and hand off to a human for anything clinical or sensitive.

What happens if two people ask for the same slot?

MagicBot runs a free/busy preflight check immediately before creating the event, so a slot that was taken seconds earlier is rejected and the bot offers the next available time instead.

Can customers cancel or reschedule over WhatsApp?

Yes — the bot can update or delete the calendar event it created, and both sides get the change reflected in the calendar invite.

Set it up today

WhatsApp, Google Calendar, Outlook, multilingual replies, and human takeover ship in one console — and it works with the rest of your stack too, from CRMs to payment links.

Start your free 7-day trial →