AI Agent | In Call Action | Booking Appointments with Google Calendar, Microsoft Calendar or Microsoft Bookings

AI Agent | In Call Action | Booking Appointments with Google Calendar, Microsoft Calendar or Microsoft Bookings

Overview

Your AI Agent can book appointments straight into your own calendar while the caller is on the phone. Calldacity offers three ready-made connections for this:

Connection Best for What the agent can do on a call
Google Calendar Businesses on Google Workspace or Gmail Book, look up, reschedule and cancel appointments. Works from "booking pages" you set up: a calendar, the services offered, and the weekly hours.
Microsoft Calendar (Outlook) Businesses on Microsoft 365 who want appointments on one Outlook calendar Book a new appointment on the signed-in person's default Outlook calendar, after checking whether the time is free. Booking only; rescheduling and cancelling go to a person.
Microsoft Bookings Businesses that already use Microsoft Bookings with services and staff Book a new appointment for one of your Bookings services, using the service lengths and staff availability set in Bookings. Booking only; rescheduling and cancelling go to a person.

Each connection comes with a ready-made agent template: Google Calendar Booking Agent, Microsoft Calendar Agent and Microsoft Bookings Agent. The templates include a finished conversation flow, so the quickest route is to create a new agent from a template and then connect your calendar. You can also connect a calendar to an agent you already have; a short setup window then adds the calendar to the agent's conversation flow for you.

The agent always asks for the caller's name, a callback number and an email address (it asks the caller to spell the email, reads it back, and allows a couple of corrections). It confirms the day, time and service once before it books. It never says an appointment is booked unless the booking really succeeded; if something goes wrong it apologizes and transfers the caller to a person.

If you only want the agent to text a single booking link, see: Generic Calendar Configuration. For Calendly, see: AI Agent | In Call Action | Booking Appointments with Calendly.

Before You Begin

  • You can open the agent in the AI Agent module, and your agent's plan includes integrations.
  • Google Calendar: the Google account that owns (or can edit) the calendar callers will book into. A shared "Appointments" calendar owned by a service account is better than someone's personal calendar.
  • Microsoft Calendar: the Microsoft 365 account whose default calendar will receive the appointments. The agent only books on that calendar.
  • Microsoft Bookings: a Bookings page (booking business) already set up in Microsoft 365, with services and staff. A Microsoft 365 administrator must approve access once for your whole organization. If you are not an administrator, ask one to be present when you connect.
  • Pop-ups must be allowed for the site, because sign-in opens in a separate window.
  • A transfer destination for callers the agent cannot help (an extension or number), so failed bookings reach a person.

One calendar per agent. We recommend connecting only one of these calendars to an agent, so it is always clear where appointments land.

Security. Anything the agent can do, a caller can ask it to do. Booking connections can see your calendar. Use a dedicated calendar and account where you can, and allow only the tools you need. See the security notes in: AI Agent | In Call Action | Connecting MCP Servers, Choosing Tools and Setting Tool Overrides.

  1. Open the AI Agent module and select New agent. Choose Voice agent and select Continue.
  2. Under how do you want to start?, choose Start from a template.

  3. In the list of templates, find one of:
    • Google Calendar Booking Agent
    • Microsoft Calendar Agent
    • Microsoft Bookings Agent
    Each template card shows what it needs, for example Needs: Connect Google Calendar. Select Use this template.
  4. Fill in the agent details the template asks for (name, extension, voice, and where calls go when the agent cannot help). If the Microsoft Calendar template asks for the appointment length, bookable hours, minimum notice or how many days ahead people can book, set them now; they are written into the agent's instructions. Otherwise the defaults are a 30-minute appointment, Monday to Friday 9:00 AM to 5:00 PM, from tomorrow, up to 30 days ahead.
  5. Select Create agent. The agent is made with the flow already built (greeting, scheduling, transfer to a person, closing).
  6. Connect your calendar on the Actions tab, as in Option B, steps 2 and 3. When the Set up window opens after sign-in, select Skip for now: the template's flow already has a scheduling step that uses the calendar's tools, and finishing setup would add a second one.
  7. Finish the setup for your connection (Google Calendar: booking pages; Microsoft Bookings: administrator approval) using the sections below, then test.

