Chat with us
Knowledgebase/WhatsApp Automation/Article

How to Create WhatsApp Appointment Booking in BotSailor

  • 20 Sep 2026
  • 8 min read
  • 0 views
TL;DR:
To create a WhatsApp appointment booking in BotSailor, select your WhatsApp bot and go to
Data Collection > Appointment Booking > New Appointment.
Configure the appointment details, scheduling rules, time slots, checkout settings, data actions, and questionnaires. Then create a WhatsApp automation flow with an Appointment block, select the appointment you created, save the flow, and test the complete booking process from WhatsApp.



✓ Before You Begin

  • Prepare an active BotSailor account with a connected WhatsApp number.
  • Connect the required Google account first to integrate the google calendar which is a must.
  • You need a pre-configured payment system too.
  • If you want booking information saved to subscriber profiles, prepare the required custom fields before mapping them.

What Is WhatsApp Appointment Booking in BotSailor?

WhatsApp Appointment Booking lets a business collect client details, show available dates and time slots, confirm an appointment, and process checkout through a structured WhatsApp booking experience. The appointment configuration also supports Google Calendar, Google Meet, booking limits, payment terms, Google Sheets storage, labels, sequences, and custom-field assignments.

Part 1: Open Appointment Booking


Step 1: Select the WhatsApp Bot

Log in to BotSailor and open Chatbot Manager. Select the WhatsApp bot that will handle the appointment booking.


Step 2: Open Appointment Booking

Go to Data Collection and select Appointment Booking.

Click New Appointment to create a new appointment configuration.

Open Data Collection > Appointment Booking, then click New Appointment to begin.


Part 2: Configure the Appointment


Step 1: Enter the Core Appointment Information

  • WhatsApp Account: Select the WhatsApp Business account that will send appointment messages.
  • Google Calendar: Select the calendar where confirmed appointments should be added.
  • Appointment Name: Enter a clear service or appointment name.
  • Appointment Location: Enter the meeting location, room, or virtual-meeting description.
  • Appointment Description: Explain what the appointment is for and what the client should expect.
  • Appointment Image: Upload a square PNG, JPG, or WebP image within the size limit shown in BotSailor.

Step 2: Configure Scheduling Rules

  • Appointment Duration: Set the standard appointment length in minutes.
  • Timezone: Confirm the timezone used for available slots.
  • Maximum Daily Appointments: Set how many appointments can be accepted in one day.
  • Break Between Appointments: Set the buffer time between bookings.
  • Maximum Advance Booking: Limit how many days ahead a client can book.
  • Minimum Advance Booking: Define how much notice is required before an appointment can begin.
  • Minimum Booking Cancellation: Define the minimum time before an appointment when cancellation is allowed.
  • Booking Hold Time: Set how long a selected slot remains reserved while the client completes booking or checkout.
  • Allow Appointments Slot Overlap: Enable only when multiple bookings may use the same time slot.
  • Create Google Meet Link: Enable this to create a Google Meet link for the booking when Google Calendar is connected.
  • Status: Keep the appointment active when it is ready to be used.
Appointment Configuration screen showing the account, calendar, appointment details, scheduling rules, Google Meet option, and status.



Google Calendar Connection

To use Google Calendar, go toConnect Account > Connect Googleand follow the on-screen authorization steps for the Google account that should hold the appointment calendar.

Part 3: Configure Time Slots


Step 1: Add Standard Weekly Availability

Open the Time Slot section and click Add Slot.

Choose Available Day, select the day of the week, and set the start and end time.

Add another slot when you need additional working blocks or availability on more days.


Step 2: Use Availability Rules When Needed

  • Available Day: Creates recurring availability for a selected weekday.
  • Unavailable Day: Blocks a recurring weekday.
  • Available Date: Creates availability for one specific date.
  • Unavailable Date: Blocks a specific date or part of a date.
Example Time Slot setup with recurring available days, start times, end times, and the Add Slot button.


Part 4: Configure Checkout and Payment


Step 1: Set the Appointment Charges

  • Appointment Fees (USD): Enter the full appointment price.
  • Pre-Payment Fees (USD): Enter the amount that must be paid during booking. Use 0 when no pre-payment is required.
  • Next Invoice ID: Set the next invoice number used for appointment checkout.
  • TAX%: Enter the applicable tax percentage, or use 0 when no tax applies.
Checkout section for appointment fee, pre-payment fee, invoice ID, and tax percentage.



Step 2: Configure Payment Settings for Paid Appointments

Click Payment Settings when the appointment requires online payment.

Set the currency and configure the payment API you plan to use. The Payment Settings screen includes payment-provider options and fields for the selected provider.

Save the payment settings before testing a paid appointment.

Payment Settings screen showing currency configuration and payment API settings.


Part 5: Configure Data Actions on Confirmation


Step 1: Store and Route Booking Data

  • Store Booking Data in Google Sheet: Select the Google Sheet where confirmed appointment information should be stored.
  • Assign Labels: Select labels that should be applied to the subscriber after a successful booking.
  • Assign Sequences: Select follow-up sequences that should begin after confirmation.
Data Actions on Confirmation for Google Sheets, labels, sequences, and custom-field assignments.



Step 2: Create Custom Fields When Needed

If the required subscriber fields do not already exist, open Subscriber Manager.

Click Manage and use Create Custom Field to create the fields you need before returning to the appointment configuration.

Subscriber Manager showing Manage Custom Fields and the Create Custom Field option.



Step 3: Map Booking Data to Subscriber Custom Fields

Return to the appointment Data Actions section and select the corresponding custom field for each booking value you want to retain on the subscriber profile.

  • Booking data: Booking ID, Booking Unique ID, Booking Status, Paid Amount.
  • Customer data: Customer Email, Customer Name, Customer Country.
  • Appointment data: Appointment Name and Appointment Location.
  • Date and time data: Appointment Date, Start Time, End Time, Start Datetime, End Datetime.
  • Integration data: Google Meet Link and Google Calendar Event ID.
