Interactive Demo
See how to set up the Check Calendar Availability function for simple agents:Overview
The Check Calendar Availability function integrates your Cal.com calendars with your AI agents, enabling them to check available time slots in real-time during conversations. This powerful feature helps automate scheduling by letting your agent instantly tell customers when you’re available. Key Benefits:- Check real-time calendar availability during conversations
- Provide instant responses to “When are you available?” questions
- Reduce back-and-forth scheduling coordination
- Automate the first step of appointment booking
Add Check Calendar Availability to Simple Agents
Follow these steps to add the Check Calendar Availability 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 Check Calendar Availability
Click on Check Calendar Availability from the available functions. A configuration popup will appear with two setup modes.
Configuration Modes
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
- Webhook Mode
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

- Username: Your personal Cal.com username (e.g.,
janeif your Cal.com URL iscal.com/jane)- Find it in your Cal.com profile settings
- Organization Slug: Your organization’s Cal.com slug (e.g.,
acmeif your team URLs are likeacme.cal.com/janeorschedule.acme.com/jane)- Find it in your organization settings
Step 2: Fetch Event Types

Step 3: Configure Function Options

Function Name
Give your function a descriptive name in snake_case (e.g.,check_30min_meeting_availability, check_consultation_slots).Description
Describe when this function should be used. This helps the AI understand when to check availability.Examples:- “Use this when the customer asks about available time slots for a consultation”
- “Check this when the customer wants to know when I’m free for a meeting”
- “Use this to find available appointment times”
Timezone (Optional)
Specify the timezone for checking availability (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:- Start a call or conversation with your AI agent
- Ask your agent to check for available slots, for example:
- “What times are available this week?”
- “When is the next available appointment?”
- “Show me available slots for next Monday”
Update Your Agent Prompt
To help your AI agent use the calendar check function effectively, add instructions to your bot’s system prompt:Configuration Best Practices
Write Clear Function Descriptions
Write Clear Function Descriptions
- Be specific about when to trigger (e.g., “when customers ask about availability”)
- Mention the type of appointment or meeting
- Include example questions customers might ask
Test Your Function
Test Your Function
- Test with your own calendar first
- Try asking different availability questions
- Verify the agent responds with correct time slots
Handle Timezones
Handle Timezones
- Specify timezone in the configuration if needed
- Train your agent to clarify timezone with customers
- Always mention timezone when presenting available slots
Use Cases and Examples
Sales Consultation Scheduling
Sales Consultation Scheduling
- Mode: Static or Webhook
- Event Type: “30 Minute Sales Consultation”
- Description: “Check this when prospects ask about scheduling a consultation call”
Medical Appointment Booking
Medical Appointment Booking
- Mode: Webhook (for private scheduling)
- Event Type: “Doctor Appointment”
- Description: “Use this when patients ask about available appointment times”
Service Provider Scheduling
Service Provider Scheduling
- Mode: Static
- Event Type: “On-site Service Call”
- Description: “Check when customers need to schedule a service appointment”
Interview Scheduling
Interview Scheduling
- Mode: Webhook
- Event Type: “Candidate Interview - 45 min”
- Description: “Use when candidates need to schedule an interview”
Difference: Static vs Webhook Mode
Static Mode
- No API key required
- Quick and easy setup
- Perfect for public event types
- Minimal configuration needed
- Simple scheduling needs
- Public-facing availability
- Getting started quickly
- Single-user calendars
Webhook Mode
- Access to private event types
- More configuration options
- Enhanced security
- Advanced features (buffer times, custom ranges)
- Private/internal scheduling
- Advanced configuration needs
- Team calendars
- Enterprise use cases
Frequently Asked Questions
Do I need a Cal.com account?
Do I need a Cal.com account?
What's the difference between Static and Webhook mode?
What's the difference between Static and Webhook mode?
How do I find my Event Type ID?
How do I find my Event Type ID?
- Go to Cal.com and open your Event Types
- Click on the event type you want to use
- Look at the URL in your browser’s address bar
- The Event Type ID is the number between the slashes (e.g.,
app.cal.com/event-types/123456)
Can I check availability for multiple event types?
Can I check availability for multiple event types?
Will this automatically book appointments?
Will this automatically book appointments?
How real-time is the availability check?
How real-time is the availability check?
What happens if there's no availability?
What happens if there's no availability?
Can I edit the function after creating it?
Can I edit the function after creating it?
Troubleshooting
Unable to fetch event types (Static Mode)
Unable to fetch event types (Static Mode)
- Incorrect username or organization slug
- Event types are set to private in Cal.com
- Network connectivity issues
- 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
API authentication failed (Webhook Mode)
API authentication failed (Webhook Mode)
- Invalid API key
- API key was revoked or expired
- Incorrect Event Type ID
- 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
Function not triggering during conversations
Function not triggering during conversations
- Function description is unclear
- Agent prompt doesn’t instruct AI to use the function
- Customer’s request doesn’t match expected triggers
- Update the function description to be more specific
- Add clear instructions to your agent’s system prompt
- Test with explicit phrases like “check availability” or “show available times”
- Review the function execution logs
Need Help?
If you encounter issues or have questions about the Check Calendar Availability function:- Test with your own calendar first to verify setup
- Review your function description and agent prompt
- Check your Cal.com event type settings
- Verify API key permissions (webhook mode)
- Review function execution logs in your dashboard