Workflow Trigger – Service Booking (Services v2)

Modified on: Wed, 27 Aug, 2025 at 8:14 AM

The Service Booking trigger lets you automate workflows whenever a Service Booking (which may include multiple services/appointments) is created or updated. Unlike appointment-level triggers (which act on individual calendar appointments), this trigger works at the main booking level. So if a customer books multiple services at once (for example, a haircut, facial, and massage in a single checkout), the workflow is triggered only once for the entire booking — not three times. This helps you avoid duplicate actions while still giving you access to all the service details in one place.


When It’s Triggered

The workflow activates whenever a new Service Booking is created through:

  • Booking Page – when a customer self-books online

  • User – when staff manually create a booking


Key Differences from Appointment Status Trigger

  • Appointment Status Trigger → Works only for calendar appointments.

  • Service Booking Trigger → Works only for Services (v2) bookings.

  • If a booker schedules multiple services (e.g., 5 services) under one Service Booking, the workflow triggers once (not 5 times).

    • Example: If your workflow action is “Send Email,” only one email is sent containing all booked services — provided you use Service Booking custom values.


Available Filters

  • Appointment Status (Unconfirmed, Confirmed, Showed, No Show, Cancelled, Invalid)

  • Created By / Modified By
  • Has Tag

  • In Service (specific service)

  • In Service Category (service grouping)

  • In Service Location


Trigger Visibility


This trigger is only visible if Services (v2) is enabled in the subaccount. If Services (v2) is disabled for a subaccount:

  • New workflows → The Service Booking trigger will not be available for selection.

  • Existing workflows (that already include this trigger):

    • New bookings will be blocked (the trigger will not fire).

    • Existing bookings → If the booking status is updated, the workflow will still trigger as expected.


Order Submission Trigger Behavior with Service Bookings


By default, whenever a Service Booking is created, an Order is automatically generated. To prevent duplicate automations, the Order Submitted trigger will not fire for the orders created via service-bookings.


However, if you want workflows to also trigger for these orders, you must explicitly add a filter:

  • Order Source = Calendar


This ensures that Order-based workflows only run for service-booking orders when the business explicitly wants them to — by applying the filter Order Source = Calendar to the Order Submitted trigger.


Supported Appointment Actions


ActionStatusNotes
Update Appointment Status✅ SupportedBased on Service Booking ID
Create Appointment Note✅ SupportedBased on Service Booking ID. Notes apply to the Service Booking as a whole
Book AppointmentNot supportedNA
Conversation AI Booking BotNot supportedNA
Eliza BookingNot supportedNA

Using Custom Values with Service Bookings


When someone books a service, you can automatically include their booking details (like service name, date, time, price, staff, and add-ons) in your emails, texts, or reminders.


What details are available?

For each booked service, you can display:

  • Service Name – e.g., “Haircut” or “Massage”

  • Price – the cost of the service

  • Duration – how long the service lasts (e.g., 60 minutes)

  • Date & Time – when the appointment is scheduled

  • Timezone – the customer’s local timezone

  • Assigned Staff – which team member the appointment is with

  • Add-ons – any extras the customer selected (with prices)


If multiple services are booked together, each service (and its add-ons) will be listed one after another.


Example: How it looks in your template

{{#each serviceBooking.services}} {{this.name}} - {{this.duration}} | Price: {{this.price}} Date: {{this.startDate}} at {{this.startTime}} ({{this.timezone}}) With: {{this.assignedUser}} {{#if addOns}} Add-ons: {{#each addOns}} - {{this.addonName}} ({{this.addonPrice}}) {{/each}} {{/if}} {{/each}}


What this does:

  • The {{#each serviceBooking.services}} ... {{/each}} block repeats everything inside it for each booked service.

  • So if a customer books 3 services, this section will repeat 3 times (once for each service).

  • Add-ons (if selected) will be listed under the respective service.


How to customize it


If you want to show additional information (like a staff member’s full name), simply place your cursor inside the block and add the extra placeholder.


Example with staff name included:

{{#each serviceBooking.services}} {{this.name}} - {{this.duration}} | Price: {{this.price}} Staff User: {{this.user.name}} Date: {{this.startDate}} at {{this.startTime}} ({{this.timezone}}) With: {{this.assignedUser}} {{/each}}

This way, you can fully personalize confirmation emails or reminders with the exact service details your customer booked.


Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article