Example custom-field assignments for booking identifiers, status, paid amount, customer email, customer name, and other appointment data.


Part 6: Customize the Booking Questionnaires


Step 1: Configure the Intro, Name, and Email Questions

  • Intro Message: Set the welcome message shown when the appointment booking begins.
  • Name Input: Set the question used to collect the customer name.
  • Email Input: Set the question used to collect the customer email address.
  • Email Error Text: Set the message shown when the submitted email is not valid.
Questionnaires section showing the intro message, name question, email question, and email validation message.



Step 2: Configure Date and Time Selection Text

  • Date Selection Ask Text: Tell the user to choose a preferred date.
  • Date Header Text and Footer Text: Define the labels shown with the date-selection message.
  • Date Button Title and More Button Title: Configure the labels for available-date actions.
  • Date Error Text: Set the message used when no date is available.
  • Time Selection Ask Text: Tell the user to choose a preferred time.
  • Time Header Text and Footer Text: Define the labels shown with the time-selection message.
  • Time Button Title and More Button Title: Configure the available-time actions.
  • Time Error Text: Set the message used when no time slot is available.
Questionnaires section for date and time selection messages, buttons, and error text.


Part 7: Add the Appointment to a WhatsApp Automation Flow


Step 1: Create a Keyword Reply Flow

Go to Automation > Keyword Replies and click Create.

The flow will use a keyword to launch the appointment booking automated messages.

Keyword Replies page used to create the automation flow that launches the appointment.



Step 2: Configure the Trigger and Appointment Block

In Start Bot Flow, enter the trigger keyword, for example Appointment, and choose the keyword matching type.

Drag the Appointment block onto the Flow Block and connect it to Start Bot Flow.

Open the Appointment block and select the appointment configuration you created.

Save the flow.

Bot Flow example: Start Bot Flow connected to the Appointment block with the created appointment selected.


Part 8: Test the Appointment Booking in WhatsApp


Step 1: Trigger the Booking Flow

Open WhatsApp and send the configured appointment keyword to the connected business number.

The booking flow should display the intro message and ask for the customer name and email address.


Step 2: Select an Available Date and Time

Choose an available date from the date-selection message.

Select one of the available time slots shown for that date.

Review the booking details before continuing to confirm.

WhatsApp booking output showing the trigger, customer questions, available dates, available times, and booking confirmation details.



Step 3: Complete Checkout and Confirm the Booking

For a paid appointment, complete the billing information and review the appointment fee, tax, total payable, due amount, and checkout amount.

Use the Confirm Booking action to complete the booking.

After confirmation, review the appointment summary, including the scheduled start time, end time, and location.

Example checkout and confirmed appointment summary shown to the customer.


Verification: How to Know It Worked

The appointment setup is working when the configured keyword launches the booking flow, the user can submit name and email information, available dates and time slots are displayed, the booking can be confirmed, and the appointment summary reflects the selected schedule. Also, you may verify configured actions for pre-defined Google Calendar, Google Meet, payment, Google Sheets, labels, sequences, or custom-field mapping.


Common Troubleshooting


The appointment flow does not start

Check the Start Bot Flow keyword, keyword matching type, and block connection.

Confirm that the automation flow was saved.


No appointment dates or time slots appear

Review the Time Slot configuration and confirm that the selected date is inside an available day or date.

Check whether an unavailable day or date is overriding the available schedule.

Confirm the timezone and advance-booking settings.


Paid checkout does not work as expected

Review the Appointment Fees, Pre-Payment Fees, TAX, and invoice settings.

Open Payment Settings and confirm that the intended payment configuration is saved and active.


Booking data is not stored in the expected place

Review Data Actions on Confirmation.

Confirm the selected Google Sheet, labels, sequences, and custom-field assignments.

Make sure any custom field used in the mapping already exists in Subscriber Manager.


Google Calendar or Google Meet is not created

Confirm that the intended Google account is connected through Connect Account > Connect Google.

Check the selected Google Calendar and the Create Google Meet Link option in the appointment configuration.

Next Steps:

Reschedule and Cancel Appointment

After the appointment booking is working, BotSailor can also support post-booking actions such as rescheduling, cancellation, checkout notifications, status updates, reminders, and admin notifications. For a reschedule or cancel flow, create a bot flow with an Interactive Message button, set the button to System Default Action Button, choose Reschedule appointment or Cancel appointment as the action type, and select the appointment configuration that the action should use.


Zihad Jony

Zihad Jony

Team
FAQ

Frequently Asked Questions

Find answers to common questions about this topic

Navigate to Data Collection > Appointment Booking in your Chatbot Manager, click New Appointment, configure your core service details, time slots, scheduling rules, and map the configuration to a WhatsApp automation flow using the Appointment block.

Go to Connect Account > Connect Google to authorize your Google account, then select your target calendar and enable the Create Google Meet Link option within your appointment configuration settings.

Yes. You can configure appointment fees, pre-payment amounts, tax percentages, and invoice IDs under the checkout settings, and connect a payment API provider in Payment Settings to process transactions securely.

BotSailor allows you to sync confirmed booking information directly to a designated Google Sheet, apply subscriber labels, trigger automated sequences, and map custom fields such as booking ID, customer name, and email via the Subscriber Manager.

This typically happens if your selected date falls outside your standard weekly availability rules, if an unavailable date override is active, or if your timezone and advance-booking parameters are misconfigured.

You can build a post-booking flow using an Interactive Message button set to the System Default Action Button, choosing either Reschedule appointment or Cancel appointment as the action type linked to your configuration.