Cal.com
The Cal.com extension gives your AI agent the ability to manage appointments. Users can book meetings, check existing bookings, and cancel appointments — all within the conversation, on any channel.
Prerequisites
Section titled “Prerequisites”Before setting up the Cal.com extension, make sure you have:
- A Cal.com account (free or paid plan).
- At least one Event Type configured in Cal.com (e.g., “30 Minute Meeting”).
- A Cal.com API Key (generated from your Cal.com settings).
1. Enable the extension
Section titled “1. Enable the extension”- Navigate to your agent’s Extensions page.
- In the Explore tab, find Cal.com under the Calendar category.
- Click the card to open the configuration page.
2. Enter your credentials
Section titled “2. Enter your credentials”| Field | Description |
|---|---|
| Cal API Key | Your API key from Cal.com. Go to Cal.com > Settings > Developer > API Keys and create a new key. |
| Cal Username | Your Cal.com username — the name in your profile URL: cal.com/YOUR-USERNAME. |
| Event Type Slug | The last part of your booking URL: cal.com/username/THIS-PART (e.g., 30min, 60min). |
Click Save to activate the integration.
Available tools
Section titled “Available tools”Once enabled, your agent gains three scheduling capabilities that it can use during conversations:
Generate booking link
Section titled “Generate booking link”Creates a personalized scheduling link so the user can book an appointment directly. The agent shares the link in the conversation, and the user can click to pick a time slot.
Example conversation:
User: I’d like to schedule a meeting. Agent: Sure! Here’s a link to book a time that works for you: Book a meeting
Check bookings
Section titled “Check bookings”Looks up upcoming bookings for a user by their email address. Useful when someone wants to confirm or review their scheduled appointments.
Example conversation:
User: Do I have any upcoming meetings? Agent: Let me check… You have a 30-minute meeting scheduled for April 10 at 2:00 PM.
Cancel booking
Section titled “Cancel booking”Cancels an existing booking by its ID, with an optional cancellation reason. The agent can help users cancel without leaving the conversation.
Example conversation:
User: I need to cancel my appointment on April 10. Agent: I’ve cancelled your booking for April 10 at 2:00 PM. Would you like to reschedule?
How it works
Section titled “How it works”- A user asks about scheduling in any channel (WhatsApp, Instagram, or Live Chat).
- The AI agent recognizes the intent and uses the appropriate Cal.com tool.
- The tool interacts with the Cal.com API to generate links, look up bookings, or cancel appointments.
- The agent presents the result to the user in the conversation.
No special commands or keywords are needed — the agent understands natural language requests about scheduling.
Configuration tips
Section titled “Configuration tips”- Use a descriptive event type — name your Cal.com event types clearly (e.g., “Product Demo”, “Support Call”) so the agent can reference them naturally.
- Set availability in Cal.com — the agent generates links based on your Cal.com availability. Make sure your available hours are configured correctly in Cal.com settings.
- One event type per agent — each agent is configured with a single event type slug. If you need different appointment types, consider creating separate agents or using the most common event type.
Troubleshooting
Section titled “Troubleshooting”| Problem | Solution |
|---|---|
| Agent can’t generate booking links | Verify your Cal Username and Event Type Slug are correct. Test the URL manually: cal.com/username/slug. |
| ”Invalid API key” error | Generate a new API key from Cal.com > Settings > Developer > API Keys. |
| Bookings not found | Ensure the email address used for lookup matches the one used when booking. |
| Wrong availability shown | Check your availability settings in Cal.com. The extension uses whatever schedule you’ve configured there. |
Next steps
Section titled “Next steps”- Configure behavior — customize how your agent handles scheduling requests.
- Triggers — automate actions when appointments are booked or cancelled.
- Conversations — review conversations where appointments were managed.