How a WhatsApp AI agent books appointments without double-booking: availability, real slots, holds, conflicts and what happens when two people want the same time

The first worry about letting software book appointments is the obvious one: what stops it from booking two people at 3 pm? The answer is that it never offers a time it cannot write, and it writes the booking the instant the customer confirms. Here is the mechanism, without the jargon.

By Ritchie, ReplyKit · Published 5 October 2026 · 6 min read

Quick answer

The agent only ever offers slots computed from three things: your services and their durations, your weekly hours, and the bookings already in the calendar. When a customer picks a slot, the agent checks it is still free at that instant and writes the booking in one step; if someone else took it a second earlier, the agent apologises and offers the next free times. Buffers between appointments and a minimum lead time are part of the calculation. ReplyKit keeps the calendar itself, exports to Apple, Google or Outlook as .ics, and sends a reminder the day before.

Where the slots come fromTwo customers, one slotBuffers, lead time and limitsYour calendar and the agent'sWhat a person still doesFAQ

Where the slots come from

  1. Services. Each has a duration (consultation 30 minutes, treatment 60) and optionally a buffer after it.
  2. Availability. Weekly hours per day, plus closures you add (public holidays, leave).
  3. Existing bookings. Everything already confirmed, including bookings you made by hand in the dashboard.
  4. The calculation. For the requested day, the agent lays the service duration over the open hours and removes every stretch that overlaps a booking or buffer. What is left is offered, in order, usually the next two or three.

Because the agent recalculates from the live calendar on every message, a slot taken ten seconds ago is never offered. How to set the services and hours up is in setting up booking on WhatsApp.

Two customers, one slot

Imagine two people both told "3 pm is free" within the same minute. The first to confirm wins: the booking is checked and written in a single step, so the second confirmation finds the slot taken and the agent says so, "Sorry, 3 pm just got booked; I have 3:30 or 4:15," and offers the next slots. No human has to notice; no two bookings share a time. This is the same guarantee a good booking system gives, applied inside a chat.

Buffers, lead time and limits

Your calendar and the agent's

The agent's calendar is the one in the ReplyKit dashboard. It exports every booking to Apple, Google or Outlook as an .ics feed, so you see them on your phone. It does not read your Google Calendar back, so an appointment you add only in Google is invisible to the agent until you add it in the dashboard as well. Businesses that live in Google Calendar should add bookings in the dashboard first and let the feed carry them out. Two-way sync is a common request and not something we claim yet.

What a person still does

Decides exceptions (squeezing in a regular, a double slot for a long job), handles reschedules that need judgement, and cancels bookings on the business's side. The agent handles the standard case completely, which is most of them, and the standard case is where double-bookings used to happen, because it was the one nobody was watching. Rescheduling is covered in rescheduling and cancellations.

Frequently asked questions

Can the agent double-book?

No. It offers only free slots computed from the live calendar and writes the booking in a single checked step, so a slot taken by someone else a second earlier is refused and alternatives are offered.

What if two people pick the same slot at once?

The first confirmation wins. The second is told the slot has gone and offered the next free times.

Does it sync with Google Calendar?

It exports bookings to Apple, Google and Outlook as an .ics feed. It does not read bookings back from Google, so add appointments in the dashboard.

Can it handle classes with several places?

Not today. It books one appointment per slot. Use one calendar per chair or room on the Growth plan, each with its own agent and number.

Can I block time off?

Yes. Add closures and leave in the dashboard and the agent stops offering those times.

Real slots, no clashes

Services, hours and bookings in one calendar; the agent books into it and reminds the day before. 7-day free trial, no card.

Start free
Written by Ritchie, ReplyKitPart of the small team in Malaysia that builds and runs ReplyKit. Writes about WhatsApp automation, AI customer service and small business lead response.

How we know this. This is how ReplyKit's booking works, written from the inside; the conflict handling described is the behaviour our customers rely on daily. Product figures in this article (limits, prices, per-reply costs) are taken from ReplyKit as it runs today and are re-checked when we update the page. Where we cite outside research, the source is linked below. We sell ReplyKit, so read our product claims with that in mind; we say where a different tool or no tool is the better choice. About ReplyKit.

Sources and further reading

  1. Cochrane Review, Mobile phone messaging reminders for attendance at healthcare appointments (2013) · text reminders improve attendance compared with no reminder

ReplyKit is an independent product and is not affiliated with or endorsed by Meta or WhatsApp. This article is general guidance for running a small business, not legal, financial or regulatory advice.