- Integrations
- /
- Acuity Scheduling
- /
- Triggers
- /
- Appointment Completed
TriggerAcuity SchedulingReal-timeUpdated May 2026
When does Acuity emit the appointment-completed event?
Short answer: Drop the "Acuity Scheduling → Appointment Completed" trigger on your workflow canvas, add filters if you want them, and publish. It fires within seconds of the event in Acuity Scheduling, not on a polling schedule.
Anatomy
What this trigger looks like in a workflow.
Drop it on the canvas. Configure a couple of fields. Publish.
In the builder
Trigger
Appointment Completed
When the matching event happens
on appointment completedwatch for appointment completedwhen an appointment is marked as completedwhen appointment completednew appointment completed
What this trigger returns
for the curiousYou don’t need to read this. Tiny Command auto-maps every field into the visual picker so downstream nodes can pull values by clicking. We show it here for power users who want to know what’s on the wire.
{"id": 12345,"name": "John Doe","email": "john@example.com","datetime": "2026-04-15T14:00:00"}
Output shape
Fields available to downstream nodes.
Every field below can be referenced by name in any action or filter that comes after this trigger.
| Field | Type | Example |
|---|---|---|
| id | number | 12345 |
| name | string | "John Doe" |
| string | "john@example.com" | |
| datetime | string | "2026-04-15T14:00:00" |
Pairs with
Drop these actions after Appointment Completed.
FAQ
Questions about Appointment Completed.
How does the Appointment Completed trigger work in Acuity Scheduling?
Fires when an appointment time has passed without cancellation — Acuity considers it completed. The right trigger for post-appointment follow-up workflows (thank-you email, review request, next-appointment booking nudge). Fires once per appointment, even for recurring series (each instance fires separately).
Is the Appointment Completed trigger real-time?
Yes. Appointment Completed uses webhooks or push subscriptions, not polling. Your workflow fires within seconds of the event happening in Acuity Scheduling.
What data does Appointment Completed return?
The full event payload from Acuity Scheduling. The output shape table on this page lists every field, its type, and an example value so you can map fields into downstream nodes.
Can I filter Appointment Completed so only some events start a workflow?
Yes. Add a Filter node right after the trigger and match on any field, whether that's subject, sender, status, or anything else in the payload. Workflows only continue when the filter passes.
Do I need Acuity Scheduling admin permissions to use Appointment Completed?
For most Acuity Scheduling accounts a standard user can authorize the trigger. Some Acuity Scheduling plans require an admin to enable third-party webhooks. Check Acuity Scheduling's docs if the trigger fails to register.
More triggers
Other Acuity Scheduling triggers.
Trigger
Appointment Canceled
Fires the instant an appointment is canceled — by the client (via the rescheduling/cancel link), by the practitioner (via Acuity admin), or via API. Payload includes the appointment, client, and (for client-initiated) the cancellation reason if a reason field was configured. The hook for "free up the slot, notify the waitlist, refund deposit" workflows.
TriggerAppointment Rescheduled
Fires when an appointment is moved to a different time — payload includes both the original time and the new time, plus client and appointment metadata. Useful for cascading workflows that need to update downstream calendars, reminder schedules, or capacity counts when timing changes.
TriggerAppointment Scheduled
Fires the moment a client books an appointment — typically within seconds of the booking. Payload includes client name and email, appointment type, scheduled time, duration, payment status, and answers to any intake form questions. The base hook for "new client onboarding kicks off the welcome flow" workflows.
Build a workflow on this trigger.
One trigger. 3+ downstream actions. Zero glue.