Calendly triggers are instant — Calendly tells Bizomate the moment it happens:

  • Calendly · Invitee booked — When someone books a meeting with you.
  • Calendly · Invitee cancelled — When someone cancels a meeting with you, with their reason.
  • Calendly · Routing form submitted — When someone fills in one of your organisation's routing forms.

Publishing sets each one up in Calendly for you — see How instant triggers work.

Who can do this

Workspace Admins and Editors, on every plan. Viewers see the trigger and its status but cannot change it.

Before you start

  • A Calendly connection. See Connect Calendly.
  • A paid Calendly plan — Calendly offers webhooks only there.
  • For Everyone in the organisation, and for Routing form submitted, a token that belongs to a Calendly organisation owner or admin.

Steps

  1. Open the workflow in the designer and open the trigger picker — Browse all triggers on an empty workflow, or select the trigger and Change how it starts.

  2. Under Calendly, select the trigger — for example Invitee booked. It reads Calendly · instant.

  3. In Connection, choose your Calendly connection.

  4. For Invitee booked and Invitee cancelled:

    • In Whose bookings, choose Mine — chosen to begin with — or Everyone in the organisation.
    • Optional: in Event type, choose one — Discovery call, say. Empty takes every event type. Under Everyone in the organisation the list shows the whole organisation's event types, each with its owner.
  5. For Routing form submitted: optional, in Routing form, choose one. Empty takes every routing form. It is always for the whole organisation.

  6. Add the steps, then Publish. Bizomate adds a webhook subscription in Calendly, with a signing key of its own making.

    The panel reads Waiting for the first event.

Test it with a real booking:

  1. Open your booking page and book a slot — as Rohan Mehta, rohan@consulace.com.
  2. Within seconds the panel reads Listening — instant, with the last booking.
  3. On Output, select Use the last event, then Test run.

What the trigger gives

Write What it is
{{ trigger.name }}, {{ trigger.email }}, {{ trigger.timeZone }} The invitee.
{{ trigger.company_name }} and so on Each answer to your booking questions, under a name made from the question.
{{ trigger.start }}, {{ trigger.end }} When the meeting is, in UTC.
{{ trigger.eventTypeName }}, {{ trigger.eventTypeId }}, {{ trigger.eventId }} The event type — Discovery call — and the booked event, for Cancel an event.
{{ trigger.hostName }}, {{ trigger.hostEmail }} Who the meeting is with.
{{ trigger.location }}, {{ trigger.joinUrl }} Where — Zoom, Google Meet, an address or a phone number — and the video link when there is one.
{{ trigger.cancelUrl }}, {{ trigger.rescheduleUrl }} The invitee's own links.
{{ trigger.rescheduled }} true when this booking replaced an earlier one, or this cancellation is a reschedule.
{{ trigger.createdAt }} When they booked.
{{ trigger.id }} The invitee's id — for Get an invitee, with eventId.
{{ trigger.questions }} Every question and answer as Calendly sent it: each with key, question, questionId, type and value.

Invitee cancelled adds cancelReason, cancelledBy and cancelledAt. Routing form submitted gives id, routingFormId, routingFormName, submittedAt, each answer by its question with the list in questions, and result — the event type, page address or message the form sent them to.

How answers are named

  • From the question, in snake_case — Company name is company_name.
  • Every answer keeps its own name. The same question asked twice — Topic, then Topic again — gives topic and topic_2. A question worded like one of Bizomate's own names never takes it: a booking question called Email is email_2, and email stays the invitee's.
  • Once a step uses a name, it stays. Publishing fixes the names your steps use. Calendly gives booking questions no id of their own, so a booking question is known by its wording: if you reword it in Calendly, it is a new question with a name made from its new wording — change the steps that used the old name. Routing form questions have Calendly's own id, so their names survive a rewording.

What happens next

  • Each event starts one run of the live version, in Production.
  • Every event is checked. Calendly signs each event with the subscription's signing key; an event without a matching signature, or signed more than three minutes before it arrives, starts nothing.
  • Every publish sets the subscription up again. Changing to another trigger and publishing, or deleting the workflow, removes it from Calendly.

Good to know

  • A reschedule is a cancel and a new booking. Calendly sends Invitee cancelled for the old time and Invitee booked for the new one, each with rescheduled true.
  • Group events start one run per invitee.
  • On a free Calendly plan there is no fallback. The triggers do not check Calendly on a schedule instead; they stay Not listening until the plan has webhooks. The Calendly steps keep working.
  • Runs count in the month's allowance.

If something goes wrong

What you see Why What to do
Not listening — "Calendly will not send this trigger's events: “Please upgrade your Calendly account to Standard.” Calendly offers webhooks only on its paid plans. The Calendly steps still work." (Calendly's own reason inside the quotes) Your Calendly plan has no webhooks. Move the Calendly account to a paid plan, then publish again.
Not listening — "Calendly refused: “You do not have permission to access this resource.” Everyone in the organisation needs an organisation owner's or admin's token. Choose Mine, or replace the token with one of theirs on Connections." Everyone in the organisation needs an owner's or admin's token. Choose Mine, or replace the token with an admin's.
Not listening — "Calendly refused: “…” Routing form submitted is for the whole Calendly organisation, so it needs an organisation owner's or admin's token. Replace the token with one of theirs on Connections." Routing forms belong to the organisation. Replace the token with an owner's or admin's.
Not listening — "Calendly did not say which webhook subscription it made. Publish again." Calendly's answer was cut short. Publish again.
Waiting for the first event stays Nobody has booked yet, or the event type filter excludes it. Book a test slot of the chosen type.