AI Appointment Scheduling Integration Guide

Modified on Tue, 7 Jan at 10:13 PM

Using Appointment Scheduling Actions in the Flow Builder


(Functions, aka AI Triggers across our agency and enterprise partner platform networks)

This guide shows you how to integrate appointment scheduling into Chatbot Builder AI so your customers can easily reserve time with you. It covers connecting your calendar, creating custom fields (CUFs), and setting up flows and Functions.

    Tip: If you are already using custom user fields and actions to manually handle your Start and End times, there’s no need to use AI. In that scenario, you can create a flow with fixed date ranges to manage appointments without OpenAI, Claude, Google Gemini, or Grok.

1. Set Up Your Calendar

Make sure your calendar is connected to Chatbot Builder AI (e.g., Google Calendar, Outlook). This integration allows the system to automatically check availability and book appointments.

Please read this documentation to learn how to set up your calendar.

2. Create Custom Fields

Go to Flows > Custom Fields and set up the following fields to handle appointment data. You can think of each field as a labelled container for key information:

    1.    date_start

        Type: Date & time

        Ex: The “start boundary” if someone says, “I’m free after Monday.”

    2.    date_end

        Type: Date & time

        Ex: The “end boundary” if someone says, “I’m only free until Thursday.”

    3.    appointment_date

        Type: Date & time

        Ex: A precise point in time—like “Wednesday at 3 PM.”

    4.    available_slots

        Type: Text

        Ex: A location for your flow to store open time slots retrieved from the calendar.

3. Create a Flow to Check Availability

    1.    In the Flow Builder, create a new flow (for example, “Check Availability”).

    2.    Add an Actions > Appointment action and select Check Availability.

This flow is responsible for querying your calendar to find free slots in the user’s specified date range, e.g., “sometime next week.”

4. Create a Function to Check Availability

If you’d like AI to interpret general date references (e.g., “sometime next week” or “maybe tomorrow morning”):

    1.    Go to Settings > Integrations > OpenAI / Claude / Google Gemini / Grok > Functions.

    2.    Click Add new.

    3.    Configure the new Function:

        Name: check_availability_to_book_appointment

        What does this Function do?

        Checks for open slots within a date range if the user doesn’t provide an exact date/time.

        What data to collect?

        start_datetime → date_start

        end_datetime → date_end

        Book on calendar: None

        What flow is triggered?: Check Availability

        What is the output message?: {{available_slots}}

When someone says, “I’m free Tuesday or Wednesday,” this Function captures the user’s date_start and date_end, triggers the Check Availability flow, and populates the available_slots field with available times.

5. Create a Function to Book an Appointment

If a user provides an exact date/time—like “Book me for a haircut next Tuesday at 11 AM”:

    1.    Go to Settings > Integrations > OpenAI / Claude / Google Gemini / Grok > Functions.

    2.    Click Add new.

    3.    Configure the Function:

        Name: book_appointment

        What does this Function do?

        Directly books an appointment on your specified calendar.

        What data to collect?

        date → appointment_date

        Book on calendar: My Calendar (or any calendar you’ve set up)

        What flow is triggered?: None (appointment is booked right away)

        What is the output message?: Success

When triggered, it creates an event on your calendar at the specified date/time.

More Examples of Function Setup and Fields

The table below illustrates how each Function might look in your Functions settings:

Name

What does it do?

Data to Collect

Book on Calendar

Flow Triggered

Output Message

Example Use Case

check_availability_to_book_appointment

Checks for available slots within a given date range (if user doesn't specify an exact time).

- start_datetime → date_start - end_datetime → date_end

None

Check Availability

{{available_slots}}

"I'm free Tuesday or Wednesday. What times do you have?"

book_appointment

Directly books an appointment on your calendar for the specified date/time.

- date → appointment_date

My Calendar

None

Success

"Book me for a haircut next Tuesday at 11 AM" or "Schedule me for a follow-up on May 10th at 2 PM."


6. Enable Your Functions

After configuring these Functions, activate them in your AI provider’s settings (OpenAI, Claude, Google Gemini, or Grok) or reference them within the OpenAI/Gemini/Claude/Grok action in the Flow Builder. This integration ensures that when a user says, “I’m free all day Wednesday,” the system knows which Function to invoke—Check Availability or Book.

Optional Prompt Guidance

    You may include the following paragraph in your system prompt if you like:

    “Always check for availability when the user indicates they want to book an appointment on a day like Monday, tomorrow, morning, or afternoon without giving a specific time.”

Summary of Steps

    1.    Connect your calendar so Chatbot Builder AI can read and write events.

    2.    Create custom fields (date_start, date_end, appointment_date, and available_slots) for storing time boundaries and booking data.

    3.    Build a “Check Availability” flow to locate open slots.

    4.    Create a Function to check availability for general date/time windows.

    5.    Create a Function to book for specific date/time requests.

    6.    Enable your Functions in AI settings or in the Flow Builder.

By leveraging AI (OpenAI, Claude, Google Gemini, or Grok) to interpret users’ messages, scheduling becomes more conversational and user-friendly. However, if you are already using custom user fields and actions to manually handle Start and End times, AI is not mandatory.

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article