Alert on short meetings
Send a Slack DM when a booking ends after less than 15 minutes — a useful signal that a room is being hogged for quick chats, or that a team is over-booking and bailing. For office managers tuning utilization or coaching teams on booking habits.
What this workflow does
- A Booking Ended trigger fires whenever a meeting wraps up.
- A Duration Range condition compares the booking's
startAtandendAtagainst a 15-minute threshold. - Only short bookings continue to the next step; everything else ends silently.
- A Send Direct Message action posts a Slack note to the organizer (or your facilities Slack channel).

Prerequisites
- Workflows enabled for your organization. See Enable workflows for your org.
- Slack connected.
- At least one space in your booking system you want to monitor.
Build it
1. Create the workflow
From the Workflows list click New workflow, name it Alert on short meetings, and open the editor.
2. Add the booking trigger
- Click Add node → Triggers → Booking Ended.
- No settings to fill in — the trigger fires for every Booking Ended event your org receives.
3. Add the Duration Range condition
- Click Add node → Conditions → Duration Range.
- In the inspector:
- From — click the data-reference icon and pick
trigger → event → startAt. - To — same picker, pick
trigger → event → endAt. - Mode —
Shorter than. - Threshold —
15m.
- From — click the data-reference icon and pick
Wire an edge from the trigger to the Duration Range's input.
Note:
startAtandendAtare datetime objects. The condition reads both shapes (epoch and RFC3339) automatically — you don't have to think about the format.
4. Add the Slack action
- Click Add node → Actions → Send Direct Message.
- Settings:
- Recipient Email — pick
trigger → event → organizer → emailfrom the data picker for a per-booking DM, or hard-code a facilities email if you'd rather centralize. - Content type —
markdown. - Message — paste:
:clock4: Short booking ended in *{{ .trigger.event.space.name }}* — *{{ .trigger.event.subject }}*. Anything we can do to help?
- Recipient Email — pick
- Wire the true port of the Duration Range condition to the Slack action's input. Leave the false port unconnected.
5. Test it
- Click Run workflow.
- Edit the trigger payload to mock a short meeting:
{ "event": { "id": "evt-test", "subject": "Quick chat", "space": {"id": "sp-1", "name": "Phone Booth"}, "organizer": {"email": "you@example.com"}, "startAt": {"kind": "epoch", "timestamp": 1735689600}, "endAt": {"kind": "epoch", "timestamp": 1735690200} } }That's a 10-minute booking — short enough to trigger the alert.
- Click Run and confirm the DM lands.
6. Save and enable
Click Save, leave Enabled on, write a commit message ("Short-meeting alerts via Slack"), and the workflow takes over from the next Booking Ended onwards.
Variations
- Different threshold. Set Mode to Between with a min/max if you only care about the 5-15 minute band, or Longer than with
2hfor unusually long bookings. - Limit to one space. Chain a Is Same Space condition before Duration Range and configure the space ID. The DM only fires for that room.
- Roll-up alerts. Wire the true branch into a Cooldown node first to avoid pinging on every short booking — see Stateful conditions.
- Email instead of Slack. Swap the action for Send Email from the SMTP integration.
When it doesn't fire
If you expect a short-meeting alert and nothing arrives:
- Open Executions. The Booking Ended trigger should show a green run. If it doesn't, the workflow isn't Enabled or the booking system didn't emit the event.
- If the trigger fired, expand the Duration Range step. The trace shows the resolved
from/toand the comparison result. Double-check the threshold isn't accidentally15sor15h. - Slack delivery problems are surfaced on the action step. See Slack — When Slack stops working.