Related workflows: Check availability (Google Calendar).Related agents: Appointment management (Google Calendar).
What it does
The agent passes it the appointment’s start and end time (start_date and end_date, in local time) along with the customer’s name and phone number, and the workflow creates the event in your Google Calendar.
Before creating it, it queries the calendar again. If something is already booked in that slot, it creates nothing and asks the agent to offer another time — so an appointment that came in through another channel during the conversation doesn’t end up double-booked.
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
The workflow always ends in a Return Response step, with one of three outcomes:
- Slot free and event created — the agent gets
Appointment created successfully.and confirms the appointment to the customer. - Slot busy — nothing is created. The agent is told to apologize and ask for another date.
- The event couldn’t be created — the agent gets
An error has occurred.There’s no appointment, so it shouldn’t confirm one.
What you need
- A Google Calendar connection
- The calendar where appointments are created, which must be the same one Check availability queries
Getting started
1
Copy the template
From the Workflows section, open the template catalog and copy it. The workflow is created disabled.
2
Fill in the calendar variable
The template ships with a
<<calendar_id>> variable used in two steps: Check availability and Create Event. It has to be the same calendar in both, and the same one the check_availability workflow queries. If they point at different calendars, the agent offers slots from one schedule and books the appointment in another.3
Select the Google Calendar connection
Both Google Calendar steps need your connection.
4
Check the time zone
Europe/Madrid appears in the Input Time Zone field of Adapt start date and Adapt end date. If you operate in a different time zone, change both. Daylight saving time is handled automatically.5
Publish the workflow
Publish the workflow.
6
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
- The pre-check only looks at the appointment slot itself, not your opening hours. Keeping the agent from booking while the location is closed is down to its prompt, not the workflow.
nameandphoneare optional parameters. If the agent doesn’t capture them, the event is still created, titledAppointment -and with no phone number in the description.- The event is created with no guests: the customer’s phone number stays in the description and no email invitation is sent to them.
- The workflow only creates. It doesn’t cancel or reschedule existing appointments.
- It’s fixed to a single calendar. For multiple locations with separate schedules, duplicate the workflow.
- If it takes more than 60 seconds or a step fails, the agent continues without the response and won’t know whether the appointment was created.
- The appointment length is determined in the agent’s prompt.
Next Steps
Appointment management (Google Calendar)
The agent that uses this workflow.
Check availability
The other workflow the agent needs.

