Inbound webhookAll plans

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

DirectionEventWhat ZenMode readsWhat it does
Acuity to ZenModea new appointment is bookedfirstName, lastName and email from the payloadpromotes 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

  1. Open the Calendar section of ZenMode's settings, choose Acuity Scheduling, and copy the tokenized webhook URL shown for it.
  2. Treat that URL as a secret. The token in it is what tells ZenMode the booking is yours.
  3. In Acuity, open its integrations and API settings and register a webhook for new appointments, using that URL as the target.
  4. 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.

More scheduling integrations