Skip to page content
Make Agent Fast
  • Introduction
  • Quickstart
  • Core concepts
  • Dashboard tour
  • Build your agent
  • Add it to your website
  • Telegram: bots & groups
  • WhatsApp
  • Instagram: DMs & comments
  • Your inbox
  • Leads & sales pipeline
  • Analytics, team & billing
  • Messenger, Discord & KakaoTalk
  • Connect your AI assistant
  • Create an agent
  • Persona and instructions
  • Knowledge sources
  • FAQs and products
  • Lookups
  • Change actions
  • Booking with Cal.com
  • Google Calendar
  • Follow-ups and reminders
  • Page actions
  • Your own tools (MCP)
  • Voice and live calls
  • Display
  • Agent link
  • Custom domains
  • Embed overview
  • HTML and JavaScript
  • React and Next.js
  • Vue and Nuxt
  • SvelteKit
  • Astro
  • WordPress
  • Shopify
  • Webflow
  • Framer
  • Wix
  • Squarespace
  • Ghost
  • Notion and Linktree
  • Tilda
  • Imweb
  • Cafe24
  • Security and CSP
  • Connector overview
  • Telegram
  • WhatsApp
  • Messenger
  • Instagram
  • Discord
  • KakaoTalk
  • Conversations and leads
  • Analytics
  • Broadcasts
  • Notifications
  • Monetization
  • Use Claude and ChatGPT
  • Credits and usage
  • API overview
  • Credentials and tokens
  • Authentication
  • Scopes and errors
  • API quickstart
  • API recipes
  • API reference
  • Webhooks
  • SDK status
  • Rate limits
  • Plans and pricing
  • Security
  • AI provider keys
  • Privacy and data
  • Troubleshooting
  • Changelog
Docs
Log inAPI
Make Agent Fast documentation

Google Calendar

Connect a calendar, set working hours and offer bookings after customer confirmation when the integration is enabled.

At a glance

Connect a calendar, set working hours and offer bookings after customer confirmation when the integration is enabled.

Cal.comAvailability alerts

Availability gate#

Google Calendar is not generally available yet. Until it is enabled, Agent → Actions → Google Calendar shows “coming soon” and the connection is unavailable; an agent setting cannot turn it on. Cal.com remains a separate option.

Connect a calendar#

When enabled, open the Google Calendar panel and choose Connect. Sign in to Google and review the requested permissions for calendar events and free/busy availability. This connection is separate from signing in to Make Agent Fast. The server stores the refresh token encrypted; the dashboard and the agent do not receive it.

The requested scopes are calendar.events, calendar.freebusy, and non-sensitive openid and email. The callback requires a verified email and stores it encrypted to resolve primary to the same calendar ID as its explicit email spelling. No profile scope is requested. Older connections without a verified email must disconnect and reconnect before booking.

An agent uses one calendar provider at a time. Disconnect an existing provider before switching. Choose the calendar ID (primary for the connected account's primary calendar) and its IANA time zone, for example Asia/Seoul. A shared calendar must be accessible with the connected account's permissions. Disconnecting revokes the Google grant and removes the connection; it does not cancel existing events.

Set working hours#

New connections have no working hours, so no slots are offered until you add them. Add opening/closing windows for each working weekday. An empty day is closed; multiple non-overlapping windows support a lunch break. Hours are interpreted in the selected time zone. Settings autosave.

SettingAccepted range
Slot length5–240 minutes
Buffer around busy events0–120 minutes
Minimum notice0–43,200 minutes
Booking horizon1–90 days
Working windowsUp to 28 non-overlapping windows across the week

Availability is working hours minus the selected calendar's busy blocks, buffer, minimum notice and horizon. Set hours in the calendar's intended time zone and check daylight-saving transitions when relevant. No slots may mean closed hours or busy time, rather than a connection error.

From availability to a booking#

The agent uses the same find_slots and book_slot flow as Cal.com: offer up to eight available times, collect name/email and optional note, recheck the chosen slot, then show a confirmation card. Offers and proposals expire after 15 minutes; neither holds the slot. Only the customer's button tap authorizes booking. A spoken “yes” during a live call cannot book it.

After confirmation, Google receives an event with a deterministic ID tied to the action run and sends attendee invitations. A validated confirmed event produces a completed receipt; tentative events remain pending. If a slot is taken, ask for fresh times and confirm again. An uncertain network result is checked using the same event ID; do not treat a timeout as success or create another booking blindly. Configuration changes invalidate older offers/proposals.

To be notified when a time opens, use a consented watch. Before customer use, verify a real booking and invitation in Google, try a taken slot, and check disconnect/reconnect and the intended messaging channel.

PreviousBooking with Cal.comConnect an event type, offer available times and book after the customer confirms.NextFollow-ups and remindersConfigure page triggers, a control group and consented change notifications.
Was this page helpful?
On this page
  • Availability gate
  • Connect a calendar
  • Set working hours
  • From availability to a booking
For AI systemsllms.txtllms-full.txt