Filter payloads based on key presence, value conditions, and optional time-based throttling.
What It Does
The Conditional Filter Node allows you to pass or block workflow payloads depending on the presence (or absence) of a JSON key, whether that key’s value meets a specific condition, and/or whether a time-based pass limit is applied.
This node is useful for:
-
Routing only relevant data to downstream nodes
-
Enforcing rules like “only once per time window”
-
Blocking incomplete, invalid, or redundant payloads
-
Creating condition-driven logic flows (e.g., only proceed if
status = active)

Configuration Options
| Field | Required | Description |
|---|---|---|
| Node name | ✅ | A label to identify the node in your workflow |
| JSON key | ✅ | The key in the payload to inspect (supports dot notation, e.g., device.temperature) |
| Payload passes if JSON key exists | Optional | If enabled, the node allows the payload only if the key exists |
| Payload passes if JSON key is absent | Optional | If enabled, the node allows the payload only if the key does not exist |
| Condition | Optional | The operator used to evaluate the key's value. Options: equals, not equals, greater than, less than, contains, starts with, etc. |
| Value | Required if Condition is set |
The value to compare against |
| Payload passes once in time period | Optional | Enables rate-limiting so that only one payload is allowed per configured time window |
| Time period units | Required if time-based limit is enabled | Select from: seconds, minutes, hours, days |
Step-by-Step: How to Configure the Node
1. Add the Node
Drag a Conditional Filter Node onto the workflow canvas from the Logic & ETL category.
2. Set Node Name
Give the node a meaningful name (e.g., Filter: temperature > 50).
3. Define the JSON Key
Enter the payload key to evaluate (e.g., temperature, payload.deviceStatus, etc.).
4. Configure Key Presence Logic
Enable only one of the following:
-
Payload passes if key exists
-
Payload passes if key is absent
Leave both unchecked if you only want to apply a condition.
5. Apply a Condition (Optional)
Choose a condition operator (e.g., greater than) and define the Value (e.g., 30).
The condition is only evaluated if the key is present.
6. Add Time-Based Rate Limiting (Optional)
Enable Payload passes once in time period and set the Time period units to restrict how often a match can pass.
Example Configurations
Example 1: Filter for a Key with a Value
-
JSON key:
temperature -
Condition:
greater than -
Value:
80 -
Passes if:
temperature > 80
Example 2: Only Pass Payloads That Contain errorCode
-
JSON key:
errorCode -
Payload passes if JSON key exists: ✅
Example 3: Debounce Event
-
JSON key:
status -
Condition:
equals→fault -
Payload passes once in time period: ✅
-
Time period units:
10 minutes
Q&A
Q: What happens if both “key exists” and “key is absent” are selected?
A: The payload will never pass. You should only enable one of these options.
Q: Can I filter by multiple keys in one node?
A: No. You should use multiple Conditional Filter nodes to evaluate multiple keys.
Q: What happens if the key is missing but a condition is defined?
A: The condition is skipped. The key presence logic (if defined) will decide whether the payload passes.
Q: Can I use nested keys?
A: Yes. Use dot notation for nested keys, e.g., payload.temperature.value.