Option B: Connect a Calendar to an Existing Agent

  1. Open your agent and go to the Actions tab.
  2. Find the card for Google Calendar, Microsoft Calendar or Microsoft Bookings and select Connect. The connection's settings panel opens.

  3. Select Connect at the bottom of the panel. A sign-in window opens. Follow "Sign In and Approve" below.
  4. After you sign in, a Set up window opens (for example Set up Google Calendar). Answer its three short steps and select Finish setup; it adds the calendar to your conversation flow for you. Follow "Finish Setup: Add the Calendar to Your Flow" below.

Sign In and Approve

Google Calendar and Microsoft Calendar

  1. In the sign-in window, choose or enter the account to use. For Google, you may be asked to approve access to your calendar each time you connect; this is normal.
  2. Read the permissions requested and approve them.
  3. The window closes and a message confirms the connection is authorized (for example Google Calendar authorized.). The first time you connect, the Set up window opens next; see "Finish Setup: Add the Calendar to Your Flow" below. The card now reads In use and its button changes to Configure. If no window opened, you will see Your browser blocked the sign-in window. Allow popups for this site and retry. Allow pop-ups and select Connect again.

Microsoft Bookings

  1. A Microsoft 365 administrator signs in and approves access for the whole organization (an "admin consent" screen). This is a one-time approval for your organization, not for a single person.
  2. Once approved, the agent books on behalf of the connected Microsoft 365 user. You can review or remove the approval in your Microsoft Entra admin center under Enterprise applications.
  3. The first time you connect, the Set up window opens next; see "Finish Setup: Add the Calendar to Your Flow" below.

If a sign-in later expires, the card shows Enabled — authorization needed. Open it with Configure and select Re-authorize. Re-authorizing does not open the Set up window again.

Finish Setup: Add the Calendar to Your Flow

Connecting a calendar gives the agent its tools, but the agent only uses them in a state of its conversation flow that callers can reach. The first time you connect a calendar to an agent, a Set up window opens right after sign-in and builds that state for you in three steps.

  1. Step 1 of 3 · When to use. Answer When should the agent use this integration? in plain language, for example "When a caller wants to book, change or cancel an appointment." The agent uses this to decide when to move into the calendar's state. Select Next. 
  2. Step 2 of 3 · Tools. The tools the calendar offers are listed, each set to Allow, Ask or Off. If the list is empty, select Test connection to find them. Turn off any tool the agent does not need (see the table under "Test the Connection and Choose the Tools"); at least one tool must stay allowed. Select Next.
  3. Step 3 of 3 · Description. A description of the new state is drafted from your answers (you will briefly see Drafting a description from your answers…). Read it and edit it as you like; you can change it later on the Flows tab. Select Finish setup.
  4. The window closes with a message such as Google Calendar is ready to use in your agent's flow. On the Flows tab you will find a new state holding the calendar's tools, a route that brings callers to it when your answer from step 1 applies, and a route on to closing.

Select Back to return to the previous step. Your tool choices are saved with the connection when you finish.

If you select Skip for now, the calendar stays connected but nothing is added to the flow, and the window does not come back. Add the tools yourself: on the Flows tab, open the state where the agent should book (or add one), and under What it can do pick each tool from Add a tool… and select Add tool. Put all of a connection's tools in one state, so the agent can follow the sequence on its own. Make sure callers can reach that state (a route such as "caller wants to book an appointment"). See: Building Conversation Flows.

The Set up window appears only once per connection. Afterwards, Configure on the card opens the connection's settings, and the state is yours to change on the Flows tab.

