--- title: "Decisions Component" slug: "decisions-component" tags: ["module-builder", "module-builder-components"] updated: 2026-09-15T17:12:31Z published: 2026-09-15T17:12:31Z canonical: "docs.unqork.io/decisions-component" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.unqork.io/llms.txt > Use this file to discover all available pages before exploring further. # Decisions Component The Decisions component evaluates input values against a set of conditional rules and applies output properties to module fields based on matching rows. Use it to show or hide fields, disable inputs, set values, or control module behavior dynamically. > **How to read settings tables** > > The tables below describe each configurable option as it displays in the UnqorkAI platform. Values are formatted as follows: `inline code` — a value to type exactly as shown | **Bold** — a value selected from a drop-down, radio button, tab, or choice chip | **ON**/**OFF** — toggle state | ✓ — checkbox checked | ☐ — checkbox unchecked ## General Settings | Setting | Field | Type | Default | Description | | --- | --- | --- | --- | --- | | Property ID | `key` | Text input | `rule` | The unique identifier for this component instance. | | Canvas Label Text | `label` | Text input | — | Identifies the component on the Module Builder canvas. Does not display. | ## Actions Settings ### Triggers | Setting | Field | Type | Default | Description | | --- | --- | --- | --- | --- | | Trigger Type | `triggerType` | Radio button | **Manual** | Sets when the component executes. • **Manual**: Waits to be triggered by another component. • **Watch**: Executes whenever a defined input field changes. | | Disable Execution | `disabled` | Toggle | OFF | Prevents the component from executing when triggered. | | Execution Type | `decisionData.decisionType` | Drop-down | **First** | Controls how many matching rules execute. • **First**: Executes only the first matching rule. • **Merge**: Executes all matching rules. • **Last**: Executes only the last matching rule. | ### Inputs Defines the fields evaluated against the micro-decision rules. | Column | Field | Type | Description | | --- | --- | --- | --- | | Source | `id` | Property ID | The module field to evaluate. | | Alias | `alias` | Text input | An alias used to reference this field in the Conditionals table. | | Type | `type` | Drop-down | The comparison type for this input (for example, exact match, contains). | | Required | `required` | ☐/✓ | When checked, this setting marks the input as required for the decision to execute. | | Silent | `silent` | ☐/✓ | When checked, this setting excludes this input from triggering re-evaluation on change when using Watch mode. | ### Outputs Defines the fields and properties set when a rule matches. | Column | Field | Type | Description | | --- | --- | --- | --- | | Source | `id` | Property ID | The module field to update when a rule matches. | | Type | `type` | Drop-down | The property to set on the output field. See [Output Types Reference](/unqorkai/docs/output-types-reference) for all available types. | In modules using the **Vega (2.0)** runtime, the following additional output types are available in the **Type** drop-down: | Type | Description | | --- | --- | | Vega Execute | Triggers an execution on a target Vega component. | | Vega Operation | Sends a custom JSON operation to a Vega component or module. | | Vega Value | Sets the value of a target Vega component. | ### Conditionals Defines the decision rules. Each row maps input values to output values. Rows are evaluated in order according to the Execution Type. | Column | Description | | --- | --- | | Values | The values that this rule. One column per input field. | | Values | The values to apply to output fields when this rule matches. One column per output field. | ## Unit Testing The Unit Testing panel verifies decision behavior by running the component against test data. Rows are auto-populated from the configured Inputs and Outputs. **Inputs** | Column | Field | Type | Description | | --- | --- | --- | --- | | Input | `inputField` | Read-only | The input Source from the component configuration. | | Label | `inputLabel` | Read-only | The display label for the input field. | | Value | `inputValue` | Text input | The test value to pass into the decision. | | JSON | `json` | ☐/✓ | When checked, treats the value as JSON. | **Outputs** | Column | Field | Type | Description | | --- | --- | --- | --- | | Output | `outputField` | Read-only | The output Source from the component configuration. | | Label | `outputLabel` | Read-only | The display label for the output field. | | Expected | `expectedValue` | Text input | The value you expect the decision to produce. Displays pass/fail styling against the actual result. | | Actual | `actualValue` | Read-only | The result the decision produces when the test runs. | | JSON | `json` | ☐/✓ | When checked, treats the value as JSON. | ## Advanced Settings | Setting | Field | Type | Default | Description | | --- | --- | --- | --- | --- | | Set Debounce | `debounceSetting` | Number input | `0` | Sets the delay before executing after being triggered, in milliseconds (ms). | | Execute All Child Decisions | `chainDecisions` | Toggle | OFF | When **ON**, triggers child decisions after this component executes. | | ↳ Execute Decisions from Last to First | `chainDecisionBackwards` | Toggle | OFF | Reverses the execution order of child decisions. Visible when **Execute All Child Decisions** is **ON**. | A Property ID is the unique field ID used by Unqork to track and link components in your module. Canvas Label Text indicates the purpose of the corresponding field or component. For non-input components, the Canvas Label Text isn't end-user facing, and only appears in the . Deteremines how the component triggers. A JavaScript property is a member of an object that associates a key with a value. A JavaScript object is a data structure that stores a collection of properties. The Vega (v 2.0.0) runtime is the next-generation engine of the UDesigner platform. Vega uses cutting-edge technologies to improve the Creator and end-user experience. JSON (JavaScript Object Notation) is an open standard file and data interchange format. Unqork uses JSON for submission (record) data. Enter inputs components and actions you want the component to perform.. Enter outputs components and actions you want the component to perform. Label Text conveys what the input component is and what information it displays. Enter the purpose of the corresponding component or field. The Number data type accepts integer or floating point values. The number data type does not use quotes around numerical values.