Related workflows: Create appointment (Cal.com).Related agents: Appointment management (Cal.com).
What it does
The agent passes it the appointment type (event_type_id) and the time range to check (start_time and end_time, in local time), and the workflow returns the free slots in Cal.com for that appointment type within that window, already in local time.
Each slot in the list comes with fecha and hora (date and time) in local time, plus an internal inicio_utc field the agent must ignore entirely.
It’s a during-call workflow: the agent runs it mid-conversation and waits for the result before carrying on.
How it works
If there are no free slots in the requested range, the response tells the agent explicitly so it can ask for another day.
What you need
- A Cal.com connection
- The appointment type (
event_type_id) it will check, which the agent gets from the Get event types (Cal.com) workflow
Getting started
1
Copy the template
From the Workflows section, open the template catalog and copy it. The workflow is created disabled. It can also be created from the Appointment management (Cal.com) agent template.
2
Select the Cal.com connection
In the Get available slots in Cal step, add your Cal.com connection.
3
Check the time zone
Europe/Madrid appears in three places: the zona input of Convert range to UTC (twice, for the start and the end) and the Time Zone field of Get available slots in Cal. If you operate in a different time zone, change all three. Daylight saving time is handled automatically.4
Publish the workflow
Publish the workflow.
5
Assign it to the agent
Add it from the agent’s Workflows section. The workflow’s name is the tool name the agent sees, so leave it as
check_availability. This step isn’t needed if the workflow was created from the agent.Before publishing
- The workflow only reads. Creating the appointment is handled by
create_appointment. - The
event_type_idhas to exist in Cal.com. If the agent sends an id that doesn’t match any appointment type, the query to Cal.com fails and the workflow never returns any slots. - Slots are calculated according to that appointment type’s availability settings in Cal.com (hours, buffers, blocked days), not anything the workflow defines. To change when appointments can be booked, edit it directly in Cal.com.
- Each slot’s
inicio_utcfield is internal: it’s only used to sort the list. If the agent reads it out loud, it’ll sound wrong — the instruction to ignore it lives in the Return Response message, don’t remove it if you edit that step.
Next Steps
Appointment management (Cal.com)
The agent that uses this workflow.
Create appointment (Cal.com)
The workflow that books the chosen slot.
During-call workflows
If you want to modify the workflow’s steps.

