Skip to content

Appointments — free times, bookings on WhatsApp, and a calendar

📊 Sales pipelineLevel: Beginner⏱ 8 min

🎯 Goal

Customers book a real, free time on WhatsApp; your team sees every booking in Appointments, and a reminder goes out before each one.

🧰 What you need

  • A connected WhatsApp number
  • A chatbot (or the time to make one)
  • 10 minutes
  1. Open Appointments in the menu (under Messaging) and tap Availability. Each WhatsApp number has its own.
  2. Switch on the days you work and set the hours. Tap Add hours for a split day (for example 10–1 and 3–7).
  3. Set Each appointment (minutes), Customers at the same time (more than 1 for a class or a clinic with several doctors), Gap after each (time to clean up between appointments), Earliest booking (no bookings for the next 60 minutes, say), Book up to (days ahead) and Hold a chosen time (how long a time stays reserved while the customer confirms).
  4. Pick your Time zone and tap Save.

Block time closes a holiday (whole days) or a busy hour (a time range) so nobody can book it. Bookings already in that time stay; move or cancel them.

Quickest: Automation → Templates, bot type Appointment booking (any business, or your industry: clinic, salon, real estate site visits, home services…), in English, Hindi or Gujarati. The setup form checks that this number’s availability is set. Use a chatbot template

Your own chatbot: add the Book appointment step (Bot actions → Commerce & apps). It:

  • sends a WhatsApp list with only free times: 8 at a time, grouped by day, with More dates and None of these;
  • holds the time the customer picks for a few minutes and asks Confirm ✅ or Another time;
  • books it so two customers can never get the same time. If someone else took it a moment earlier, the customer is told and gets the free times again;
  • for a customer who already has an appointment, offers Keep it, Reschedule or Cancel it.

It has three paths: booked (also rescheduled or kept), cancelled and no time found. A path you don’t connect ends the chatbot there. After a booking you can use {{appointment_day}} and {{appointment_time}} in the next messages, and {{booking_action}} says what happened: new, rescheduled, kept or cancelled. Put a Condition on it after booked, for example to ask the name only for a new booking.

What the customer sees — buttons and messages (in the step’s settings) changes every word: Keep it, Reschedule, Confirm ✅, More dates, the hold message and the rest. Pick Language of the days and times (English, हिन्दी, ગુજરાતી) so the list says बुध, 4 नव॰ instead of Wed, 4 Nov. Leave a box empty for the English wording shown in it.

A booking saves the time on the contact as the appointment_at field. In Auto reminders, use the Appointment reminder recipe (24 hours and 2 hours before). It follows the booked time: moving the appointment moves the reminder, cancelling it stops the reminder.

  • Day lists the day’s times: bookings, blocked time, and Free — book where there is room.
  • Week shows seven days (a list on a phone). Tap a day to open it.
  • Each booking’s ⋯ menu: Confirm (for a held time), Move… (only free times are offered), Mark as done, No-show, Open chat, Cancel appointment.
  • New appointment books a customer (or a walk-in) into a free time. A full time is refused.

Who can do what is set per role in Agents & roles → Appointments: See the calendar, Book, confirm, move and cancel, Availability, holidays and blocked times. Agents only see the numbers their role gives them.

  • No times offered: the number has no working hours for the next days, Earliest booking is too long, or every time is full or blocked. Check Availability.
  • Times look an hour off: the number’s Time zone is wrong.
  • The default hours are still on: until you save Availability, the number uses Mon–Fri 10–6 and Sat 10–2.
  • An older appointment chatbot asks “morning / afternoon / evening”: it was made before real slot booking. Open it: New version available: real slot booking → Create updated copy.

© 2026 MeAPI by TheWebStore028 · RADHAMADHAV WEBSTORE LLP · GSTIN 27ABJFR6148J1ZO · Contact us ·Cookie settings