Skip to main content
Automated Scheduling: The Call Booking function allows your AI agents to book appointments directly in your Cal.com calendar during conversations, streamlining the scheduling process from inquiry to confirmation.

Interactive Demo

See how to set up the Call Booking function for both simple agents and workflow agents:

Overview

The Call Booking function integrates your Cal.com calendars with your AI agents, enabling them to book appointments automatically during conversations. This powerful feature completes the scheduling process by not just checking availability, but actually creating confirmed bookings. Key Benefits:
  • Book appointments automatically during conversations
  • Eliminate back-and-forth scheduling coordination
  • Reduce no-shows with instant calendar confirmations
  • Seamlessly integrate with your existing Cal.com setup
Integration: This function uses Cal.com, a popular open-source scheduling platform.
Prerequisites: You need a Cal.com account to use this function. Sign up at cal.com if you haven’t already.

Setup Instructions

Add Call Booking to Simple Agents

Follow these steps to add the Call Booking function to your AI voice agent:

Step 1: Navigate to Simple Agents

From your dashboard sidebar, click on Simple Agents.

Step 2: Select Your Agent

Click on the agent you want to configure from the list.

Step 3: Open Custom Functions Tab

Click on the Custom Functions tab in the agent configuration.

Step 4: Add New Function

Click the Add Function button to open the function selection menu.

Step 5: Select Call Booking

Click on Call Booking from the available functions. A configuration popup will appear with two setup modes.
Choose Call Booking Function

Configuration Modes for Simple Agents

Cal.com offers two ways to connect your calendar: Static Mode (no API key required) and Webhook Mode (requires API key for more control). Choose the mode that best fits your needs.

Static Mode Configuration

Static mode fetches publicly available event types using your Cal.com username or organization slug. This is the easiest way to get started and doesn’t require an API key.

Step 1: Enter Cal.com Username or Organization Slug

Enter Username or Organization Slug
Enter your Cal.com username or organization slug:
  • Username: Your personal Cal.com username (e.g., jane if your Cal.com URL is cal.com/jane)
    • Find it in your Cal.com profile settings
  • Organization Slug: Your organization’s Cal.com slug (e.g., acme if your team URLs are like acme.cal.com/jane or schedule.acme.com/jane)
    • Find it in your organization settings

Step 2: Fetch Event Types

Fetch Event Types
Click the Fetch Event Types button to retrieve all publicly available event types from your Cal.com account.After fetching, you’ll see a dropdown list of all your available event types (e.g., “30 Minute Meeting”, “Discovery Call”, “Consultation”).Choose an Event Type from the dropdown that you want your AI agent to book appointments for.Click Next to continue.

Step 3: Configure Function Options

Configure Function Options
Configure the following options:

Function Name

Give your function a descriptive name in snake_case (e.g., book_consultation, schedule_meeting, book_appointment).

Description

Describe when this function should be used. This helps the AI understand when to book appointments.Examples:
  • “Use this when the customer wants to book a consultation appointment”
  • “Book this when the customer confirms they want to schedule a meeting”
  • “Use this to create an appointment booking in the calendar”

Timezone (Optional)

Specify the timezone for booking appointments (e.g., America/New_York or Europe/London). If not provided, Cal.com will use its default timezone (UTC).

Step 4: Create Function

Click Create Function to save your configuration. The function is now ready to use!

Step 5: Test the Function

Test your newly created function:
  1. Start a call or conversation with your AI agent
  2. Ask your agent to book an appointment, for example:
    • “I’d like to book an appointment for Tuesday at 2 PM”
    • “Can you schedule me for next Monday at 10 AM?”
    • “Book me for the 3 PM slot on Thursday”
Your agent will use the function to create a booking in your Cal.com calendar and confirm the appointment with the customer.
Static mode uses public event types, so ensure the event type you selected is set to “Public” in your Cal.com settings.

Agent Prompt Example

To help your AI agent use the booking function effectively, add clear instructions to your agent’s system prompt:

Pro Tip: Combine with Check Calendar Availability

Best Practice: For the best user experience, combine the Call Booking function with the Check Calendar Availability function.This allows your agent to:
  1. First check available time slots when customers ask “When are you available?”
  2. Then book the appointment once the customer chooses a preferred time
This two-step approach reduces booking conflicts and provides a smoother scheduling experience.

Configuration Best Practices

  • Ensure you have customer name and email before booking
  • Confirm the exact date and time
  • Verify timezone if dealing with customers in different regions
  • Ask about any special requirements
  • Be specific about when to trigger (e.g., “when customer confirms booking”)
  • Mention the type of appointment or meeting
  • Include any prerequisites for booking
  • Test with your own email first
  • Try booking different time slots
  • Verify confirmation emails are sent
  • Check that bookings appear in your Cal.com calendar
  • Always specify timezone in the configuration
  • Train your agent to confirm timezone with customers
  • Mention timezone when confirming bookings
  • Train your agent to handle booking conflicts gracefully
  • Provide alternative times if preferred slot is unavailable
  • Have a fallback process for failed bookings

