Calendar Booking in the Chatbot

Once Google Calendar is connected and enabled, the chatbot can offer real time slots and book meetings mid-conversation. This page covers how the chatbot uses calendar booking and how to enable it per bot.

Prerequisite: finish the Google Calendar integration first (connect account, pick calendar, set availability, enable calendar booking).

How to get there: Go to Setup → Chatbot in the top menu → click your chatbot → Leads → Calendar Booking in the sidebar.

Two Ways the Chatbot Can Book Meetings

1. Inline calendar picker (AI-decided)

When calendar booking is enabled, the AI can decide mid-conversation to show the visitor a mini calendar right inside the chat bubble. The visitor picks a date, then a time slot, and the meeting is booked without leaving the chat.

The AI is trained to offer this when the visitor asks to schedule, book a call, meet, get a demo, etc. It first captures the visitor's email (booking without an email would fail Google's invite), then shows the picker.

2. Lead flow with a Booking field (form-driven)

If you'd rather guarantee booking as part of a structured form (e.g. "Request a demo" form with name, email, and time slot), add a Booking field to a lead flow. See Lead collector for how to build a lead flow. The Booking field renders the same mini calendar inside the form.

Both paths share the same availability, buffer, and event-template settings you configured under Leads → Calendar Booking.

What the Visitor Sees

  1. A mini calendar shows the next weeks; unavailable days are dimmed
  2. Selecting a day loads real free slots (checked against Google Calendar in real time)
  3. Selecting a slot books it and shows a confirmation message in the chat
  4. The visitor receives the standard Google Calendar invite email with a Meet link
  5. You see the event appear in the Google Calendar you picked

What the Chatbot Skills Do

When calendar booking is enabled on the bot, two AI skills are registered:

  • show_calendar_picker — the AI opens the mini calendar in-chat for the visitor. Requires the visitor's email first.
  • book_meeting — the AI books a specific slot directly (used when the visitor gives an exact time in text, e.g. "book me for Thursday 3pm"). Also requires the visitor's email.

Both skills are automatically available to the bot when calendar booking is enabled. You can restrict them per workflow using Behavior → Workflows → allowed tools if you only want booking inside specific flows.

Turning It On Per Bot

Calendar booking is enabled at the chatbot level:

  1. Setup → Chatbot → your chatbot → Leads → Calendar Booking
  2. Confirm Google is connected and a calendar is selected
  3. Toggle Enable calendar booking on and save

Once on:

  • The inline calendar picker becomes available to the AI in every workflow (unless explicitly restricted via allowed-tools)
  • The Booking field type appears in the Lead collector field editor
  • Any existing lead flows with a Booking field become functional

If you disable calendar booking later, existing lead flows that use the Booking field will show a warning in the lead-flow editor so you know they can no longer submit.

Common Setups

Consultation bot on a services site

  • Enable calendar booking, working hours 09:00-17:00 Mon-Fri, 15 min buffer, 4 hours minimum notice
  • Let the AI offer times whenever a visitor shows buying intent
  • No lead flow needed — the AI will collect email inline

"Request a demo" form on a SaaS homepage

  • Enable calendar booking
  • Build a lead flow in Form mode with fields: Name, Email, Company, Booking
  • Trigger the flow when the visitor clicks a "Book a demo" chip or on the AI condition "visitor asks for a demo"

Support callback

  • Enable calendar booking with a narrower window (e.g. 13:00-15:00 Mon-Fri) so support keeps mornings clear
  • Add a lead flow with Booking that triggers when the AI detects "human", "callback", or "can I speak to someone"

Troubleshooting

"The bot promised to open a calendar but nothing appeared" — check that calendar booking is enabled AND a Google account is connected AND a calendar is selected. If any of the three is missing, the AI has no calendar skills to call and will apologise. Also make sure the workflow (if any) allows the show_calendar_picker and book_meeting tools.

"The bot booked a meeting without asking for an email" — this shouldn't happen: both skills refuse to run without a visitor email. If you see it, forward the conversation to support@boei.help so we can inspect the log.

"The visitor picked a time that's blocked in my calendar" — Boei re-checks Google Calendar the moment the slot is selected, so double bookings should not occur. If one slips through, it's usually because the conflicting event was added between the visitor loading the slot list and clicking Book. Consider raising your buffer to 15+ minutes.

"No open slots on any day" — no availability window is configured, or every window is fully booked. Check Availability and Max bookings per day under Leads → Calendar Booking.

"Only some days are bookable" — the days with no toggle enabled under Availability are excluded. Days beyond your Days ahead setting are also excluded.