Skip to content
English
  • There are no suggestions because the search field is empty.

Skip a scheduled action when the room is booked

Run a small chore on a regular schedule — sending a maintenance ping, dropping the lights, kicking off a desk cleanup — but only when the room you'd otherwise act on isn't actively in a meeting. For facilities or operations teams who want to avoid interrupting people mid-meeting with automated noise.

What this workflow does

  • A Schedule trigger fires every 15 minutes.
  • A Space Is Booked condition checks whether your target room currently has an ongoing booking.
  • If the room is not booked, the workflow continues. If it is booked, the workflow ends silently — you don't interrupt.

The finished workflow on the canvas: a Schedule trigger connected to a Space Is Booked condition. The condition's false port goes into a Send DM action; the true port is unconnected.

Prerequisites

  • Workflows enabled for your organization. See Enable workflows for your org.
  • A booking integration in place so the room's calendar is visible to Neowit.
  • The action you want to gate. The example below uses Slack; any action works.

Build it

1. Create the workflow

From the Workflows list click New workflow, name it Idle-room ping, and open the editor.

2. Add the schedule trigger

  1. Click Add nodeTriggersSchedule.
  2. Set schedule type to Every N minutes.
  3. Fill in:
    • Timezone — your office's IANA zone, e.g. Europe/Oslo.
    • Minutes15.

3. Add the Space Is Booked condition

  1. Click Add nodeConditionsSpace Is Booked.
  2. In the inspector:
    • Space ID — pick the room you want to check.
    • Include descendants — leave off. You're asking about a single room.
    • Space types — leave empty (only applies when descendants is on).

Wire an edge from the Schedule trigger to the condition's input.

Note: Bookings that the automaton auto-declined on your behalf don't count as "booked" — they're our own artefacts, not real meetings.

4. Add the action on the false branch

  1. Click Add nodeActions → pick whatever you want to do. The example below uses Send Direct Message.
  2. Wire an edge from the false port of the condition to this action.
  3. Leave the true port unconnected — when the room is booked, the workflow ends after the condition.

5. Test it

  1. Click Run workflow.
  2. The Schedule trigger opens with an empty payload ({}) — leave it and click Run.
  3. The Logs panel shows the trace. If the room is currently booked, the workflow routes to true and the action is skipped. If it's not, the action fires.

To exercise the false path during a busy moment, temporarily swap the spaceId to a room you know is empty right now, run, then revert.

6. Save and enable

Click Save, leave Enabled on, write a commit message ("15-min idle-room ping, skip when booked"), and you're done.

Variations

  • Whole-floor check. Pick a floor instead of a single room and turn Include descendants on. The action runs only when the entire floor is idle (no rooms booked).
  • Combine with occupancy. Chain a Space Is Occupied condition after this one to act only when the room is both unbooked and unoccupied — covers the "no meeting AND no drop-in" case for true idle.
  • Different actions per state. Connect both true and false ports to actions. The true branch could announce the meeting on a board; the false branch runs your maintenance ping. One workflow, two outcomes.

When it doesn't fire

If the action runs when you didn't expect, or doesn't when you did:

  1. Open the Executions tab. The Schedule trigger fires every 15 minutes regardless. If it doesn't, the workflow isn't Enabled or the timezone is wrong.
  2. Expand the Space Is Booked step in the trace. The trace shows whether it routed true or false. Cross-check against your actual calendar for that room at the time of the run.
  3. A booking the automaton auto-declined as the resource doesn't count. If you expect a "booked" answer for one of those, that's intentional — those bookings aren't real.

Related