Skip to main content

Decision Component

The Decision node is a core control component that enables conditional branching within a workflow. Through this node, the workflow can proceed along different paths based on conditions evaluated at runtime.

When the Decision component is selected, it is configured via the properties panel located on the right-hand side.

Properties

The behavior of the Decision component is defined through the properties panel. This panel contains the core configuration fields that determine both the identifying information of the Decision component and its decision-making logic. When configuring a Decision component:

  • The type of decision mechanism is selected.
  • The way conditions are evaluated is defined.
  • Cases and their corresponding outgoing connections are mapped.

These settings directly determine how and in which direction the workflow will proceed at runtime.

Name

Step Name represents the visible name of the Decision component within the workflow.

Step ID

Step ID is the technical identifier that uniquely defines the Decision component within the workflow.

Decision Option

The Decision Option field determines which decision mechanism the Decision component will use. This selection directly affects how conditions are defined, how they are evaluated, and how the workflow branches. The Decision component supports three different decision types:

  • Expression
  • Decision Table
  • Decision Tree

Each option is designed for decision scenarios with different levels of complexity.

Expression

Expression is the most basic and direct decision-making method. In this option, the decision is evaluated using a single logical (boolean) expression.

  • The condition is evaluated using runtime data.
  • The workflow is routed based on a true or false result.
  • It is generally preferred for simple and single-condition checks.

image

To access workflow data inside an expression, expressions must start with the flow object. flow represents all contextual data related to the current workflow execution and enables dynamic decision logic. Example Expression:

flow.context.action.actionType === "complete"

Decision Table

A Decision Table allows multiple conditions and their possible combinations to be defined using a tabular structure.

image

When Decision Table is selected as the Decision Option, case conditions can access both the workflow context (flow context) and the data of the selected decision table.

This allows decision logic to be based not only on workflow data but also on the input and output values of the Decision Table.

The dt object represents the selected Decision Table in the Decision component.

  • dt is only available when Decision Table is selected
  • It can be accessed directly inside case expressions

Basic structure:

dt.input
dt.output

Decision Tree

A Decision Tree allows decisions to be modeled using a hierarchical and branching structure. image

  • Each node represents a decision point
  • Decisions can trigger sub-decisions, forming a multi-level structure
  • The workflow progresses through the tree structure

Decision Connections and Case Mapping

By design, a Decision component can have multiple outgoing connections. Each outgoing connection represents a specific case defined within the Decision component.

image

For this reason, connections coming out of a Decision component are not ordinary flow connections; they explicitly define which condition triggers which execution path.

Each outgoing connection from a Decision component must be mapped to a case.

Selecting a Case via Connection

When multiple connections are created from a Decision component:

  • All connections originate from a single output point
  • A dropdown menu on each connection is used to select which case the connection represents
  • This ensures a one-to-one mapping between the visual flow and the decision logic

image

The dropdown on the connection clearly defines:

  • Under which condition the connection will be executed
  • Which logical branch inside the Decision component it represents

Case Editing (Pencil Icon)

The pencil icon next to each case is used to edit the case details. Clicking the pencil icon opens the Edit Case dialog. Any changes made here directly affect the decision logic of the corresponding case.

Renaming a Case

A case name can be changed by double-clicking on it in the case list. After entering a new name, the case is renamed.

  • This operation only affects the visible name of the case
  • The decision logic itself is not modified

This mechanism is designed for fast renaming and easier organization.