Conditions
Conditions are yes/no branches that decide whether the workflow should continue down one path or the other. For anyone who needs the workflow to act only in specific cases.
The basics
A condition node has one input and two outputs: true and false. Whatever flows in, it checks your rule and sends it out the matching port.
You connect one or more actions downstream of each port:
- Everything connected to true runs when the condition matches.
- Everything connected to false runs when it doesn't.
If you only care about the positive case, leave the false port empty — the workflow ends on that side.
[SCREENSHOT] An If node on the canvas with its true port connected to a "Send Slack DM" action and its false port unconnected. A small label on the true edge reads "yes".
Writing a condition
Click an If node and use the inspector's Conditions section. Each row has three fields:
- Value 1 — usually a field from earlier in the workflow, picked with the data-reference icon.
- Operation — the comparison (equals, greater than, contains, …).
- Value 2 — either a fixed value you type in, or another data reference.
Example: only continue for auto-booked meetings:
- Value 1: trigger.event.isAutoBooked
- Operation: boolean is equal to
- Value 2: true
Operations by data type
The picker groups operations by the type of field you're comparing:
- Text — equals, not equals, contains, starts with, ends with, matches pattern, is empty, exists.
- Number — equals, greater than, less than, in range.
- Yes/no — equals, not equals, is empty.
- Date & time — before, after, same as, between.
- Array — contains, length equals, is empty.
- Object — exists, is empty.
Pick the one that matches the field. If you pick an operation that doesn't fit the data, the condition returns false when the workflow runs.
Combining multiple conditions
You can add more than one row. At the top of the inspector, choose how they combine:
- All (AND) — the branch goes to true only if every row matches.
- Any (OR) — the branch goes to true if any one row matches.
[SCREENSHOT] If node inspector with three condition rows: (1) isAutoBooked equals true, (2) floorId equals "floor-3", (3) organizer email contains "@neowit.io". Above the rows is a toggle set to "All".
Common patterns
- Filter by space — trigger.event.space.id equals a specific space. For broader matches use the Space-aware conditions below.
- Filter by time of day — use the Time Of Day condition for working hours filters. It takes a begin and end time, a list of days of the week, and a timezone. Windows that cross midnight (e.g. 22:00 → 06:00) work as expected.
- Filter by event type — if a trigger can fire for multiple sub-types, branch on the relevant flag (e.g. event.isAutoBooked).
Space-aware conditions
Three conditions help you scope a workflow to part of the office:
- Is Same Space — match exactly one space.
- Is On Floor — match any space on a given floor.
- Is In Building — match any space in a given building.
Full configuration and worked examples in Space conditions.
When a condition can't decide
If the data you reference isn't present on this execution (e.g. a field was optional and the event didn't set it), the condition returns false and the workflow takes the false branch. Build conditions that match what you want to happen — not what you want to exclude.