Skip to navigation

Google Calendar

Check availability and book, move or cancel meetings on your Google Calendar during a call.
View as Markdown

Connect Google Calendar so your agent can find a free slot and book it while the caller is on the line, complete with a calendar invite and a Google Meet link.

At a glance

AuthenticationOAuth 2.0 (sign in with Google)
Asked at connectNothing. You’re sent straight to Google
Calendar usedThe connected account’s primary calendar
Works withSingle-prompt agents

Connect Google Calendar

1

Open Google Calendar on the Integrations page

Open the Integrations page in the dashboard and click Connect next to Google Calendar.

2

Sign in with Google

Click Connect, choose the Google account whose calendar the agent should book into, and approve access.

3

Add the tools to your agent

When you see Google Calendar connected successfully, click Go to Tools. Click Add tool → Integration tool, choose Google Calendar, tick the tools this agent needs, and click Add tools. From inside an agent, use Add tool → New tool → Integration tool instead.

Tools

ToolFunction nameWhat it does
Check availabilitygoogle-calendar_check_availabilityReturns the busy periods in a time window
Book meetinggoogle-calendar_book_meetingCreates an event and invites the caller
Reschedule meetinggoogle-calendar_reschedule_meetingMoves an existing event to a new time
Cancel meetinggoogle-calendar_cancel_meetingDeletes an event
List upcoming eventsgoogle-calendar_list_eventsLists events in a time window

Times are a local date and time in the given timezone, with no UTC offset, for example 2026-09-01T14:30:00 with Asia/Kolkata. Times in replies are local times in that zone too, so clock changes never shift a meeting. Add the {{current_date}}, {{current_time}} and {{timezone}} system variables to the agent’s prompt, so it can turn “tomorrow at 3” into a real date and time.

Fields

FieldRequiredDescriptionPinnable
start_timeYesStart of the window to check
end_timeYesEnd of the window to check
timezoneYesIANA timezone, for example America/New_YorkYes

Returns the busy intervals in the window, as local times in timezone. Anything not listed is free on the calendar, even outside your working hours, so give the agent your hours in its prompt.

FieldRequiredDescriptionPinnable
start_timeYesMeeting startYes
timezoneYesIANA timezone the event is created inYes
attendee_nameYesThe caller’s full nameYes
attendee_emailYesWhere the invite goesYes
attendee_phoneNoAdded to the event description
titleNoDefaults to “Meeting with name”Yes
duration_minutesNo1–1440. Defaults to 30Yes
descriptionNoNotes for the inviteYes
locationNoAn address, room or URLYes
additional_attendeesNoComma-separated guest emails, up to 10Yes
send_updatesNoall (default) emails guests; none doesn’tYes
create_meeting_roomNoAdd a Google Meet link. Defaults to trueYes
visibilityNodefault, public, private or confidentialYes

Before creating the event, the slot is checked again. If it was taken in the meantime, the agent is told to pick another time.

FieldRequiredDescription
booking_uidYesThe event ID, from Book meeting or List upcoming events
start_timeYesThe new start time
timezoneYesIANA timezone the new start time is in
duration_minutesNoThe meeting’s length. Defaults to 30

Rescheduling doesn’t re-check availability, and guests may not get an email about the change, so tell the caller the new time before hanging up. Have the agent call Check availability for the new time first, and pass duration_minutes to keep a meeting that isn’t 30 minutes long.

FieldRequiredDescription
booking_uidYesThe event ID
FieldRequiredDescriptionPinnable
start_timeYesStart of the window
end_timeYesEnd of the window
timezoneYesIANA timezone the window is in
qNoFree-text filter, such as the caller’s name
max_resultsNoDefaults to 10, up to 50Yes
order_byNostartTime (default) or updatedYes
show_deletedNoInclude cancelled events. Defaults to falseYes
page_tokenNoFrom the previous response, for the next page

Pin the values that never change

FieldTypical pinWhy
timezoneAsia/KolkataThe agent never has to ask, and never guesses wrong
duration_minutes30Every booking is the same length
titleDiscovery callEvents are easy to spot in your calendar
locationYour office addressIn-person meetings always have the address
create_meeting_roomfalseTurn off the Meet link for phone or in-person meetings

How it works on a call

1

Find a time

The caller asks for “Thursday afternoon”. The agent calls Check availability for that window and offers a time that isn’t busy.

2

Collect details

The agent confirms the caller’s name and email, and reads the email back.

3

Book

Book meeting creates the event and emails the invite. The caller hears the confirmed time before hanging up.

ToolExample condition prompt
Check availabilityWhenever the caller suggests a time, check it before agreeing.
Book meetingOnly after the caller confirms the time and you’ve read their email back.
Cancel meetingOnly when the caller explicitly asks to cancel. Find the event with List upcoming events first.

Limits

  • Bookings always go on the connected account’s primary calendar.
  • One Google Calendar account per organization. To switch to a different one, click Disconnect, then Connect again.

Troubleshooting

The agent sent a time that isn’t a plain local date and time. Add {{current_date}}, {{current_time}} and {{timezone}} to its prompt so it knows today’s date, the time and your timezone, or pin timezone.

Someone took the slot between checking and booking. The agent should check availability again and offer another time.

Google access was removed, for example from the Google Account’s third-party connections page or by a Workspace admin. On the Integrations page click Disconnect, then Connect and sign in again.