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

Space conditions

Three conditions help you scope a workflow to a specific room, floor, or building — without typing space IDs by hand. For workflow authors filtering booking or occupancy events down to part of the office.

When to use which

  • Is Same Space — match exactly one space.
  • Is On Floor — match every space on a particular floor.
  • Is In Building — match every space in a particular building.

All three behave like the standard If condition: one input, two outputs (true and false). Wire your action to the true port; leave false unconnected (or send it to a different action) depending on what you want for non-matching events.

Is Same Space

Compares two space IDs and routes to true if they're equal.

Configuration:

  • Source Space ID — required.
  • Target Space ID — required.

The names suggest a direction; there isn't one. The two slots are interchangeable in the equality test. The typical setup is:

  • Leave one slot as a fixed space — pick from the dropdown (say, Reception).
  • Switch the other slot's mode button to Data reference and point it at the trigger's space — event.space.id for booking triggers, space.id for occupancy triggers.

If you're not sure how the mode button works, see References and templates.

[SCREENSHOT] The Is Same Space inspector. Source Space ID is set to a fixed picker showing "Reception". Target Space ID's mode button on the left has been switched to Data reference, with a chip below the field reading event.space.id.

Is On Floor

Routes to true when a given space sits on a given floor.

Configuration:

  • Floor ID — required, picked from the floor dropdown.
  • Space ID — required. Almost always a data reference to the trigger's space.

The condition recursively walks every descendant of the floor, so deep nesting (floor → zone → room → desk) all matches without extra setup.

Is In Building

Routes to true when a given space sits anywhere in a given building.

Configuration:

  • Building ID — required, picked from the building dropdown.
  • Space ID — required. Almost always a data reference.

Same recursive behaviour — desks inside zones inside floors inside the building all match.

Common patterns

  • Notify only for one floor. Booking No-Show trigger → Is On Floor (Floor = 3rd floor, Space = event.space.id) → Send DM. Anything off the third floor short-circuits to false.
  • Different actions per building. Booking Started trigger → Is In Building (Building = Oslo HQ, Space = event.space.id) → Slack channel A on true. Then the false port flows into a second Is In Building for Bergen Office → Slack channel B. Chain as needed.
  • Multi-floor allow-list. No "in this list of floors" condition exists yet. Today this needs one Is On Floor per floor, OR'd by chaining the false branches.

What about a single specific space?

If you only ever care about exactly one space, Is Same Space with one fixed slot works — but for readability the standard If condition with event.space.id equals <id> reads equally well. Pick whichever your team finds clearer.

When it fails

These conditions hit the entitydb to look up the floor or building tree, so a few runtime errors are possible:

  • "Space not defined" — the configured floor/building id resolved to an empty string. Check the form.
  • "Failed to get spaces" — entitydb couldn't list spaces. Usually a transient backend issue; retry the workflow.
  • The container picked isn't actually a floor (for Is On Floor) or a building (for Is In Building) — the condition just routes to false with no error. If this surprises you, double-check what you picked in the dropdown.

[SCREENSHOT] The Logs panel on a failed Is On Floor task. The TASKS pane shows one red node; the OUTPUT pane on the right shows the message "Failed to get spaces".

Related