Logic & Control Nodes
Logic nodes determine how data moves through the directed acyclic graph (DAG). They evaluate incoming data and route execution along specific paths, allowing for complex decision-making within the pipeline.
Condition
The Condition node evaluates a Python expression and routes the flow identically onward only if the statement evaluates to True.
Configuration
- Condition: A Python expression that must evaluate to a boolean. It can access the current payload via the
dataobject. (e.g.,data.confidence > 0.85).
Typical Use Case
Halting execution entirely if a detection confidence is too low to warrant further processing.
Switch / Case
The Switch node provides dynamic routing. It evaluates a specific property in the data payload and routes the execution to different outgoing edge connections built dynamically based on the configuration.
Configuration
- Property to Check: The path in the data object to evaluate (e.g.,
data.api_status_code). - Case Mapping: A JSON object mapping potential values to output port names. (e.g.,
{"200": "success", "404": "missing"}).
Typical Use Case
Routing data to different alert systems based on the severity level of an anomaly detected earlier in the workflow.
Iterator / Loop
The Iterator node takes an array (list) from the data payload and splits it, triggering downstream nodes individually for each item in the array.
Configuration
- List Path: The JSON path to the array within the data object (e.g.,
data.detected_objects).
Typical Use Case
If an object detection model returns a list of 5 bounding boxes, the Iterator will split these so that a downstream "Crop" node processes each of the 5 boxes separately.
Delay
The Delay node intentionally pauses the execution thread for a specified amount of time before allowing data to pass to the next node.
Configuration
- Duration: The numeric value of the time to wait.
- Unit: The unit of time (milliseconds, seconds, minutes, hours).
Typical Use Case
Pacing API requests to avoid rate limits, or waiting a few seconds before checking the status of an asynchronous external task.
Gate
The Gate node acts as a manual or state-driven switch that allows or blocks data flow based on its current Open/Closed state. It has three inputs: a default input for data, an "open" input to unlock it, and a "close" input to lock it.
Configuration
- Initial State: Set whether the gate starts "Open" or "Closed" upon deployment.
Typical Use Case
Implementing a physical override switch where an operator can "close" the gate to temporarily halt alert generation without deleting the workflow.