Documentation

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 data object. (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.