The moment it happens
Post Calendly cancellations to Slack
When a meeting is cancelled, you see who cancelled and their reason.
- Runs
- The moment it happens
- Apps
- Calendly
- AI
- Not needed
- Access
- PAT
Send this to your assistant
Create a ClickRuntime automation: when a Calendly meeting is cancelled, post the invitee's name, the meeting time and their reason to #bookings in Slack.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A consultant or small agency takes Calendly bookings from the website, and the owner's phone is full of calendar noise. When a client cancels a meeting, the only trace is a calendar entry vanishing and a notification among dozens of others. A project kickoff cancelled on Friday afternoon is discovered Monday when someone asks why the client has not been in touch, and the chance to save the meeting is gone.
When an invitee cancels, Calendly notifies ClickRuntime, which posts the invitee's name and the reason they gave to your Slack channel. It runs at the moment of cancellation, so the message reaches the team while the person is still thinking about the meeting.
It suits teams in which someone other than the calendar owner needs to react, such as account managers or schedulers.
What you get out of it
Rescue attempts can start immediately
A same-hour reply to a canceled meeting, offering alternative times, saves a meaningful share of those bookings. Waiting until Monday loses most of them. Cancellations that cite price or timing give sales a useful reason to reply with a better offer.
The reason is visible to everyone
Posting the cancellation reason lets the team respond appropriately. A client who cites a scheduling clash needs a different reply than one who says the project is no longer a priority.
Freed time can be put to use
Knowing early that a slot is open lets you move other work in or offer it to someone waiting. Hours that would have been lost become productive. Early notice of unhappy clients is often worth far more than the hour itself.
Account managers notice trouble
A key client canceling is often the first sign of something wrong. Seeing it in a channel gives the account owner a chance to reach out before the problem grows.
Fewer surprises on the calendar
The team is aware of what happened and when. Nobody prepares for a meeting that has been cancelled, or blames a colleague for a missed handover. Handovers go better when everybody works from the same record of events.
How it works
What happens, step by step
When an invitee cancels a Calendly meeting, ClickRuntime hears about it straight away.
It reads who cancelled, which meeting it was, when it was due and the reason they gave.
It posts a short message with those details to your #bookings Slack channel, so the team knows the slot is free.
Before it runs live
- Connect Calendly
- Paste your automation's link into the other app's webhook settings
What you get
Build your own
Need it to work differently?
Your own rules
Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.
Any number of apps
One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.
AI where it helps
Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.
On a schedule or on each event
Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.
Changes you can ask for
- Act only on the items that match your own rules, and skip the rest
- Add an AI step, for example to summarize, sort or draft a reply
- Add another app, for example also send it to Slack
- Combine it with other Calendly steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_event, notify
@on_event
def handle(event):
body = event.json or {}
if body.get("event") != "invitee.canceled":
return {"posted": False}
p = body["payload"]
ev = p.get("scheduled_event", {})
reason = (p.get("cancellation") or {}).get("reason") or "no reason given"
notify.slack(f"Cancelled: {p['name']} · {ev.get('name')} on {ev.get('start_time', '')[:16].replace('T', ' ')} UTC · {reason}",
channel="#bookings")
return {"posted": True}FAQ
Common questions
Does it include cancellations made by me, the host?
What if the invitee gives no reason?
Can the alert go to a private channel or direct message?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Post new Calendly bookings to Slack
When someone books, Slack shows their name, email, event type and time straight away.
See how it worksPost Calendly no-shows to Slack
When an invitee is marked as a no-show, Slack shows who it was and which meeting they missed.
See how it worksPost Calendly routing form answers to Slack
Every routing form answer reaches Slack, along with whether the person went on to book.
See how it worksKeep exploring
Set up “Post Calendly cancellations to Slack” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.