Calendar & Scheduling
Set up calendar integration so your agents can check availability and book appointments during calls.
What Calendar Integration Does
Calendar integration turns your AI agents from simple phone answerers into full-fledged appointment setters. When a caller asks to book a time, the agent checks your client’s real calendar availability — not a static list of hours — and books the appointment right there on the call.
No double-bookings. No “I’ll have someone call you back.” No missed opportunities. The caller hangs up with a confirmed appointment, and your client sees it on their calendar immediately.
Note: Calendar availability is checked in real time. If your client just booked their 2 PM slot through their website five seconds ago, the agent will know it’s taken and offer 2:30 PM instead. There’s no sync delay to worry about.
Supported Integrations
The platform supports two calendar integrations. You can use either one — or both — depending on what your client already uses:
| Integration | What It Does | Connection Method |
|---|---|---|
| Cal.com | Full scheduling engine — event types, availability rules, buffer times, and booking confirmations. Ideal for businesses that want a dedicated scheduling tool. | OAuth — one-click connect |
| Google Calendar | Checks availability directly on your client’s Google Calendar and creates events when bookings are made. Perfect for businesses already living in Google Workspace. | OAuth — one-click connect via Google |
Which one should I use? If your client already has a Cal.com account with event types configured, use Cal.com. If they use Google Calendar for everything and don’t want another tool, use Google Calendar. Both work the same way from the caller’s perspective — the agent checks availability, offers slots, and books the appointment.
How It Works During a Call
Regardless of which integration you use, the caller experience is identical:
Caller Requests an Appointment
The caller says something like “I’d like to schedule a consultation” or “Do you have anything available this week?” The agent recognizes this as a booking intent.
Agent Checks Availability
The agent queries your connected calendar in real time, pulling available slots based on the meeting type, your client’s existing events, buffer times, and business hours.
Agent Offers Time Slots
The agent presents two or three available options: “I have openings on Tuesday at 10 AM, Wednesday at 2 PM, or Thursday at 9 AM. Which works best for you?”
Caller Picks a Slot
The caller chooses their preferred time. The agent confirms the details — name, phone number, email, and the selected time.
Booking Is Created
The agent creates the booking. With Cal.com, both the caller and client receive confirmation emails. With Google Calendar, the event is added directly to the client’s calendar (and the caller receives a calendar invite if they provided an email).
Calendar Updated Instantly
The appointment appears on the client’s calendar immediately. The time slot is blocked so no one else can book it.
Setting Up Cal.com
The platform uses OAuth to connect to Cal.com. Your clients authorize the connection directly through Cal.com — no API keys to copy and paste, no developer settings to dig through. It’s a one-click connect flow.
Create a Cal.com Account
If your client doesn’t have one, head to cal.com and create a free account. The free plan supports one event type and basic availability — more than enough to get started.
Create Event Types in Cal.com
In Cal.com, create event types that match the appointments your client offers. For a dentist, this might be “New Patient Consultation (30 min).” For a lawyer, “Free Case Review (15 min).” Set the duration, buffer times, and availability hours for each event type.
Connect via OAuth
In the Agency Portal, navigate to the agent’s detail page and open the Connectors tab. Click Connect next to Cal.com. You’ll be redirected to Cal.com where the client (or you, on their behalf) signs in and authorizes the connection. Once authorized, you’re automatically redirected back to the agent page with the connection confirmed.
Select Event Types
After the OAuth connection is established, the platform automatically fetches all available event types from the connected Cal.com account. Select which event types this agent should offer to callers. You can choose one or multiple — for example, a “Free Consultation (15 min)” and a “Full Appointment (60 min).”
Test It
Make a test call and ask to book an appointment. Verify the agent checks availability, offers time slots, and creates the booking. Check the Cal.com dashboard to confirm the appointment appears.
Warning: Make sure the Cal.com event type has accurate availability hours. If your client works 9–5 but Cal.com shows availability until 8 PM, the agent will happily book calls at 7 PM — and your client won’t be happy about it.
Setting Up Google Calendar
Google Calendar connects via OAuth as well. Your client signs in with their Google account, grants access, and they’re done. The agent can then check their real-time availability and create events directly on their calendar.
Connect via OAuth
In the Agency Portal, navigate to the agent’s detail page and open the Connectors tab. Click Connect next to Google Calendar. You’ll be redirected to Google’s sign-in page where the client (or you, on their behalf) authorizes calendar access. Once complete, you’re redirected back with the connection confirmed.
Select a Calendar
After connecting, the platform fetches all calendars from the Google account. Select which calendar the agent should use for checking availability and creating bookings. Most clients will use their “Primary” calendar, but if they have a dedicated booking calendar, choose that instead.
Configure Meeting Types
Set up one or more meeting types for the agent to offer. Each meeting type has a name (e.g., “Consultation”), a duration (e.g., 30 minutes), and an event title template (e.g., “Appointment - {caller_name}”). The title template supports variables like {caller_name}, {caller_phone}, and {service_type}.
Set Business Hours
Configure the start and end times for the client’s working day (e.g., 9:00 AM to 5:00 PM). The agent will only offer slots within these hours, even if the Google Calendar shows open time outside them.
Set Buffer Time
Choose how many minutes of buffer to leave between appointments (default: 15 minutes). This prevents back-to-back bookings and gives the client breathing room between appointments.
Choose Timezone & Advance Booking Limit
Select the client’s timezone so the agent offers slots in the correct local time. You can also set how far in advance callers can book (default: 30 days).
Test It
Make a test call and ask to book an appointment. Verify the agent checks availability, offers time slots, and creates the booking. Check Google Calendar to confirm the event appears with the correct details.
Automatic Token Refresh: Google OAuth tokens expire after one hour, but the platform automatically refreshes them in the background. Your client never needs to reconnect unless they explicitly revoke access from their Google account settings.
Client Portal Access
Clients can manage their own calendar integrations directly from their Client Portal under the agent’s Connectors tab. The same OAuth flows apply for both Cal.com and Google Calendar — they click Connect, authorize, and they’re done. This means you don’t have to ask clients for credentials or do the setup on their behalf.
Disconnecting a Calendar
If a client needs to switch accounts or disconnect entirely, go to the agent’s Connectors tab and click Disconnect next to the calendar integration. This revokes the OAuth tokens and removes the connection. The client can reconnect at any time by going through the OAuth flow again.
Tips for Better Booking Rates
Train your agent (via the system prompt) to offer two or three specific time slots instead of asking “When would you like to come in?” Specific options reduce friction and increase booking rates. “I have Tuesday at 10 or Thursday at 2 — which works better?” is more effective than “What day were you thinking?”
Whether you’re using Cal.com or Google Calendar, add a 15–30 minute buffer between appointments. This prevents back-to-back bookings and gives your client time to prepare. A dentist cleaning that ends at 10:00 shouldn’t have the next patient booked at 10:00.
Cal.com sends automatic confirmation and reminder emails — customize these with your client’s branding, address, parking instructions, and what to bring. With Google Calendar, the caller receives a calendar invite if they provide an email. That first post-call touchpoint is a great opportunity to set expectations.
For most businesses, one meeting type is plenty. A plumber doesn’t need separate types for “leak repair” vs. “drain cleaning” — one “Service Appointment” with a reasonable duration covers it. The more options you give the agent, the more confused callers get.
If your client already uses Cal.com for online bookings from their website, use Cal.com so all bookings land in one place. If they live in Google Workspace and check Google Calendar for everything, use Google Calendar. Don’t introduce a new tool unless there’s a good reason — the best integration is the one your client already uses.
Was this page helpful?
