How the integration thinks
The integration is a push connection: when you connect, Exabloom asks Calendly to send it an event the moment something happens on a booking page - there’s no polling and no sync schedule. Three kinds of events come through, and each one maps to its own workflow trigger:
Two facts shape everything below. First, one Calendly account per workspace - connecting is a workspace-level action, and reconnecting with a different account replaces the existing link rather than adding a second. Second, the connection is organisation-wide on the Calendly side: the event subscription covers every member and every event type in your Calendly organisation, not just the booking pages of the person who clicked Connect. That’s what makes it powerful - and it’s why you’ll usually want the event-type filter you’ll meet later.
The simple path is short: connect, drop a Calendly meeting booked trigger into a workflow, map the booking to a contact, and send a confirmation. If that’s all you need, jump to the cookbook once you’ve connected.
What you need first
Three requirements, and the first one catches the most people:
- A paid Calendly plan - Standard or above. The integration relies on Calendly webhooks, which Calendly only offers on its paid plans. A free Calendly account gets through the sign-in, then lands on a Plan upgrade required page when Exabloom tries to register for events.
- A Calendly Owner or Admin. Because the connection listens to your whole Calendly organisation, the person who signs in must be an Owner or Admin of it in Calendly. A regular member’s sign-in succeeds but ends on a Calendly admin access required page. Admin rights on the calendar behind your event types matter too - an account that can only view that calendar won’t work, even if it is an organisation Admin.
- The Integrations permission in Exabloom. The connection lives in Settings → Integrations, which is gated by the Settings > Integrations permission (“Third-party integrations”) on the Roles page. If you can’t see Integrations in Settings, ask a workspace admin to connect - or to grant you that permission.
Connect Calendly
Five short steps, each on its own screen. The sign-in is a popup window that opens over Exabloom and closes itself when it is done.
Open Settings, then Integrations
Connect external services to extend Exabloom’s capabilities.
Click Connect on the Calendly card
Trigger workflows when an invitee books, cancels, or is marked a no-show.
A popup opens Calendly’s sign-in. While it is open, the Connect button shows a spinner and stays disabled. If your browser blocks the popup, the same steps run in the current tab instead.
Sign in to Calendly and approve
Approve it and this window closes by itself.
Wait for Exabloom to confirm
Connecting to Calendly…
Almost there - we’re linking your Calendly account and configuring event notifications.
Connected!
Redirecting you to Exabloom…
Connected as ops@acme.com
From this moment, every booking, cancellation, and no-show in your Calendly organisation reaches your workspace. If the popup shows Something went wrong. instead, it closes on its own and the card is left as it was - try Connect again.
Disconnect, when you need to
Connected as ops@acme.com
Connected as ops@acme.com
Disconnect Calendly?
The webhook subscription will be removed and this workspace will stop receiving Calendly events. Workflows using Calendly triggers will no longer fire.
Disconnecting removes the event registration, and workflows with Calendly triggers stop firing immediately. Connecting the same Calendly account again later picks up where you left off - your existing triggers keep working without edits.
Connection statuses, decoded
The pill on the Calendly card is the integration’s health check. Anything other than Connected means events are not flowing - and each status names its own fix, so you never have to guess whether reconnecting will help. First, where to look:
Your Calendly plan doesn’t support webhooks. Upgrade to Standard or above on Calendly, then reconnect.
And every state the card can be in, at reading size:
Connected as ops@acme.com
Authorization expired - events have paused. Reconnect to resume.
Your Calendly plan doesn’t support webhooks. Upgrade to Standard or above on Calendly, then reconnect.
This Calendly account isn’t an Owner or Admin of your organization, so it can’t set up webhooks. Reconnect with a Calendly admin account.
Trigger workflows when an invitee books, cancels, or is marked a no-show.
The two orange-and-amber ones are worth internalising. Upgrade required is a plan problem: reconnecting with the same free account will fail again - upgrade in Calendly first, then Reconnect. Admin access needed is a person problem: the plan may be fine, but the account that connected can’t speak for the whole Calendly organisation - reconnect as an Owner or Admin. Reconnect needed is a sign-in that expired; reconnecting fixes it.
Right after you connect, the popup tells you the same thing on its own page - so you learn about the problem before you go back to Exabloom:
Calendly webhooks require a paid plan
Exabloom uses Calendly webhooks to receive booking events in real time. Webhooks are only available on Calendly Standard plans and above.
What to do
- 1Upgrade your Calendly account to Standard or above at calendly.com/pricing.
- 2Close this tab and click Reconnect in Exabloom.
This Calendly account can’t set up webhooks
Exabloom uses Calendly webhooks to receive booking events in real time. Creating them requires an Owner or Admin of your Calendly organization. The account you connected with doesn’t have that access.
What to do
- 1Ask an Owner or Admin of your Calendly organization to connect (or have them grant you admin access in Calendly).
- 2Close this tab and click Reconnect in Exabloom, signing in with the admin account.
Start a workflow from a booking
Calendly gives you three triggers: Calendly meeting booked, Calendly meeting canceled and Calendly marked no-show. They are configured identically - the only difference is which Calendly moment fires them. Create or open a workflow first (the workflows guide covers that); the builder opens full screen.
Add the trigger
Pick the account and, ideally, an event type
- Calendly account - the connected account. With one connection per workspace it is pre-selected for you. If none is connected, the form says so and links straight back to Settings → Integrations.
- Event type filter - optional, and the setting that matters most. Left on Any event type, the trigger fires for every booking across your whole Calendly organisation - every member, every meeting type. Pick a specific event type to scope the workflow to that booking page. The list shows the active event types of the Calendly account you connected with.
- Available fields - display only; you don’t configure anything here. It is your preview of the chips you can use in later steps (see The booking’s fields).
- Filters - below the fields, the same optional condition builder other triggers have (it starts as “No filters added - every match passes through”). Most setups never need it.
Match the booking to a contact
A Calendly event arrives knowing an invitee’s name and email - but not which of your contacts they are. That link is made by a Find Contact step, and because it’s essential, Exabloom adds one automatically the moment you save a Calendly trigger: it appears right under the trigger and opens itself for you. You can’t delete it - only configure it. Until it has a value mapped, it wears an amber Needs setup tag and the workflow can’t be published.
Find Contact matches on a phone number - which is also what WhatsApp needs to message anyone. Calendly’s standard fields don’t include one, so the reliable recipe starts in Calendly: add an invitee question to the event type’s booking form asking for their WhatsApp number, and make it required. Then in Exabloom:
This step matches the incoming Calendly meeting booked data to a contact. Choose which field identifies the contact below.
Cancel URL
cancel_url
Reschedule URL
reschedule_url
Zoom join URL
zoom_join_url
WhatsApp number
WhatsApp number
What would you like to cover?
What would you like to cover?
- 1In the trigger, filter to that event type - the question appears as a violet chip, e.g. WhatsApp number.
- 2In Find Contact, keep Phone as the primary identifier and put the WhatsApp number chip in its Value.
- 3Leave If contact not found on Create Contact and map Invitee name, Invitee email and the phone chip - so brand-new bookers become contacts on the spot. An existing contact with that phone is simply reused (the default for If contact found is Do Not Update Contact).
With the contact matched, add your action the usual way - click the + on the line under Find Contact and pick Send WhatsApp Business - then save and publish.
Want to check it before a real customer books? The builder’s Test tab can start the workflow with a made-up booking: for Calendly triggers you paste the event data as key-value pairs, and the run shows what each step did. The workflows guide walks through it.
The booking’s fields
Every Calendly trigger hands the same standard fields to the rest of the workflow, ready to drop into any later step as chips (the tag button you just used): Invitee name Invitee email Event type Start time End time Status Timezone Cancel URL Reschedule URL and Zoom join URL. They live under Calendly Meeting in the picker, which only appears once the workflow has a Calendly trigger.
Invitee name
invitee_name
Invitee email
invitee_email
Event type
event_type_name
Start time
start_time
End time
end_time
Status
status
Timezone
timezone
Cancel URL
cancel_url
Reschedule URL
reschedule_url
Zoom join URL
zoom_join_url
WhatsApp number
WhatsApp number
What would you like to cover?
What would you like to cover?
- Start time and End time are converted to your workspace’s timezone and shown as, for example, 14/10/2026 03:00 PM - safe to drop straight into a message.
- Cancel URL and Reschedule URL are personal links for that booking. Put the reschedule link in your confirmation and cancellation messages and customers fix their own scheduling - no back-and-forth.
- Zoom join URL is filled when the Calendly event’s location is Zoom, and empty otherwise. (To create Zoom meetings from Exabloom instead, see Connect Zoom.)
- Custom questions are the second tier. When you filter the trigger to one event type, the answers to that booking page’s invitee questions become extra chips - shown in violet in the trigger panel. This is how you get a WhatsApp number out of Calendly.
One booking, start to finish
Put it together and a single booking travels like this. Every frame below is one moment; read left to right.
Setups to copy
Four proven shapes. Each assumes the Find Contact recipe above is in place.
Confirm the moment they book: “You’re confirmed for {{Event type}} on {{Start time}}. Need to change it? {{Reschedule URL}}”. This is the ten-minute setup that makes the whole integration feel alive.
When a booking is cancelled, offer the door back: “Sorry to see your booking change - grab a new slot here: {{Reschedule URL}}”. Remember this also fires on reschedules, so keep the wording neutral.
When the host marks someone a no-show in Calendly, follow up the same hour with an easy rebook link - no-shows convert far better while the intent is still warm.
Build one workflow per event type, each with its own event-type filter - the intro-call booking gets a prep checklist, the follow-up booking gets a quiet internal note to the owner. Filters keep the workflows from firing on each other’s bookings.
Good to know & pitfalls
- Free Calendly can’t connect. Webhooks need Calendly Standard or above - and a plan that lapses back to free stops events without changing the card’s status. If events stopped, check the Calendly plan, upgrade, then Disconnect and Connect again.
- Admin rights on the calendar, not just on the organisation. A connecting account that only has viewing rights on the calendar behind your event types won’t work, even if it’s an Admin of the Calendly organisation. Being the calendar’s creator isn’t required - admin rights on it are.
- Reconnecting with a different account? Recheck your triggers. Each trigger is bound to the Calendly account it was built with. Swap the connected account and existing triggers stop matching - open each one and re-select the account. (The same account disconnecting and reconnecting is fine.)
- Any event type means the whole organisation. An unfiltered trigger fires for every member’s bookings in your Calendly organisation. That’s occasionally what you want, and usually a surprise - filter by event type unless you mean it.
- Reschedules = cancel + book. Both triggers fire on a reschedule. Word cancellation messages so they read correctly either way.
- Only Published workflows fire. A draft with a Calendly trigger does nothing - publish it, then make a test booking (or use the Test tab) to see the whole chain run.
- Edited your Calendly questions? Refresh the chips. Custom-question chips are captured when you pick the event type in the trigger - re-pick it after changing questions in Calendly.
- Disconnect stops everything at once. Removing the connection removes the event registration - every Calendly-triggered workflow goes quiet immediately, not just new ones.
Need a hand?
Our Singapore-based team is one message away - happy to help you get set up.