Acuity Scheduling integration: new appointments mark leads booked
An Acuity Scheduling webhook tells ZenMode when a prospect books an appointment, and the lead is promoted to meeting_booked automatically.
Verified against the product on September 3, 2026 · Updated · Set up in /dashboard/settings
What this integration is
Acuity Scheduling connects as an inbound webhook, which means Acuity posts to ZenMode and ZenMode never calls Acuity. There is no app to install and no key to exchange. The Calendar section of ZenMode's settings gives you a webhook URL that is unique to your account — it carries a per-user token and names Acuity as the sender — and you register that URL on the Acuity side.
After that, a prospect booking an appointment is enough to update the lead in ZenMode. Acuity is one of the four scheduling tools ZenMode parses properly, together with Calendly, Cal.com and HubSpot Meetings.
What it triggers
| Direction | Event | What ZenMode reads | What it does |
|---|---|---|---|
| Acuity to ZenMode | a new appointment is booked | firstName, lastName and email from the payload | promotes the lead's status to meeting_booked and stamps meeting_booked_at |
Acuity is the one provider that sends the name in two pieces, so ZenMode reads firstName and
lastName separately and puts them back together to identify the person. Those three fields are
everything it takes. Appointment type, calendar, duration, price, intake-form answers and notes are
all left in Acuity — ZenMode is recording that a meeting happened, not mirroring your booking
system.
The status change only ever moves a lead forward. A lead earlier in the pipeline is promoted to
meeting_booked; one already further along is untouched, and a later cancellation or reschedule in
Acuity does not reverse it.
Which lead gets the promotion is decided first by the signed token on the tracked booking link the prospect clicked, and failing that by matching the name on the appointment. A booking that carries neither signal — someone who found your scheduler independently and booked under a different name — has nothing to attach to.
How to set it up
- Open the Calendar section of ZenMode's settings, choose Acuity Scheduling, and copy the tokenized webhook URL shown for it.
- Treat that URL as a secret. The token in it is what tells ZenMode the booking is yours.
- In Acuity, open its integrations and API settings and register a webhook for new appointments, using that URL as the target.
- Book a test appointment against one of your own appointment types and check the lead in ZenMode
turns to
meeting_booked.
The webhook pairs with the tracked booking link ZenMode serves through its own redirect: the link carries the signed token, and the webhook carries the booking. Sending prospects through the tracked link is what keeps attribution off name-matching alone.
When it runs
On the booking, as Acuity sends it. There is no polling interval, no nightly catch-up and no manual
sync button. The two things that characterise ZenMode's outbound webhooks — the 10-second
delivery timeout and the X-ZenMode-Signature HMAC header used for API deliveries — are not part
of this rail, because on an inbound webhook ZenMode is the receiver. The token embedded in the URL
you registered is what authenticates the delivery, and a request naming a provider ZenMode cannot
parse is rejected with an error.
What it's useful for
Acuity is common with consultants and coaches whose whole pipeline is bookings rather than deals.
This wiring means the booking itself updates the record: the prospect who accepted the connection
request, replied, and then booked shows as meeting_booked with a timestamp, with nobody tagging
rows after the fact.
It also gives outreach an honest scoreboard. Meetings matched through the tracked link belong to the campaign that produced them, so "meetings booked" reflects what the sequence actually earned.
What it doesn't do (yet)
- Only new bookings are parsed. Cancellations, reschedules, no-shows and payments do not change anything in ZenMode.
- Only the three name and email fields are read — nothing else on the appointment is imported.
- It is not two-way. ZenMode never creates, edits or cancels Acuity appointments, and it does not read your availability.
- Unmatched bookings stay unattributed, with no reconciliation queue to work through later.
- Only four providers get booking detection at all: Acuity Scheduling, Calendly, Cal.com and HubSpot Meetings. Microsoft Bookings, Google Calendar, Chili Piper and SavvyCal are link-only — you can paste your booking link and ZenMode will track the click on it, but no booking is ever detected for those four.
FAQ
Which plans include the Acuity webhook?
All plans. Booking detection is not tier-gated, so any ZenMode plan can paste the tokenized URL into Acuity.
Does it need my LinkedIn password?
No. Acuity posts appointment data to a ZenMode URL and that is the whole exchange. No ZenMode integration asks for, stores or transmits LinkedIn credentials.
Is it two-way?
No. Acuity writes to ZenMode and ZenMode writes nothing back. Your appointment types, calendars and availability are untouched.