Test the Connection and Choose the Tools

  1. On the Actions tab, select Configure on the connection's card.
  2. Select Test connection. The tools the calendar offers appear under Tools found, with a count such as 6 allowed, 0 ask first, 0 off. If the test fails, the reason is shown: select Re-authorize and test again.
  3. Each tool is set to Allow (the default), Ask (the agent asks the caller first) or Off. Turn off any tool the agent does not need. Set all changes every tool at once.
  4. Select Save server.

The tools you will normally want, per connection:

Connection Tools
Google Calendar Get the current time, list booking pages, list services, find open slots, book an appointment, look up an appointment, reschedule an appointment, cancel an appointment.
Microsoft Calendar Get the current time, list calendars, get availability (free and busy), list events, create an event.
Microsoft Bookings Get the current time, list booking businesses, list services, list staff, get staff availability, create an appointment.
  • Google Calendar and Microsoft Calendar: after Test connection, pin the calendar argument on each event tool to the calendar you want the agent to use. Use the Fetch button next to the value to pick from your calendars.
  • Microsoft Bookings: pin the booking business on each tool to the business you want the agent to use, in the same way.

For how to pin values, see: AI Agent | In Call Action | Connecting MCP Servers, Choosing Tools and Setting Tool Overrides (Tool Overrides section).

Google Calendar: Set Up Your Booking Pages

