How Calendar Booking Works
The Booking tool lets your AI agents schedule appointments during live conversations. Integrated with Cal.com, your agents can check availability, present time slots, confirm bookings, and send automatic confirmations.- Get available slots - Fetches available time slots from Cal.com
- Book appointment - Creates the booking with customer details
Setup
Create Cal.com Event Types
- Duration (15 min, 30 min, 60 min, etc.)
- Meeting location (Zoom, Google Meet, phone, in-person)
- Availability windows
Test Event Types
Connect Cal.com
- Go to Cal.com Settings → Developer → API Keys
- Click + Add, name it (e.g., “itellicoAI”), and save
- In itellicoAI, go to Settings → Developers → Integrations
- Open the Cal.com card, then select or create a secret that stores the API key
- Click Test Connection
- Click Connect after the test succeeds
Using Your Existing Calendar System
A common question: “We use Google Calendar / Microsoft Outlook / Microsoft 365. Can we still use Cal.com?” Yes! Cal.com integrates with your existing calendar system to prevent double bookings and check availability across all your calendars.How It Works
Cal.com connects to your company’s calendar system (Google Calendar, Microsoft Outlook, Microsoft 365, Exchange) and:- Checks availability - Reads your existing calendar to determine when you’re free
- Prevents conflicts - Cross-references all connected calendars before showing available slots
- Syncs bookings - Adds confirmed appointments to your existing calendar automatically
- Updates in real-time - When customers book through itellicoAI, the appointment appears in your company calendar immediately
Supported Calendar Systems
Cal.com integrates with:- Google Calendar - Personal and Google Account accounts
- Microsoft Outlook - Outlook.com and Outlook desktop
- Microsoft 365 - Business and enterprise accounts
- Microsoft Exchange - Exchange 2013, 2016, and newer
- Apple Calendar - iCloud calendar
Setting Up Calendar Integration
Connect Your Calendar to Cal.com
- Google Calendar: Click “Connect” and authorize Cal.com
- Microsoft Outlook/365: Click “Connect” and sign in with Microsoft
- Exchange: Click “Connect” and enter your Exchange server details
Configure Conflict Checking
- Cal.com checks all connected calendars
- Only shows times when you’re actually available
- Prevents double bookings across all systems
Common Scenarios
Company Uses Microsoft 365
Company Uses Microsoft 365
- Connect your Microsoft 365 account to Cal.com
- Cal.com reads your availability from Microsoft 365
- New bookings appear in your Microsoft 365 calendar
- Your AI agent books appointments through itellicoAI → Cal.com → Microsoft 365
Company Uses Google Account
Company Uses Google Account
- Connect your Google Account account to Cal.com
- Cal.com reads your availability from Google Calendar
- New bookings appear in your Google Calendar
- Your AI agent books appointments through itellicoAI → Cal.com → Google Calendar
Team Members Use Different Calendar Systems
Team Members Use Different Calendar Systems
- Alice connects her Google Calendar
- Bob connects his Microsoft 365 calendar
- Carol connects her Outlook calendar
Add Booking Tool
Create Tool
- Go to your agent → Tools tab
- Click Add and select Calendar Booking
- Select your Cal.com event type
Configuration
Event & Platform
Cal.com Event Type (Required)- Select from dropdown or enter event ID manually
- Each tool maps to one Cal.com event type
- Choose how meetings are hosted:
- Cal Video - Built-in Cal.com video
- Zoom - Requires Zoom connected in Cal.com
- Google Meet - Requires Google Meet connected
- Microsoft Teams - Requires Teams connected
- Phone - Phone call appointment
- In Person - Physical meeting (address required)
- Defaults to your browser’s timezone (can be changed)
- All suggested times are presented in this timezone
- Searchable dropdown with all available timezones
Scheduling Preferences
Days to Look Ahead (1-3 days, default: 2)- How many future days the agent considers when finding slots
- How many time slots per day the agent offers
- Minimum spacing between suggested times
- Earliest date the agent can suggest
- Leave blank for immediate availability
Email Configuration
The agent uses this priority to find customer email:- Dynamic Context -
cal_emailfrom your context API - Contact Record - Email stored in itellicoAI contact
- Fallback Email - Team inbox (configure below)
- Ask Customer - Agent requests email during call
- Used when customer email is unavailable
- Leave blank to force agent to always collect email
SMS Notifications
Send SMS Confirmation (Default: enabled)- Sends SMS after booking completes
- Includes meeting details and join link
- Customize the message with placeholders:
{date}- Appointment date{time}- Appointment time{link}- Meeting link{location}- In-person address{duration}- Meeting duration
- Adds the built-in scheduling script to the agent prompt
- Recommended for most agents
- Disable only if you are replacing the complete booking flow in your own prompt
Scheduling for Multiple Employees
A common scenario: “We have 3 employees who can handle appointments, each with different availability. How do we schedule across the team?” Solution: Use Cal.com Teams with Round Robin scheduling. This distributes appointments across team members based on their individual availability.What is Cal.com Teams?
With Cal.com Teams, you can create event types that multiple team members handle. Instead of booking with a specific person, customers book with your team, and Cal.com automatically assigns the appointment to an available team member.How Round Robin Works
When a customer books an appointment:- Checks availability - Cal.com checks each team member’s calendar
- Applies distribution logic - Selects the best team member based on your chosen method:
- Priority: Assign to higher-priority team members first
- Weighted: Distribute proportionally (e.g., senior staff get more bookings)
- Least recently booked: Rotate evenly by who was booked least recently
- Books with one person - Cal.com schedules the customer with the selected team member
- Updates calendar - Appointment appears in that team member’s calendar
Setting Up Team Event Types
Create a Team in Cal.com
- Go to Teams → Create Team
- Name your team (e.g., “Sales Team”, “Support Team”)
- Invite team members by email
- Each member connects their own calendar (Google, Microsoft, etc.)
Create Team Event Type
- Go to Event Types → New Event Type
- Select Round Robin as the event type
- Configure duration, meeting platform, etc.
- Select which team members can handle this event type
Configure Distribution Method
- Assign each team member a priority (High, Medium, Low)
- Higher priority members get bookings first
- Use for senior staff or specialists
- Give each member a weight percentage (default 100%)
- Higher weights = more bookings
- Use for part-time vs full-time staff
- Automatically rotates through team members
- Ensures even distribution
- Use for equal workload sharing
Advanced: Fixed + Round Robin Hosts
For scenarios where one person must always attend, while others rotate: Example: Sales calls need a sales rep (rotating) + sales manager (always present) Setup in Cal.com:- Create round robin event type
- Select Fixed Hosts: Sales Manager (always attends)
- Select Round Robin Hosts: Sales reps (one attends per call)
- Cal.com checks availability for both and books when both are free
Team Scheduling Examples
Sales Team: 3 Reps with Equal Distribution
Sales Team: 3 Reps with Equal Distribution
- Create team “Sales Team” with 3 members
- Use Least Recently Booked distribution
- Each rep connects their calendar to Cal.com
- Create event type “Sales Demo” (30 min, round robin)
Support Team: Priority-Based Assignment
Support Team: Priority-Based Assignment
- Create event type “Technical Support Call” with priority distribution
- Senior staff: High priority
- Junior staff: Medium priority
Part-Time Team: Weighted Distribution
Part-Time Team: Weighted Distribution
- Full-time staff: 100% weight each
- Part-time staff: 50% weight
- Use weighted distribution
Multi-Role Meetings
Multi-Role Meetings
- Use Round Robin Groups (advanced feature)
- Group 1: Technical specialists (one attends)
- Group 2: Account managers (one attends)
Team Integration with itellicoAI
When you connect a Cal.com team event type to itellicoAI:- Your AI agent books with the team - Not a specific person
- Cal.com handles assignment - Automatically selects the best team member
- Customer gets confirmation - With the assigned team member’s details
- Team member’s calendar updates - Appointment appears in their individual calendar
Using Booking in Your Prompt
The booking tool already has Use default booking instructions enabled by default. Keep it enabled unless you are writing and maintaining the complete booking flow yourself. When default booking instructions are enabled, use your agent prompt for business-specific booking rules, not for duplicating the step-by-step scheduling script:- who should be offered this appointment type
- which cases should be transferred instead of booked
- what information the agent should collect before offering booking
- what fallback path to use if booking is not possible
Recommended Prompt Additions
Reference the tool by its auto-generated name only when you need business-specific behavior:Replacing the Default Booking Flow
Only turn off Use default booking instructions if you need full control over the scheduling conversation. If you disable it, your prompt must cover consent before checking availability, collecting email when needed, confirming the exact slot before booking, and handling no-availability cases.Handle Booking Failures
Testing
Verify Integration
- Cal.com integration shows “Connected”
- Event types appear in dropdown
- Meeting platforms configured in Cal.com
Test Booking Flow
- Start test call with your agent
- Request appointment booking
- Verify agent presents available times
- Confirm booking completes
Check Confirmations
- Email confirmation received
- SMS confirmation sent (if enabled)
- Meeting link works
- Calendar updated
Troubleshooting
Booking Action Not Appearing
Booking Action Not Appearing
- Go to Settings → Developers → Integrations
- Open the Cal.com card
- Verify status shows “Connected”
No Event Types in Dropdown
No Event Types in Dropdown
- Create event types in Cal.com
- Disconnect and reconnect integration if needed
Meeting Platform Disabled
Meeting Platform Disabled
- Go to Cal.com event type settings
- Connect the platform (Zoom, Google Meet, etc.)
- Disconnect and reconnect integration to sync changes
Email Confirmation Not Received
Email Confirmation Not Received
- Wrong email address
- Spam folder
- Cal.com email settings
- Check spam/junk folder
- Verify email in booking confirmation
- Check Cal.com notification settings
Agent Doesn't Use Action
Agent Doesn't Use Action
- Action name not referenced in prompt
- Agent doesn’t recognize booking intent
- LLM not performing well with function calling
- Reference exact auto-generated name (e.g., ‘Book 30-Minute Consultation’)
- Check the Actions tab to see the actual name
- Verify action is added to the agent
- Add explicit booking flow to your prompt
- Test with clear: “I want to book an appointment”
- Try GPT-4.1 or GPT-4.1-mini for most reliable function calling
- Reduce temperature for more consistent behavior