Learn how to integrate our Conversational AI platform with Cal.com for automated meeting scheduling

Overview

With our Cal.com integration, your AI assistant can seamlessly schedule meetings by checking calendar availability and booking appointments. This integration streamlines the scheduling process by automatically verifying available time slots, collecting attendee information, and creating calendar events. Benefits include eliminating scheduling back-and-forth, reducing manual effort, and enhancing the meeting booking experience.

How it works

We lay out below how we have configured the Conversational AI agent to schedule meetings by using tool calling to step through the booking process. Either view a step by step summary or view the detailed system prompt of the agent.

1

Initial Inquiry & Meeting Details

Configure your agent to ask for meeting purpose, preferred date/time, and duration to gather all necessary scheduling information.

2

Check Calendar Availability

Configure the agent to check calendar availability by:

  • Using the get_available_slots tool to fetch open time slots
  • Verifying if the requested time is available
  • Suggesting alternatives if the requested time is unavailable
  • Confirming the selected time with the caller
3

Contact Information Collection

Once a time is agreed upon:

  • Collect and validate the attendee’s full name
  • Verify email address accuracy
  • Confirm time zone information
  • Gather any additional required fields for your Cal.com setup
4

Meeting Creation

  • Use the book_meeting tool after information verification
  • Follow the booking template structure
  • Confirm meeting creation with the attendee
  • Inform them that they will receive a calendar invitation

Setup

1

Store your cal.com secret

To make authenticated requests to external APIs like Cal.com, you need to store your API keys securely. Start by generating a new Cal.com API key.

Not all APIs have the same authentication structure. For example, the Cal.com API expects the following authentication header:

Cal request header structure
'Authorization': 'Bearer YOUR_API_KEY'

Once you have your API key, store it in the assistant’s secret storage. This ensures that your key is kept secure and accessible when making requests.

To match the expected authentication structure of Cal.com, remember to prepend the API key with Bearer when creating the secret.

Tool secrets

2

Adding tools to the assistant

To enable your assistant to manage calendar bookings, we’ll create two tools:

  1. get_available_slots: When a user asks, “Is Louis free at 10:30 AM on Tuesday?”, the assistant should use Cal.com’s “Get available slots” endpoint to check for available time slots.

  2. book_meeting: After identifying a suitable time, the assistant can proceed to book the meeting using Cal.com’s “Create a booking” endpoint.

First, head to the Tools section of your dashboard and choose Add Tool. Select Webhook as the Tool Type, then fill in the following sections:

Metadata used by the assistant to determine when the tool should be called:

FieldValue
Nameget_available_slots
DescriptionThis tool checks if a particular time slot is available in the calendar.
MethodGET
URLhttps://api.cal.com/v2/slots

Metadata used by the assistant to determine when the tool should be called:

FieldValue
Namebook_meeting
DescriptionThis tool books a meeting in the calendar once a time is agreed.
MethodPOST
URLhttps://api.cal.com/v2/bookings

Test your new assistant by pressing the Test AI agent button to ensure everything is working as expected. Feel free to fine-tune the system prompt.

3

Enhancements

By default, the assistant does not have knowledge of the current date or time. To enhance its capabilities, consider implementing one of the following solutions:

  1. Create a time retrieval tool: Add another tool that fetches the current date and time.

  2. Overrides: Use the overrides functionality to inject the current date and time into the system prompt at the start of each conversation.

Security Considerations

  • Use HTTPS endpoints for all webhook calls.
  • Store sensitive values as secrets using the ElevenLabs Secrets Manager.
  • Validate that all authorization headers follow the required format (Bearer YOUR_API_KEY).
  • Never expose event type IDs or API details to callers.

Conclusion

This guide details how to integrate Cal.com into our conversational AI platform for efficient meeting scheduling. By leveraging webhook tools and calendar availability data, the integration streamlines the booking process, reducing scheduling friction and enhancing overall service quality.

For additional details on tool configuration or other integrations, refer to the Tools Overview.

Built with