Skip to main content

What it does

The agent passes it the appointment type (event_type_id), the start date and time (start_date, in local time), and the customer’s name and email, and the workflow books the appointment in Cal.com. All four are required: Cal.com doesn’t accept a booking without a name, so the agent asks for it before calling the tool. Unlike Check availability, this workflow doesn’t re-check the slot before booking: it calls Cal.com’s booking action directly and relies on Cal.com to reject an already-taken slot. If Cal.com rejects the booking, the agent gets a message telling it to apologize and offer another time, same as in Reschedule appointment. It’s a during-call workflow running in sync mode: the agent runs it mid-conversation and waits for the response before confirming the appointment to the customer.

How it works

What you need

Getting started

1

Copy the template

From the Workflows section, open the template catalog and copy it. The workflow is created disabled.
2

Select the Cal.com connection

In the Create booking in Cal step, add your Cal.com connection.
3

Check the time zone

Europe/Madrid appears in the zona input of Format start date and in the Attendee Timezone field of Create booking in Cal. If you operate in a different time zone, change both.
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 create_appointment. This step isn’t needed if the workflow was created from the agent.

Before publishing

  • There’s no slot check right before booking. Unlike check_availability, this workflow doesn’t re-query Cal.com before booking: if the slot got taken in the meantime, Cal.com is what rejects the booking, not the workflow.
  • The agent doesn’t get the reason for a rejection. If Cal.com rejects the booking, the agent always gets the same error message, without the specific reason: a step that fails and lets the workflow carry on leaves no result the router can read.
  • The success check depends on an internal field from the Cal.com piece (status: "success"), same as in Reschedule appointment.
  • The event is created with no guests: the customer’s email stays on the Cal.com booking, but the workflow doesn’t add extra guests or notes.
  • The workflow only creates. It doesn’t cancel or reschedule existing appointments; that’s what Reschedule appointment and Cancel appointment are for.
  • The appointment’s length is set by the appointment type in Cal.com, not by the workflow or the agent’s prompt.

Next Steps

Appointment management (Cal.com)

The agent that uses this workflow.

Check availability (Cal.com)

The other workflow the agent needs.