Conditional Filter Node – Configuration Guide

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: equalsfault

  • 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.