Use Cases and Examples

Scenario: Sales agent books consultation calls automaticallyConfiguration:
  • Mode: Static or Webhook
  • Event Type: “30 Minute Sales Consultation”
  • Description: “Use this when prospects confirm they want to book a consultation”
Agent Interaction:
Scenario: Healthcare practice books patient appointmentsConfiguration:
  • Mode: Webhook (for private scheduling)
  • Event Type: “Doctor Appointment”
  • Description: “Use this when patients confirm they want to book an appointment”
Agent Interaction:
Scenario: Service business books on-site visitsConfiguration:
  • Mode: Static
  • Event Type: “On-site Service Call”
  • Description: “Use when customers confirm they want to book a service appointment”
Agent Interaction:
Scenario: Recruiting team books candidate interviewsConfiguration:
  • Mode: Webhook
  • Event Type: “Candidate Interview - 45 min”
  • Description: “Use when candidates confirm they want to schedule an interview”
Agent Interaction:

Difference: Static vs Webhook Mode

Static Mode

Advantages:
  • No API key required
  • Quick and easy setup
  • Perfect for public event types
  • Minimal configuration needed
Best For:
  • Simple booking needs
  • Public-facing scheduling
  • Getting started quickly
  • Single-user calendars

Webhook Mode

Advantages:
  • Access to private event types
  • More configuration options
  • Enhanced security
  • Advanced features (custom fields, webhooks)
Best For:
  • Private/internal scheduling
  • Advanced configuration needs
  • Team calendars
  • Enterprise use cases

Frequently Asked Questions

Yes, you need a Cal.com account to use this function. Cal.com offers both free and paid plans. You can sign up at cal.com.
Static mode fetches publicly available event types using your username/organization slug and requires no API key. Webhook mode uses your Cal.com API key for access to private event types and more advanced configuration options.
  1. Go to Cal.com and open your Event Types
  2. Click on the event type you want to use
  3. Look at the URL in your browser’s address bar
  4. The Event Type ID is the number between the slashes (e.g., app.cal.com/event-types/123456)
For more details, see Cal.com’s official guide.
Yes! Create multiple Call Booking functions, one for each event type. Give each function a clear name and description so your AI agent knows which one to use for different scenarios.
The basic requirements are:
  • Customer name
  • Customer email address
  • Desired date and time
Additional information may be required depending on your Cal.com event type configuration (phone number, custom questions, etc.).
Yes! When an appointment is booked through this function, Cal.com automatically sends confirmation emails to the customer with calendar invites and meeting details.
Bookings created through this function are standard Cal.com appointments. Customers can cancel or reschedule using the links in their confirmation emails, or you can manage them directly in your Cal.com dashboard.
Train your agent to check availability first using the Check Calendar Availability function before booking. If a booking fails due to a conflict, your agent should offer alternative times to the customer.
Yes, you can edit the function configuration at any time. Go to the Custom Functions tab in your agent settings and edit the function as needed.
Yes! Both Static and Webhook modes support team event types. Just make sure to use the correct organization slug (Static mode) or Event Type ID (Webhook mode) for your team event.

Troubleshooting

Possible causes:
  • Incorrect username or organization slug
  • Event types are set to private in Cal.com
  • Network connectivity issues
Solutions:
  • Verify your Cal.com username/organization slug is correct
  • Ensure your event types are set to “Public” in Cal.com settings
  • Check your internet connection
  • Try refreshing the page and fetching again
Possible causes:
  • Invalid API key
  • API key was revoked or expired
  • Incorrect Event Type ID
Solutions:
  • Double-check your API key is copied correctly
  • Generate a new API key in Cal.com settings
  • Verify the Event Type ID is correct (check the URL in Cal.com)
  • Ensure the API key has the necessary permissions
Possible causes:
  • Time slot no longer available
  • Missing required information (name, email)
  • Timezone mismatch
  • Event type settings issue
Solutions:
  • Check availability before booking
  • Ensure all required fields are collected
  • Verify timezone settings in both function and Cal.com
  • Review event type configuration in Cal.com
Possible causes:
  • Email address entered incorrectly
  • Cal.com email notifications disabled
  • Emails going to spam folder
Solutions:
  • Verify email address is correct
  • Check Cal.com notification settings
  • Ask customer to check spam/junk folder
  • Add Cal.com to safe senders list
Possible causes:
  • Function description is unclear
  • Agent prompt doesn’t instruct AI to use the function
  • Missing customer confirmation
Solutions:
  • Update the function description to be more specific
  • Add clear instructions to your agent’s system prompt
  • Train agent to get explicit booking confirmation from customer
  • Review the function execution logs

Need Help?

If you encounter issues or have questions about the Call Booking function:
  • Test with your own email first to verify setup
  • Review your function description and agent prompt
  • Check your Cal.com event type settings and availability
  • Verify API key permissions (webhook mode)
  • Review function execution logs in your dashboard
  • Ensure all required customer information is collected
For technical support or questions about Cal.com integration, contact our support team.