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
Feedback sent
We appreciate your effort and will try to fix the article