--- title: "Decisions Component" slug: "decisions-component" updated: 2025-12-04T19:34:49Z published: 2025-12-04T19:34:49Z 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 UDesignerClassic Designer The **Decisions component** is an [event component](/v1/docs/data-event-processing-components) for logic-based if/then scenarios. For example, **if** your end-user selects radio button A, **then** show field B. Or, **if** your end-user types value X, **then** display pop-up Y. Three inputs drive the Decisions component: - **Input component**: What drives the action. Any component works here, including [Buttons](/v1/docs/button-component), [Radio Buttons](/v1/docs/radio-buttons-component), or [Text Fields](/v1/docs/text-field-component). The Decisions references the Property ID of the input component. - **Output component**: What reacts to the action. Again, any component works, including [Panels](/v1/docs/panel-component) and [Field-Groups](/v1/docs/field-group-component) containing multiple components. The Decisions references the Property ID of the output component. - **Decisions component**: The Decision itself. You can configure the interaction between the inputs and outputs using Micro Decisions. You can set the input and output behavior by selecting the Type for each. The Micro Decisions table is where you'll set if/then rules using your defined inputs and outputs. Inputs display in the left columns of the Micro Decisions table. The column headers match the Input components' Property IDs. Outputs display in the right columns and are named using a concatenation of their ID and Type. You can find the Decisions component in the [Data & Events Processing](/v1/docs/data-event-processing-components) group to the left of the [Module Builder](/v1/docs/introduction-to-the-module-builder). ## What You'll Learn After completing this article, you’ll know when to use a Decisions component, how to configure its settings, and how to use it in a module. ## About the Configuration Window > [!TIP] > To learn more about general component settings and those that display when a component is associated with Data Models, view our [General Component Settings](/v1/docs/general-component-settings) article. ### Display Panel #### Field Text | Setting | Description | | --- | --- | | **Canvas Label Text** | A component’s Label Text indicates the purpose of the corresponding field or component. For non-input components, the Label Text isn't end-user facing, and only appears in the Module Builder. User-friendly labels make your module more accessible. Keep labels short and descriptive (a word or two) using title case. For longer entries, use sentence case. > [!NOTE] > For Decisions, it's best practice to use the same value for Canvas Label Text as your Property ID: ruleXxx. | [![A static image displaying the UDesigner Decisions component's Display setting.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/UD_Decisions_Comp_Display_FieldText_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D)](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/UD%20Decisions%20Comp%20Display%20FieldText.jpg?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) ### Actions Panel #### Triggers | Setting | Description | | --- | --- | | **Trigger Type** | This setting provides the following options: - ![Inline image displaying a selected radio button.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/radioComponent_teal_icon(10).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) **Manual**: The component fires when triggered by another component. For example, when using a [Button](/v1/docs/button-component) or [Initializer](/v1/docs/initializer-component) component to trigger a [Plug-In](/v1/docs/plug-in-component) component. By default, this Trigger Type is selected. - ![Inline image displaying a selected radio button.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/radioComponent_teal_icon(10).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) **Watch**: The component fires when there's any action taken on the input listed in the Inputs table. Actions include entering a new value, editing, or overwriting a saved value. If there are multiple inputs, use the Required setting to specify what inputs must be present before firing. | | **Execution Type** | When executing a rule, the Decisions component runs through each Conditional (top to bottom) to set the output. For clarity, assume that you have six configured Conditionals. The third and fifth Conditionals fulfill the Decisions component's conditions to determine a match. The following Execution Types set the Decision component's behavior: - ![Inline image displaying a selected radio button.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/radioComponent_teal_icon(10).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) **First**: When you choose First, the Decisions component runs through the Micro Decisions only acting on the *first* Micro Decision that matches. Based on the earlier example, the match is on the third Micro Decision. - ![Inline image displaying a selected radio button.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/radioComponent_teal_icon(10).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) **Last**: When you choose Last, the Decisions component runs through the Micro Decisions only acting on the *last* Micro Decision that matches. Based on the earlier example, the match is on the fifth Micro Decision. - ![Inline image displaying a selected radio button.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/radioComponent_teal_icon(10).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) **Merge**: When you choose Merge, the Decisions component runs through the Micro Decisions and concatenates new values as a comma-separated list. This behavior only works with multiple Micro Decisions with Output types of value. By default, the First Execution Type is selected. | [![A static image displaying the UDesigner Decisions component's Actions settings.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/UD_Decisions_Comp_Actions_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D)](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/UD%20Decisions%20Comp%20Actions.jpg?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) #### Inputs [![A static image dispaying the Decision component's Inputs Table](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/UD_Decisions_Comp_Actions_InputsTable_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D)](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/UD%20Decisions%20Comp%20Actions%20InputsTable.jpg?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) | Setting | Description | | --- | --- | | **Source** | The Source column is where you enter inputs that your logic component references. Examples of supported inputs include: - The Property ID of another component in the module. For example, a component that acts as a trigger, as an input for a Micro Decision, or referenced in a formula. > [!NOTE] > When using a Trigger Type of Watch, enter all inputs the component must watch for in the Property ID column. > [!TIP] > You can use to reference values nested under a Property ID in the submission data. - Values that aren't the Property ID of a component in the module, but are still present in the submission object. For example, the currentUser object contains information about the end-user. Native values generated by the Unqork Designer Platform. For example, buttonClick, which Unqork creates following button-click events. | | **Alias** | To simplify the configuration, give each component an alias. An easy approach is to assign each component a different letter of the alphabet. For example, A, B, C. | | **Type** | The following input types are available for your selection: - **Exact**: With this input type, your logic component watches for an exact value. Use this option when you have a finite number of responses. Typical components used with this input type include Radio Buttons, Dropdowns, or Text Field components. - **Range**: Used when the input includes a range of numeric values, like 1 to 15 or 3% to 40%. Typical examples include ages, coverage amounts, and so on. > [!TIP] > To learn more about Input Type best practices, view our [Best Practices: Component Configuration](/v1/docs/best-practices-component-configuration) article. - **Contains**: Used when the value contains a phrase and is ideal for strings. An example is a button click that carries dynamic prefixes or suffixes. | | **Required** | Set an input to Required when it must have a value before triggering the Decision. | | **Silent** | "Silent" stands for "Silent Watcher". If **Silent** is selected and the Trigger Type is set to **Watch**, the Decisions component won't trigger if that input's value changes. This setting lets you use the input data as a Micro Decision without triggering the component if that data changes. > [!NOTE] > **Silent** only functions when the Trigger Type is set to **Watch**. It won't function if the Trigger Type is set to Manual. | #### Outputs [![A static image dispaying the Decision component's Outputs Table](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/UD_Decisions_Comp_Actions_OutputsTable_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D)](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/UD%20Decisions%20Comp%20Actions%20OutputsTable.jpg?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) | Setting | Description | | --- | --- | | **Source** | For your logic component to recognize an output, you must enter the destination component's Property ID(s). The Property ID entered must match the Property ID of the component that acts as the output. Remember, use camel case without spaces or punctuation. | | **Type** | Set the type of Output process to run. Discover available Output types in our [Logic Components: Input & Output Types](/v1/docs/logic-components-input-output-types) article. | #### Conditionals > [!NOTE] > The **Conditionals** table in UDesigner replaces the **Micro Decisions** table from Classic Designer. They are functionally the same. [![A static image displaying the UDesigner Decisions component's Conditionals table.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/UD_Decisions_Comp_Actions_Conditionals_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D)](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/UD%20Decisions%20Comp%20Actions%20Conditionals.jpg?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) The Conditionals table is where you set if/then rules using your defined inputs and outputs. Inputs display in the left columns of the Conditionals table. The column headers match the Input components' Property IDs. Outputs display in the right columns and are named using a concatenation of their ID and Type. > [!NOTE] > The Conditionals table begins in an empty state until **Inputs** and **Outputs** are implemented. | Setting | Description | | --- | --- | | **Input Values (Left Columns)** | Shows a column for each input component. The component's Property ID serves as the header for the column. Using the firstrow, enter the trigger value the logic component uses when triggering the output. > [!NOTE] > By default, Date Input components store dates in ISO 8601 format with a timestamp of midnight UTC. For example, 2020-11-13T00:00:00Z. When referencing input values from a Date Input component, you must also use ISO 8601 format. The exception is when the Date Input component has Store Date Only enabled, in which case the date stores without a timestamp. > [!TIP] > A blank value/nothing in the Input column acts as a catch-all for any Input values not otherwise defined. | | **Output Values (Right Columns)** | Shows a column for each output component. A concatenation of the component's Property ID and the Type serves as the header for each column. Using first row onward, define the behavior based on the Type. For example, _visible: yes/no. | ### Advanced Panel #### Set Execution | **Setting** | Description | | --- | --- | | **Set Execution** | Select if and what is executed when this component triggers. | | **Disable Execution** | If Disable Execution is set to ![A toggle switch indicating an on/off state for a user interface element.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Group 1.png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) **(ON)**, the logic tied to this component does not execute. Use this to keep the component's settings, but disable the operations it performs. By default, this setting is set to ![A toggle switch in the 'on' position, indicating an active setting or feature.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Group 2(1).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) **(OFF)****.** | | **Execute All Child Decisions** | When set to ![Toggle Button set to On](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/toggle_ON(6).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) (ON), triggers all child Decisions associated with this Decisions component. By default, Execute All Child Decisions is set to ![Toggle Button set to Off.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/toggle_OFF(3).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) (OFF). | | **Execute Decisions From Last To First** | Reverses the trigger order of child decisions. When set to ![Toggle Button set to On](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/toggle_ON(6).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) (ON), child decisions trigger from last to first. | | **Set Debounce** | The number of milliseconds that pass before the form loads this component. For larger modules, increasing the debounce value prevents the Decisions component from triggering before all components load in. | [![A static image displaying the UDesigner Decisions component's Advanced settings.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/UD_Decisions_Comp_Advanced_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D)](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/UD%20Decisions%20Comp%20Advanced.jpg?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) ## Adding a Decisions Component In this scenario, you'll show a follow-up question when an end-user answers **No** to "Are you a citizen of the United States?" These instructions assume that you have an open module saved with a title. ### Configure the Radio Buttons Component This component asks the end-user if they're a citizen of the United States. If the end-user answers Yes, this is the end of the process. If the end-user answers No, the process continues. This Radio Button is the input for your Decisions component's if/then rule. 1. Drag and drop a **![Radio Buttons icon](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/radioButtonsComponent_Teal_Icon.png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) Radio Buttons** component onto your canvas. 2. In the Property ID field, enter **citizenCheck**. 3. In the **Label Text** field, enter `Are you a citizen of the United States?`. 4. Click **![Data Icon](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/data_teal_icon(5).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) Data**. 5. Complete the Values table as follows: | | **Option Label** | **Value to Store in Submission Data** | | --- | --- | --- | | 1 | Yes | yes | | 2 | No | no | [![A static image displaying the Radio Button component configuration window, the Data panel is selected and the Values data table is filled out with Yes and No values.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Decisions_Component_Example_Rdo1_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D)](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Decisions%20Component%20Example%20Rdo1.jpg?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) 6. From the component's configuration window, click **![Actions Icon](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/actions_icon(15).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) Actions**. 7. In the **Trigger** field, enter `ruleCitizen`. You'll set up this component in a later step. [![A static image displaying the Radio component's configuration window, the Actions panel is selected, and the Trigger field is set to ruleCitizen.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Decisions_Component_Example_Rdo2_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D)](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Decisions%20Component%20Example%20Rdo2.jpg?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) 8. Click **Save Component**. ### Configure the Text Field Component This component stays hidden until the end-user answers **No** to the question. After selecting **No**, the Text Field displays, and the end-user can add their country of citizenship. This Text Field is the output for your Decisions component's if/then rule. 1. Drag and drop a **![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/text_field_teal_component(1).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) Text Field** component onto your canvas, placing it below the **citizenCheck ![Radio Buttons icon](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/radioButtonsComponent_Teal_Icon.png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) Radio Buttons** component. 2. In the Property ID field, enter **whatCountry**. 3. In the **Label Text** field, enter `If no, what country?`. 4. Under **Default State Options**, set **Hide Field** to ![A toggle switch indicating an on/off state for a user interface element.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Group 1.png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) (ON). [![A static image dislaying the Text Field component's configuration window. The Display panel is selected and the Deault State Options section is shown. The Hide Field setting is toggled to ON.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/UD_Decisions_Comp_ExampleTextField_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D)](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/UD%20Decisions%20Comp%20ExampleTextField.jpg?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) 5. Click Save Component. ### Configure the Decisions Component Your Decisions component holds the logic behind your if/then rule. In this example, if the end-user selects **No** in the Radio Buttons component, then the Text Field component displays. 1. Drag and drop a **D****ecisions** component onto your canvas, placing it below the **whatCountry** **T****ext Field** component. 2. In the Property ID field, enter **ruleCitizen**. 3. In the Canvas Label Text field, enter `ruleCitizen`. 4. Navigate to the **D****ecisions** component's **Actions** settings. 5. Next to **Inputs & Outputs**, click Edit. 6. Complete the **Inputs** table as follows: | | **Source** | **Alias** | **Type** | | --- | --- | --- | --- | | 1 | areYouACitizen | | exact | > [!NOTE] > Setting an output Type of exact lets you use exact values in the Micro Decisions table. Exact is a good option because there are only two possible values from the Radio Buttons component: yes and no. 7. Complete the **Outputs** table as follows: | | **Source** | **Type** | | --- | --- | --- | | 1 | whatCountry | visible | > [!NOTE] > Setting an output Type of visible lets you hide or display the field referenced in the Property ID column. So, your Text Field displays or hides based on the end-user's Radio Buttons selection. You'll set this up in the Micro Decisions table. 8. Under the **Conditionals** **table**, click the Add New Row button two times. This creates a two row table using the Inputs and Outputs values as headers. 9. Complete the **Conditionals** **table** table as follows: | **citizenCheck** | **whatCountry_visible** | | --- | --- | | no | yes | | | no | [![A static image displaying the Decisions component's Actions settings, the Conditionals table is highlighted and filled out.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/UD_Decisions_Comp_ExampleConditionals_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D)](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/UD%20Decisions%20Comp%20ExampleConditionals.jpg?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) 10. Click **Save Component**. 11. **Save** your module. Preview your module in Express View, and test it out: [Video](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Decisions_Component_ExpressView.webm?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) The **Decisions component** is an [event component](/v1/docs/data-event-processing-components) for logic-based if/then scenarios. For example, **if** your end-user selects radio button A, **then** show field B. Or, **if** your end-user types value X, **then** display pop-up Y. Three inputs drive the Decisions component: - **Input component**: What drives the action. Any component works here, including [Buttons](/v1/docs/button-component), [Radio Buttons](/v1/docs/radio-buttons-component), or [Text Fields](/v1/docs/text-field-component). The Decisions references the Property ID of the input component. - **Output component**: What reacts to the action. Again, any component works, including [Panels](/v1/docs/panel-component) and [Field-Groups](/v1/docs/field-group-component) containing multiple components. The Decisions references the Property ID of the output component. - **Decisions component**: The Decision itself. You can configure the interaction between the inputs and outputs using Micro Decisions. You can set the input and output behavior by selecting the Type for each. The Micro Decisions table is where you'll set if/then rules using your defined inputs and outputs. Inputs display in the left columns of the Micro Decisions table. The column headers match the Input components' Property IDs. Outputs display in the right columns and are named using a concatenation of their ID and Type. Here are some real-world examples of when to use a Decisions component: - After the end-user determines they are not a U.S. citizen, a Country of Citizenship field displays so they can select a country. - Showing state-specific question labels based on an end-user selecting their state of residence. - Adjusting a maximum loan amount based on your end-user's calculated credit score. - Displaying a field with the click of a button. You can find the Decisions component in the [Data & Events Processing](/v1/docs/data-event-processing-components) group to the left of the [Module Builder](/v1/docs/introduction-to-the-module-builder). [Video](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Decisions_Component_Intro.webm?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) ## What You'll Learn After completing this article, you’ll know when to use a Decisions component, how to configure its settings, and how to use it in a module. ## About the Configuration Window > [!TIP] > To learn more about general component settings and those that display when a component is associated with Data Models, view our [General Component Settings](/v1/docs/general-component-settings) article. ### Display Panel [![A static image dispaying the Decisions component's Display settings.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Decisions_Component_Display_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D)](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Decisions%20Component%20Display.jpg?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) | Setting | Description | | --- | --- | | **Canvas Label Text** | A component’s Label Text indicates the purpose of the corresponding field or component. For non-input components, the Label Text isn't end-user facing, and only appears in the Module Builder. User-friendly labels make your module more accessible. Keep labels short and descriptive (a word or two) using title case. For longer entries, use sentence case. > [!NOTE] > For Decisions, it's best practice to use the same value for Canvas Label Text as your Property ID: ruleXxx. | ### Actions Panel [![A static image dispaying the Decisions component's Actions settings.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Decisions_Component_Actions_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D)](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Decisions%20Component%20Actions.jpg?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) | Setting | Description | | --- | --- | | **Trigger Type** | This setting provides the following options: - ![Inline image displaying a selected radio button.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/radioComponent_teal_icon(10).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) **Manual**: The component fires when triggered by another component. For example, when using a [Button](/v1/docs/button-component) or [Initializer](/v1/docs/initializer-component) component to trigger a [Plug-In](/v1/docs/plug-in-component) component. By default, this Trigger Type is selected. - ![Inline image displaying a selected radio button.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/radioComponent_teal_icon(10).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) **Watch**: The component fires when there's any action taken on the input listed in the Inputs table. Actions include entering a new value, editing, or overwriting a saved value. If there are multiple inputs, use the Required setting to specify what inputs must be present before firing. | | **Execution Type** | When executing a rule, the Decisions component runs through each Conditional (top to bottom) to set the output. For clarity, assume that you have six configured Conditionals. The third and fifth Conditionals fulfill the Decisions component's conditions to determine a match. The following Execution Types set the Decision component's behavior: - ![Inline image displaying a selected radio button.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/radioComponent_teal_icon(10).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) **First**: When you choose First, the Decisions component runs through the Micro Decisions only acting on the *first* Micro Decision that matches. Based on the earlier example, the match is on the third Micro Decision. - ![Inline image displaying a selected radio button.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/radioComponent_teal_icon(10).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) **Last**: When you choose Last, the Decisions component runs through the Micro Decisions only acting on the *last* Micro Decision that matches. Based on the earlier example, the match is on the fifth Micro Decision. - ![Inline image displaying a selected radio button.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/radioComponent_teal_icon(10).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) **Merge**: When you choose Merge, the Decisions component runs through the Micro Decisions and concatenates new values as a comma-separated list. This behavior only works with multiple Micro Decisions with Output types of value. By default, the First Execution Type is selected. | #### Inputs | Setting | Description | | --- | --- | | **Property ID** | The Source column is where you enter inputs for your logic component to reference. Examples of supported inputs include: - The Property ID of another component in the module. Examples include a component that acts as a trigger, an input for a Micro Decision, or a referenced formula. > [!NOTE] > When using a Watch Trigger Type, enter all inputs the component must watch for in the Property ID column. > [!TIP] > You can use to reference values nested under a Property ID in the submission data. - Values that are not the Property ID of a component in the module, but are still present in the submission object. For example, the currentUser object contains information about the end-user. - Native values generated by the Unqork Designer Platform. For example, buttonClick. This Unqork value is created following button-click events. | | **Alias** | To simplify the configuration, give each component an alias. An easy approach is to assign each component a different letter of the alphabet. For example, A, B, C. | | **Type** | The following input types are available for your selection: - **Exact**: With this input type, your logic component watches for an exact value. Use this option when you have a finite number of responses. Typical components used with this input type include Radio Buttons, Dropdowns, or Text Field components. - **Range**: Used when the input includes a range of numeric values, like 1 to 15 or 3% to 40%. Typical examples include ages, coverage amounts, and so on. > [!TIP] > To learn more about Input Type best practices, view our [Best Practices: Component Configuration](/v1/docs/best-practices-component-configuration) article. - **Contains**: Used when the value contains a phrase and is ideal for strings. An example is a button click that carries dynamic prefixes or suffixes. | | **Required** | Set an input to Required when it must have a value before triggering the Decision. | | **Silent** | "Silent" stands for "Silent Watcher". If **Silent** is selected and the Trigger Type is set to **Watch**, the Decisions component won't trigger if that input's value changes. This setting lets you use the input data as a Micro Decision without triggering the component if that data changes. > [!NOTE] > **Silent** only functions when the Trigger Type is set to **Watch**. It won't function if the Trigger Type is set to Manual. | #### Outputs | Setting | Description | | --- | --- | | **Source** | For your logic component to recognize an output, you must enter the destination component's Property ID(s). The Property ID entered must match the Property ID of the component that acts as the output. Remember, use camel case without spaces or punctuation. | | **Type** | The following output types are available for your selection: - **Clear**: Clears the output component's data from the submission. A common use of this value is to set the input of `"all else"` (denoted by a blank column A), then set clear to `yes`. - **ComponentReferenceKey**: Lets you update any settings of an [Advanced Datagrid](/v1/docs/advanced-datagrid-component) component. - **Content**: Sets the value inside an [HTML Element](/v1/docs/html-element-component) and Content component. - **Currency**: Sets the currency when the output is a [Number](/v1/docs/number-component) component. - **CustomClass**: Changes the CSS class of an element. - **Disabled**: Sets the component as disabled and read-only. This output type utilizes two values: **yes** or **no**. In The Micro Decisions table, the **_disabled** column maps the conditions for when you want the component disabled (**yes**) or enabled (**no**). The field becomes disabled after the Decisions component triggers. - **Duration**: Sets the duration for a [Timer](/v1/docs/timer-component) component. - **DynamicRefresh**: Triggers the specified [Panel](/v1/docs/panel-component) component to refresh its existing content with the provided component JSON definitions. The specified Panel component must have [Dynamic Refresh](/v1/docs/dynamic-refresh) enabled. - **Editable**: This setting is similar to Disabled, but is specific to [Grid Systems](/v1/docs/grid-systems) components. - **Hidden**: Sets a front-end component either visible or hidden, with possible values of **yes** or **no**. - **Label**: Changes the label of a field. For example, the same question may be worded differently depending on the state of your end-user. Use this feature to alter the phrasing depending on their state. - **Message**: An error message displays under the output field. For example, let's say an applicant must be 18 years or older to complete the application. Using an age-related error message, you can set the message to say, `"Must be 18 years or older to apply"`. In the Micro Decisions table, the **_message** column must map to the message. - **Minimum/Maximum**: Sets the lowest or highest value your end-user can enter into a field. If your end-user enters a value below the minimum or above the maximum, an error returns. - **Multi**: Use this value for asynchronous data configuration decisions. Where the input and output components match, you can set up multiple Micro Decisions. - **Navigation**: Configures a navigation event for a [Navigation](/v1/docs/navigation-component) component. - **Page**: The selected URL opens and displays in the same tab. The page uses an **HREF** for a URL in the same tab. In the Micro Decisions table, the **_page** column maps to the URL. This output accepts only URLs or paths as its value. - **PageOpen**: The selected URL opens and displays in a new tab. The page uses an **HREF** with **Target=blank**. In the Micro Decisions table, the **_pageOpen** column maps to the URL. This output accepts only URLs or paths as its value. - **Pattern**: Defines the component's regular expression. This setting is useful with [Text Field](/v1/docs/text-field-component) components. - **PopError**: Creates a pop-up modal with an error message. In the Micro Decisions table, the **_popError** column maps to the content of your pop-up error message. - **PopMessage**: Creates a pop-up modal containing a message. In the Micro Decisions table, the **_popMessage** column maps to the content of your pop-up message. - **Prefix/Suffix**: Applies a prefix or suffix to the output component. - **ReadOnlyView**: Sets a component as read-only, but does not apply the disabled styling. This output type uses two values: **yes** or **no**. In the Micro Decisions table, the **_readOnlyView** column maps the conditions for when you want the component set to read-only (**yes**), or read or write (**no**). The field becomes read-only after the Decisions component triggers - **Required**: Sets the component as required. In the Micro Decisions table, the **_required** column maps the conditions for when you want the component required (**yes**) or not required (**no**). The field becomes required after the Decisions component triggers. - **RequiredandVisible**: Combines the Required and Visible operations, setting both at the same time. - **Reset**: Resets the output component to its default settings. This output resets a component's Disabled, Editable, Hidden, and Required settings to their original values. - **SelectValues**: Defines options available in a [Dropdown](/v1/docs/dropdown-component) and [Multi-Select Dropdown](/v1/docs/multi-select-dropdown-component) component. This output is similar to the component's ReferenceKey Trigger Type. - **Steps**: This setting is specific to the [Number](/v1/docs/number-component) component, letting you set up steppers and a number range. - **Title**: Changes the title of a [Panel](/v1/docs/panel-component) component. - **Trigger**: Triggers components, like [Initializer](/v1/docs/initializer-component) components. In the Micro Decisions table, the **_trigger** column maps to **GO**. - **Value**: Takes the value entered in the Micro Decisions table and sends it to the output component. - **Visible**: Sets the component as visible or hidden in Express View. In the Micro Decisions table, the **_visible** column maps the conditions for when you want the component visible (**yes**) or hidden (**no**). > [!NOTE] > The following output types are not supported or referenced above: Steps, Focus, Pattern, Content, and Clicked. Additionally, not all components support every output type. For example, setting a Prefix/Suffix output for a Radio Buttons component has no effect. Set the type of Output process to run. Discover available Output types in our [Logic Components: Input & Output Types](/v1/docs/logic-components-input-output-types) article. | #### Micro Decisions | Setting | Description | | --- | --- | | **Input Values** | Shows a column for each input component. The component's Property ID serves as the header for the column. Using the firstrow, enter the trigger value the logic component uses when triggering the output. > [!NOTE] > By default, Date Input components store dates in ISO 8601 format with a timestamp of midnight UTC. For example, 2020-11-13T00:00:00Z. When referencing input values from a Date Input component, you must also use ISO 8601 format. The exception is when the Date Input component has Store Date Only enabled, in which case the date stores without a timestamp. > [!TIP] > A blank value/nothing in the Input column acts as a catch-all for any Input values not otherwise defined. | | **Output Values** | Shows a column for each output component. A concatenation of the component's Property ID and the Type serves as the header for each column. Using first row onward, define the behavior based on the Type. For example, _visible: yes/no. | ### Validation Panel [![A static image dispaying the Decisions component's Validation settings.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Decisions_Component_Validation_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D)](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Decisions%20Component%20Validation.jpg?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) #### Unit Testing The Unit Testing tool lets you test that your Decisions component works as expected. Enter the data you want to test in the Input table and the results of the test show in the Output table. This is a good way to catch logic errors early. To get started, click Create Test to create a new test. [![A static image of the Decisions Component's Unit Testing settings.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Decisions_Component_UnitTest_thumb_0_0(1).jpg?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D)](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Decisions%20Component%20UnitTest(1).jpg?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) | **Setting** | Description | | --- | --- | | **![Up Arrow](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/chevron_up_grey_icon(2).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D)** **Close** **![Down Arrow icon](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/chevron_down_grey_icon(8).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D)** **Open Unit Testing** | Collapses or opens the Unit Testing panel. | | **Refresh Fields** | Updates all Input fields to reflect changes on the canvas. | | **Run All Tests** | Runs all added tests with the Input values entered. | | **![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/image(33).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D)** | Additional Unit Testing settings. | | **![Duplicate Icon](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/duplicate_icon(4).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) Duplicate** | Makes a copy of an existing test. | | **![Trashcan icon](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/delete_red_icon(3).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) Delete Test** | Removes an existing test. | | **Run Test** | Runs the test with the Input values entered. | | **Input Table** | Use this table to enter the information you want to test. If you have multiple inputs and want to skip testing certain inputs, leave the **Value** column blank. | | **Input** | Automatically populates all components listed in the Decisions component’s Inputs table. | | **Label** | Automatically populates the label of the connected Input component. | | **Value** | Enter example data in this column that you want to test. > [!NOTE] > If you enter a JSON value with a syntax error (such as a missing bracket), the cell turns yellow, indicating an error scenario. | | **JSON** | Select this checkbox when you enter a Value that's written in JSON. This can be an object, array, number, or Boolean (true/false) value. | | **Output Table** | This table displays the results of your test. | | **Output** | Automatically populates all components listed in the Decisions component's Outputs table. | | **Label** | Automatically populates with the label of your connected Output component. | | **Expected** | Enter the outcome you expect from the test you run. You can use this to compare the expected result with the actual result. > [!NOTE] > This column is optional. If you leave it blank, the cell turns red when the unit test runs. | | **Actual** | The result from the test you ran. | | **JSON** | Select this checkbox when your result must display in JSON. This can be an array, string, or object. | After you create a unit test, test the decisions. The Unit Testing feature populates the Input, Label, and Output fields based on the configuration of your Decisions component. You only need to complete the Value and Expected fields. When you click **Run Test**, you can confirm the Expected results match the Actual results. > [!TIP] > To learn more about the Testing Tool, view our [Unqork Testing Tool](/v1/docs/introduction-to-the-testing-tool) article. ### Advanced Panel [![A static image dispaying the Decisions component's Advanced settings.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Decisions_Component_Advanced_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D)](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Decisions%20Component%20Advanced.jpg?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) | **Setting** | Description | | --- | --- | | **Set Execution** | Select if and what is executed when this component triggers. | | **Disable Execution** | If Disable Execution is set to ![A toggle switch indicating an on/off state for a user interface element.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Group 1.png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) **(ON)**, the logic tied to this component does not execute. Use this to keep the component's settings, but disable the operations it performs. By default, this setting is set to ![A toggle switch in the 'on' position, indicating an active setting or feature.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Group 2(1).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) **(OFF)**. | | **Execute All Child Decisions** | When set to ![Toggle Button set to On](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/toggle_ON(6).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) **(ON)**, triggers all child Decisions associated with this Decisions component. By default, Execute All Child Decisions is set to ![Toggle Button set to Off.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/toggle_OFF(3).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) **(OFF).** | | **Execute Decisions From Last To First** | Reverses the trigger order of child decisions. When set to ![Toggle Button set to On](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/toggle_ON(6).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) **(ON)**, child decisions trigger from last to first. | | **Set Debounce** | The number of milliseconds that pass before the form loads this component. For larger modules, increasing the debounce value prevents the Decisions component from triggering before all components load in. | ## Adding a Decisions Component In this scenario, you'll show a follow-up question when an end-user answers **No** to "Are you a citizen of the United States?" These instructions assume that you have an open module saved with a title. In this configuration, you need the following components: - 1 [Radio Buttons](/v1/docs/radio-buttons-component) component - 1 [Text Field](/v1/docs/text-field-component) component - 1 **Decisions** component ### Configure the Radio Buttons Component This component asks the end-user if they're a citizen of the United States. If the end-user answers Yes, this is the end of the process. If the end-user answers No, the process continues. This Radio Button is the input for your Decisions component's if/then rule. 1. Drag and drop a **![Radio Buttons icon](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/radioButtonsComponent_Teal_Icon.png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) Radio Buttons** component onto your canvas. 2. In the Property ID field, enter **citizenCheck**. 3. In the **Label Text** field, enter Are you a citizen of the United States?. 4. Click **![Data Icon](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/data_teal_icon(5).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) Data**. 5. Complete the Values table as follows: | | **Option Label** | **Value to Store in Submission Data** | | --- | --- | --- | | 1 | Yes | yes | | 2 | No | no | [![A static image displaying the Radio Button component configuration window, the Data panel is selected and the Values data table is filled out with Yes and No values.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Decisions_Component_Example_Rdo1_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D)](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Decisions%20Component%20Example%20Rdo1.jpg?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) 6. From the component's configuration window, click **![Actions Icon](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/actions_icon(15).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) Actions**. 7. In the **Trigger** field, enter ruleCitizen. You'll set up this component in a later step. [![A static image displaying the Radio component's configuration window, the Actions panel is selected, and the Trigger field is set to ruleCitizen.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Decisions_Component_Example_Rdo2_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D)](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Decisions%20Component%20Example%20Rdo2.jpg?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) 8. Click **Save & Close**. ### Configure the Text Field Component This component stays hidden until the end-user answers **No** to the question. After selecting **No**, the Text Field displays, and the end-user can add their country of citizenship. This Text Field is the output for your Decisions component's if/then rule. 1. Drag and drop a **![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/text_field_teal_component(1).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) Text Field** component onto your canvas, placing it below the **citizenCheck ![Radio Buttons icon](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/radioButtonsComponent_Teal_Icon.png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) Radio Buttons** component. 2. In the Property ID field, enter **whatCountry**. 3. In the **Label Text** field, enter If no, what country?. 4. Under **Default State Options**, set **Hide Field** to ![Toggle Button set to On](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/toggle_ON(6).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) (ON). [![A static image dislaying the Text Field component's configuration window. The Display panel is selected and the Deault State Options section is shown. The Hide Field setting is toggled to ON.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Decisions_Component_Example_TxtField_1_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D)](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Decisions%20Component%20Example%20TxtField%201.jpg?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) 5. Click **Save Component**. ### Configure the Decisions Component Your Decisions component holds the logic behind your if/then rule. In this example, if the end-user selects **No** in the Radio Buttons component, then the Text Field component displays. 1. Drag and drop a **![Decisions Component icon](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/decisionsComponent_teal_icon(1).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) Decisions** component onto your canvas, placing it below the **whatCountry** **![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/text_field_teal_component(1).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) Text Field** component. 2. In the Property ID and the **Canvas Label Text** fields, enter ruleCitizen. 3. Click **![Actions Icon](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/actions_icon(15).png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) Actions**. 4. Complete the **Inputs** table as follows: | | **Property ID** | **Alias** | **Type** | | --- | --- | --- | --- | | 1 | areYouACitizen | | exact | > [!NOTE] > Setting an output Type of exact lets you use exact values in the Micro Decisions table. Exact is a good option because there are only two possible values from the Radio Buttons component: yes and no. 5. Complete the **Outputs** table as follows: | | **Property ID** | **Type** | | --- | --- | --- | | 1 | whatCountry | visible | > [!NOTE] > Setting an output Type of visible lets you hide or display the field referenced in the Property ID column. So, your Text Field displays or hides based on the end-user's Radio Buttons selection. You'll set this up in the Micro Decisions table. 6. Complete the **Micro Decisions** table as follows: | | **Input Values** | **Output Values** | | --- | --- | --- | | | **citizenCheck** | **whatCountry_visible** | | 1 | no | yes | | 2 | | no | [![A static image displaying the Decisions component's Actions settings, the Microdecisions table is highlighted and filled out.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Decisions_Component_Example_Dec_1_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D)](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Decisions%20Component%20Example%20Dec%201.jpg?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) 7. Click **Save & Close**. 8. **Save** your module. Preview your module in Express View, and test it out: [Video](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Decisions_Component_ExpressView.webm?sv=2026-02-06&spr=https&st=2026-11-07T17%3A57%3A43Z&se=2026-11-07T18%3A57%3A43Z&sr=c&sp=r&sig=M0%2FzFGDZ%2FaRi933THJ6dtwu9op%2FnixPC55BFDaFEPxw%3D) ## Resources - [Modify the Decisions component using the toolbar settings](/v1/docs/component-toolbar-settings). - [Buttons Use Case: Triggering Decisions with Buttons](/v1/docs/how-to-trigger-decisions-with-buttons). - [How to: Reference Field Tags in Decisions](/v1/docs/how-to-reference-field-tags-in-decisions). - [Use Case: Combining Decisions and Calculators](/v1/docs/combining-calculators-and-decisions). ## A Property ID is the unique field ID used by Unqork to track and link components in your module. Also known as Record Data. Submission data consists of information saved by Unqork components. View submission data by using the angular command, or in Record Collections. A naming convention for computer programming. Use camelCase for Property IDs, for example: newUser, lastName, & rdoButton. 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 . Express View is how your end-user views your application. Express View also lets you preview your applications to test your configuration and view the styling. This is also the view your end-users will see when interacting with your application. After configuring a module, click Preview in the Module Builder to interact with the module in Express View. JSON (JavaScript Object Notation) is an open standard file and data interchange format. Unqork uses JSON for submission (record) data. A modal is a window that appears on top of the content you are currently viewing.