For Google Calendar the agent only offers what you describe in a booking page. A page ties together one calendar, the services it offers, and the weekly hours. If you have no booking pages the agent has nothing to offer, so set at least one up before you test. (Agents made from the template start with one page, called Appointments, with a 30-minute Appointment service, Monday to Friday 9:00 AM to 5:00 PM, in your agent's time zone. Review it.)

  1. On the Actions tab, select Configure on the Google Calendar card.
  2. Select Configure booking pages. The button is available once the calendar is connected; before that it says Authorize the calendar first — booking pages need a calendar to point at. The Booking pages panel opens.
  3. Select Add booking page and fill in:
    Field What to enter
    Name What the caller asks for, for example "Sales Consultations". Avoid renaming an established page later.
    Calendar Where the appointments land. Select List to pick from the connected Google account, or paste a calendar ID or email address.
    Time zone All hours on this page are read in this time zone. New pages start on Eastern time; change it to yours.
    Slot length (minutes) How far apart offered start times are. 30 offers 9:00, 9:30, 10:00. Default 30.
    Earliest notice (minutes) How soon a caller may book. 0 means the next open slot. Default 0.
    Books ahead (days) How far into the future callers can book. Default 30.
  4. Under Services, select Add service for each appointment type and enter its name (for example "Test Drive") and length in minutes (default 30).
  5. Under Availability, set the hours the agent may offer each weekday, in the page's time zone. Select Add hours to add a start and end time (it starts at 09:00 to 17:00); add more for split days (for example a lunch break). A day with no hours shows Closed. Times use the 24-hour format (HH:MM) and the end must be after the start.
  6. Select Save booking pages. If something is missing, a message says what to fix. Select Discard to leave without saving.

Important: these hours control when the agent can offer times. The agent also checks your Google Calendar, so times where you already have an event are not offered. Keep your calendar up to date, including personal events on the same calendar.

Microsoft Calendar and Microsoft Bookings: Where the Rules Come From

  • Microsoft Calendar follows the booking rules in the agent's scheduling step, not a separate booking page. Out of the box: one 30-minute appointment type, Monday to Friday 9:00 AM to 5:00 PM, start times every 30 minutes, earliest booking is tomorrow (no same-day), latest is 30 days ahead. To change these, edit the scheduling state on the Flows tab. The agent checks that the exact time is still free right before it books. Events are created on the connected account's default calendar with a title like "Appointment - (caller name)". The email is optional for Microsoft Calendar; if the caller does not give one the agent carries on without it.
  • Microsoft Bookings takes everything from Bookings itself: which services exist, how long they take, who provides them and when staff are free. Services marked as hidden from customers are not offered. If you have more than one booking business, the agent asks the caller which one (by name, for example a location) unless you pinned one. If the caller asks for a specific staff member the agent looks them up; otherwise anyone who provides the service will do. The agent searches up to 60 days ahead. An email is required, because Microsoft Bookings sends the confirmation to it.
  • Neither Microsoft connection can reschedule or cancel an existing booking. The agent transfers those callers to a person.

Test Your Agent

  1. Make a test call (see: Setup AI Agent or AI Agent Tester | Scenarios, Suites and Batch Runs). Ask to book an appointment.
  2. Choose a service (if there is more than one), a day and morning or afternoon, and one of the times the agent reads out.
  3. Give a name, a callback number and an email address you can check. Confirm when asked.
  4. Open your calendar (or Microsoft Bookings) and check the appointment is there with the right time zone and length. Check the confirmation email.
  5. For Google Calendar, call again to reschedule and then cancel the test appointment, to confirm those work.
  6. Delete any leftover test appointments.
  7. Review the call in Call History | Transcripts, Recordings, AI Analysis and Tool Calls; the tool calls show each step the agent took.

Troubleshooting

What you see What to check
No sign-in window appears Allow pop-ups for the site and select Connect again.
The card says Enabled — authorization needed The sign-in expired or was never finished. Select Configure, then Re-authorize.
The Set up window did not appear It appears only the first time a calendar is connected to an agent. If you skipped it, or the calendar was connected before, add the tools to a flow state yourself, as described under "Finish Setup: Add the Calendar to Your Flow".
Finish setup shows The agent has no conversation flow yet. Open the Flows tab once, then finish setup. The agent has no flow to add the state to. Select Skip for now, open the Flows tab once, then add the tools to a state yourself.
A message says the calendar is already set up in the flow, so no new state was added Nothing to fix: the flow already has the calendar's state. Change it on the Flows tab if needed.
A template agent has two scheduling states Setup was finished on an agent made from a template, which already had one. Delete the extra state on the Flows tab and keep the template's.
Test connection fails Select Re-authorize (the sign-in may have expired, or a password changed) and test again. For Microsoft Bookings, make sure an administrator approved access.
Configure booking pages is greyed out Connect and authorize the Google Calendar first.
The agent says it has no booking pages (Google) Add a booking page under Configure booking pages and save it. Check the Calendar field is filled in.
The agent offers no times Google: check the page's availability, time zone, Earliest notice and Books ahead. Microsoft: check the calendar or Bookings availability and the rules in the scheduling step. Check the calendar is not fully booked.
The times are an hour off Check the time zone on the booking page (Google) or in the scheduling step (Microsoft), and the time zone of the calendar itself.
The agent books on the wrong calendar Pin the calendar (or booking business) in the tool overrides, as described above.
The agent ignores the calendar Check the tools are not set to Off, and that they are added to a flow state callers can reach.
The agent says "that time was just taken" Someone else booked it in the meantime. The agent offers other times automatically.
The caller is transferred when asking to reschedule or cancel This is expected with Microsoft Calendar and Microsoft Bookings. Google Calendar supports rescheduling and cancelling.
The agent will not book without an email Google Calendar and Microsoft Bookings require an email address. The caller is transferred to a person if they cannot give one.
  • Generic Calendar Configuration
  • AI Agent | In Call Action | Booking Appointments with Calendly
  • AI Agent | In Call Action | Connecting MCP Servers, Choosing Tools and Setting Tool Overrides
  • Building Conversation Flows
  • Business Hours and Department Hours: Tell Your Agent When You Are Open
  • AI Agent Template | Microsoft Entra Password Reset Agent (IT Help Desk)
  • Call History | Transcripts, Recordings, AI Analysis and Tool Calls
  • AI Agent Tester | Scenarios, Suites and Batch Runs
  • Setup AI Agent