How the Service Booking Workflow Trigger Works in Sparkforge
The Service Booking trigger (Services v2) fires once per booking, even when a customer schedules multiple services in a single checkout. That avoids duplicate emails and gives you all service details — name, duration, price, staff, add-ons — in one workflow run.
The Service Booking trigger handles automation at the booking level instead of the appointment level. If a customer books a haircut, facial, and massage in one checkout, the workflow runs once with all three services attached — not three times. This article covers when it fires, how it differs from appointment status triggers, and how to use custom values to display every booked service in a single message.
What the trigger does
The Service Booking trigger automates workflows whenever a Service Booking is created or updated. A Service Booking can contain multiple appointments — the trigger acts on the parent booking, so you get one workflow run with all the data.
Why this matters
- No duplicate messages. One run per booking, even with multiple services.
- Personalized comms. Pull service name, date, time, duration, staff, add-ons, and timezone into one email or SMS.
- Targeted filtering. Filter by status, service, category, location, tag, or who created or modified the booking.
- Multi-service summaries. One confirmation can list every service and add-on the customer purchased.
When the trigger fires
It activates when a new Service Booking is created via:
- Booking page — the customer self-books online.
- User — staff creates the booking manually.
Service Booking vs Appointment Status
These two triggers look similar but operate at different levels:
- Appointment Status trigger — works on individual calendar appointments.
- Service Booking trigger — works only on Services (v2) bookings.
If a customer schedules five services in one Service Booking, the Service Booking trigger fires once. The Appointment Status trigger would fire on each appointment individually.
Available filters
- Appointment Status — Unconfirmed, Confirmed, Showed, No Show, Cancelled, Invalid.
- Created By or Modified By
- Has Tag
- In Service (specific service)
- In Service Category
- In Service Location
Trigger visibility
The trigger is only visible when Services (v2) is enabled in the sub-account. If Services (v2) is disabled:
- New workflows can't add the Service Booking trigger.
- Existing workflows with the trigger won't fire on new bookings, but existing bookings still trigger when their status changes.
Order Submission and service bookings
Every Service Booking generates an Order in the background. To prevent duplicate automation, the Order Submitted trigger does not fire for those orders by default.
If you do want Order workflows to run for service-booking orders, add the filter Order Source = Calendar on the Order Submitted trigger.
Supported appointment actions
| Action | Status | Notes |
|---|---|---|
| Update Appointment Status | Supported | Based on Service Booking ID |
| Create Appointment Note | Supported | Notes apply to the whole Service Booking |
| Book Appointment | Not supported | — |
| Conversation AI Booking Bot | Not supported | — |
| Eliza Booking | Not supported | — |
Use custom values to list every booked service
For each service in the booking you can pull: service name, price, duration, date and time, timezone, assigned staff, and any add-ons. Wrap the fields in an {{#each serviceBooking.services}} block to repeat once per service.
{{#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}}If the customer books three services, the block renders three times. Add-ons appear under their parent service. To show a staff member's full name, drop {{this.user.name}} inside the loop.
Frequently Asked Questions
Does this trigger fire once per booking or once per appointment?
Why don't my Order Submitted workflows fire for service bookings?
What's the difference between Service Booking and Appointment Status triggers?
Can I list every booked service in a single email?
What happens if I disable Services (v2) on a sub-account?
Was this article helpful?
Thanks for the feedback.