Cal.com
Prerequisites
The following example requires the pytz and requests libraries.
1uv pip install requests pytz1export CALCOM_API_KEY="your_api_key"2export CALCOM_EVENT_TYPE_ID="your_event_type_id"Example
The following agent will use Cal.com to list all events in your Cal.com account for tomorrow.
1agent = Agent(2 name="Calendar Assistant",3 instructions=[4 f"You're scheduling assistant. Today is {datetime.now()}.",5 "You can help users by:",6 "- Finding available time slots",7 "- Creating new bookings",8 "- Managing existing bookings (view, reschedule, cancel) ",9 "- Getting booking details",10 "- IMPORTANT: In case of rescheduling or cancelling booking, call the get_upcoming_bookings function to get the booking uid. check available slots before making a booking for given time",11 "Always confirm important details before making bookings or changes.",12 ],13 model=OpenAIResponses(id="gpt-5.2"),14 tools=[CalComTools(user_timezone="America/New_York")],15 markdown=True,16)1718agent.print_response("What are my bookings for tomorrow?")Toolkit Params
| Parameter | Type | Default | Description |
|---|---|---|---|
api_key | str | None | Cal.com API key |
event_type_id | int | None | Event type ID for scheduling |
user_timezone | str | None | User's timezone (e.g. "America/New_York") |
enable_get_available_slots | bool | True | Enable getting available time slots |
enable_create_booking | bool | True | Enable creating new bookings |
enable_get_upcoming_bookings | bool | True | Enable getting upcoming bookings |
enable_reschedule_booking | bool | True | Enable rescheduling bookings |
enable_cancel_booking | bool | True | Enable canceling bookings |
Toolkit Functions
| Function | Description |
|---|---|
get_available_slots | Gets available time slots for a given date range |
create_booking | Creates a new booking with provided details |
get_upcoming_bookings | Gets list of upcoming bookings |
get_booking_details | Gets details for a specific booking |
reschedule_booking | Reschedules an existing booking |
cancel_booking | Cancels an existing booking |
Developer Resources
- View Tools