Integrations
Cal.com
Enable your AI agents to check calendar availability and book appointments directly during calls.
Overview
The Cal.com integration allows your AI agents to perform real-time calendar actions during conversations. Agents can check your team's availability and book appointments without any manual intervention.
Check Availability
Query real-time availability for any event type
Book Appointments
Create bookings with caller details and custom fields
Prerequisites
- A Cal.com account (free or paid)
- At least one event type configured in Cal.com
- A Flametalk agent deployed
Setup
Get Your Cal.com API Key
- a
Log in to your Cal.com account.
- b
Go to Settings → Developer → API Keys.
- c
Click Create new API key.
- d
Give it a name (e.g., "Flametalk Integration") and copy the key.
Keep your API key secure
Your Cal.com API key grants full access to your calendar. Never share it publicly or commit it to version control.
Find Your Event Type ID
- a
Go to Event Types in Cal.com.
- b
Click on the event type you want agents to book.
- c
Note the URL slug (e.g.,
30minorconsultation).
Connect Cal.com in Flametalk
- a
Go to Settings → Integrations in Flametalk.
- b
Click Connect next to Cal.com.
- c
Enter your API key and save.
Enable Calendar Actions in Your Agent
- a
Edit your agent and go to the Actions tab.
- b
Enable Calendar Actions.
- c
Select the Cal.com event type to use for bookings.
- d
Deploy your agent.
Agent Instructions Example
Update your agent's instructions to guide it on when and how to use calendar actions:
# Booking Appointments When a caller wants to schedule a meeting: 1. Ask what day/time works best for them2. Check availability using the calendar action3. Offer 2-3 available time slots4. Once they choose, collect their: - Full name - Email address - Brief description of what they want to discuss5. Book the appointment6. Confirm the booking details ## Example Response "I'd be happy to help you schedule a consultation. Let me checkwhat times are available this week. I see openings on Tuesday at2 PM and Wednesday at 10 AM—do either of those work for you?" ## Important- Always confirm the email address by spelling it back- Offer alternatives if their preferred time isn't available- Send a confirmation at the end of the callAvailable Actions
check_availability
Query available time slots for a date range.
Parameters:
start_date- Start of date range (YYYY-MM-DD)end_date- End of date range (YYYY-MM-DD)timezone- Caller's timezone (optional)
book_appointment
Create a booking at a specific time.
Parameters:
datetime- ISO 8601 datetimename- Attendee's full nameemail- Attendee's emailnotes- Meeting notes (optional)
Testing the Integration
- 1
Make a test call to your agent.
- 2
Ask to schedule an appointment.
- 3
Verify the booking appears in your Cal.com dashboard.
- 4
Check that confirmation emails are sent.
Best Practices
Set Buffer Times
Configure buffer times in Cal.com between appointments to avoid back-to-back bookings.
Confirm Email Addresses
Train your agent to spell back email addresses for confirmation to avoid typos that prevent calendar invites.
Handle Edge Cases
Instruct your agent on what to do when no slots are available (e.g., offer to check the following week).
Troubleshooting
| Issue | Solution |
|---|---|
| No slots showing as available | Check your Cal.com availability settings and ensure the event type isn't blocked. |
| Booking fails with auth error | Regenerate your Cal.com API key and update it in Flametalk settings. |
| Wrong timezone for slots | Ensure the agent passes the caller's timezone or defaults are set correctly in Cal.com. |