---
sourceDocument: Australia Build workflows
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/build-workflows

 Release :

    - australia

ft:locale :

    - en-US

ft:publication_title :

    - Australia Build workflows

ft:clusterId :

    - crworkflow

bundleId :

    - crworkflow

workflow :

    - Creator


---

# Make a decision flow logic

# Make a decision flow logic {#ariaid-title1}

* Release version: Australia
* 
* Updated March 12, 2026
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 4 minutes to read

Summarize  
![AI sparkle icon](https://servicenow.com/docs/portal-asset/ai-sparkle-icon) Summarized using AI  
This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.  

## Summary of Make a decision flow logic

The Make a decision flow logic in ServiceNow enables you to direct flow paths based on multiple conditional criteria using an external decision table.
This approach offers a more readable and maintainable alternative to nested If, Else If, or switch case statements.
It is particularly useful when you need to evaluate complex conditions---such as determining insurance coverage based on inputs like age, accident history, and car model---and branch the flow accordingly.
Show full answer Show less  
This flow logic requires a decision table (a **sysdecision** record) that defines the input parameters and possible answers. Each answer can create a separate branch in your flow, allowing tailored actions based on the decision results.

## Key Features

* **Decision Table Integration:** Connects with an external decision table that accepts any number of inputs and supports multiple decision outcomes.
* **Execution Modes:** Choose to run either the first matching decision answer or all matching answers, influencing how many branches or outputs your flow produces.
* **Branching Control:** The *Use Branches* option lets you display each decision answer as a separate branch in the flow, similar to multiple If blocks. Disabling branches allows the flow to return answer records without branching.
* **Otherwise Branch:** When branches are enabled, you can add an "Otherwise" branch to handle cases where no decision table answers match, equivalent to an Else block.
* **Input Mapping:** Inputs to the decision table appear as configurable fields in the flow, which can be set manually or populated using data pills from other flow components.
* **Output Options:** Outputs include the answer table, ordered list of matching answer record IDs, individual answer records, and count of answers, depending on execution and branching settings.
* **Data Pill Scope:** Data pills set within a branch are only accessible inside that branch; referencing them outside the branch yields null values.

## Practical Use Case

For example, to determine the appropriate insurance coverage, you configure a decision table with inputs such as customer age, accident history, and car model. The Make a decision flow logic then evaluates these inputs and branches the flow to execute specific actions for each insurance recommendation.

## Important Considerations

* Clearing the *Use Branches* option removes branch flow logic blocks and the "Include Otherwise" option permanently from the flow; re-enabling branches does not restore them.
* When running all matching decisions without branches, use outputs like ordered answer IDs to iterate or process multiple answers.
* The Flow Execution Details tab provides runtime insights, showing which branches were evaluated, their results, and actions executed.  
You can use the decision table branching logic in situations where multiple conditional paths are required, as an alternative to nested If, Else If, or Else flow logic. For example, if you want to determine what kind of car insurance you need, you can add inputs such as your age, accident history, and car model to the decision table to determine a level of insurance coverage. This logic can save you time and present a more readable format than nested if conditions or switch case statements.  
The Make a decision flow logic requires that you create an external decision table for its branch paths. Each decision table answer produces a separate branch path within your flow. Decision tables accept any number of inputs and support any number of decisions. You can configure the Make a decision flow logic to return a single or multiple answers and to display the answers as branch paths or record data pills. For more information on decision tables, see [Exploring decision tables](https://servicenow-prod.fluidtopics.net/2xAt3u1e0tpZJ9Pi4iHWdg "Decision tables in Workflow Studio enable developers to decouple decision logic from their code by creating and maintaining decision rules.").  
Note:  
* When the Use Branches check box is cleared, the Make a decision data pills in other flow components is supported only if there are no branches.
* The Make a decision data pill can be used in the answer branches only when the Use Branches check box is selected.
* When you set a data pill value from inside an answer branch of Make a decision flow logic, the data pill value is only available to other actions in the same branch. Referencing a data pill value that was set inside an answer branch from outside of the flow logic branch produces a null value.
{#flow-logic-make-decision__ul_l31_pjp_3mb}

## Inputs {#flow-logic-make-decision__section_k2q_fhm_r2b}

{#flow-logic-make-decision__table_m3l_b5l_p2b__entry__2}

| Input | Description |
|-|-|
| Decision Label | Descriptive label for the decision that you want to make. For example, you can create the <kbd class="ph userinput">Recommended Insurance Policy</kbd> label if you want to determine the level of insurance coverage that you need. This value overrides the default action label. |
| Decision Table | Reference to a decision table \[sys_decision\] record. This record provides the decision input answers that are available to the flow. To create a new decision table, select the create new record icon (![Create new record icon]()). |
| Execution | Decision answers you want the flow to run. * First decision that matches: Run only the first matching decision answer. This option produces these outputs. * Answer record * Answer table {#flow-logic-make-decision__ul_p4s_ndr_bpb} * Run all decisions that match: Run all matching decision answers. This option produces these outputs. * Answer table * Ordered IDs * Answer records * Count {#flow-logic-make-decision__ul_gb4_xdr_bpb} {#flow-logic-make-decision__ul_h4r_mdf_ffb} Note: Set the Use Branches option to specify how your flow displays matching decision answers. |
| Use Branches | Option to display each possible decision answer in its own branch flow logic block. Use the branch flow logic block to specify what content to run where the condition matches a specific decision table answer. Each branch flow logic block is equivalent to an If flow logic block for each answer. Disable branches when you want to return one or more answer records instead of branch flow logic blocks. Warning: When you clear and confirm the Use Branches option, your flow removes the flow logic blocks for each branch and removes the Include Otherwise check box. Reselecting the Use Branches check box does not restore any removed branch flow logic blocks. |
| Include Otherwise | Option to add the otherwise branch to the list of available answers. This option is only available when Use Branches is selected. You can use this branch to specify the actions and subflows to run when the decision table does not generate an answer. An Otherwise branch is equivalent to an Else flow logic block. Note: If you specify a decision table default answer, this branch will never run because the decision table always selects an answer. |
| Decision table inputs | List of Decision Input \[sys_decision_input\] records that are associated with your decision table. Your flow displays a separate input for each record. For example, if you have decision inputs for <kbd class="ph userinput">Units Ordered</kbd> and <kbd class="ph userinput">Location of Sale</kbd>, an input displays for each record. |
[ ]

{#flow-logic-make-decision__table_m3l_b5l_p2b}

## Outputs {#flow-logic-make-decision__section_yzd_hg5_w2b}

{#flow-logic-make-decision__table_oy4_hdy_1fb__entry__3}

| Field | Description | Data Type |
|-|-|-|
| Answer table | Table containing the answer records. Each decision \[sys_decision_question\] table record refers to a matching answer record. | Table Name |
| Ordered IDs | List of matching answer record sys_id values generated by the decision table. Your flow only generates this output when the Use Branches option is false and the Execution option is Run all decisions that match. You can use this output as the input for a For Each flow logic block or a Look Up Record action. Your flow sorts the list by the Order value listed in the Decision \[sys_decision_question\] table. | List |
| Answer records | Answer records returned by the decision table. Returns a single record when Execution is First decision that matches. Returns a list of records when Execution is Run all decisions that match. | Record or Records |
| Count | The number of answer records returned by the decision table. Only displayed when Execution is Run all decisions that match. | Integer |
[ ]

{#flow-logic-make-decision__table_oy4_hdy_1fb}  

## Use make a decision flow logic to determine insurance coverage

In this example, the flow uses a decision from the Insurance Coverage decision table, which an administrator had configured to determine the insurance coverage that was based on three inputs. The flow
displays all the inputs that were used by the decision table. These inputs can be entered manually, or by dragging data pills into the inputs from the data panel on the right side of the screen. Below this section, the branches
for each answer are shown in the decision table.

## Execution details {#flow-logic-make-decision__section_pqc_2qt_w2b}

Figure 1. Make a decision flow execution details  
The Flow execution details tab provides runtime information about the flow logic.

1. The header shows the state, start time, and runtime for the flow logic.
2. The action shows details about the decision table configuration and inputs.
3. Each possible answer for the decision table is represented as a branch. The state field indicates whether the branch was evaluated and the evaluation result. This section also displays details about the actions that are taken within a branch. Branches that evaluate to true are highlighted in green.
{#flow-logic-make-decision__ol_wtt_scs_r2b}
**Related concepts**   

* [Assign subflow outputs flow logic](https://servicenow-prod.fluidtopics.net/Vi2xufmkKFPMynJkLOlALA "Specify the data the subflow returns when it completes running. Use subflow output as data for a parent flow or as input for another process.")
* [Call a workflow flow logic](https://servicenow-prod.fluidtopics.net/XDLqoShzg9~AHEcc9WiB4A "Run a published and active workflow from your flow. You can use the flow data as a workflow input. For example, you can specify the current record as a workflow input.")
* [Do the following until flow logic](https://servicenow-prod.fluidtopics.net/QAQc64OsyoACdx7Me3riLA "Apply one or more actions repeatedly until an end condition is met. You can use the flow data to specify the end conditions.")
* [Do the following in parallel flow logic](https://servicenow-prod.fluidtopics.net/eILn02zBZvbi3Tn7n7lqLA "Run actions and subflows in separate paths within an isolated flow logic block.")
* [Dynamic flows flow logic](https://servicenow-prod.fluidtopics.net/9CA7wcyPkP1MnkHwcFtX5Q "Identify and run a flow or subflow dynamically by using runtime data. Build templates to provide expected inputs for dynamically called flows or subflows.")
* [End Flow flow logic](https://servicenow-prod.fluidtopics.net/NAyoEtyTqpGliQlDlcqNCg "Stop running the current flow. Use End Flow within a branch of the flow to specify an exit condition. For example, end the flow when it reaches a specific If flow logic block.")
* [For Each flow logic](https://servicenow-prod.fluidtopics.net/m2Jd4tAy1wj9Vfu6zJIqGQ "Apply one or more actions to each record in a list of records.")
* [If flow logic](https://servicenow-prod.fluidtopics.net/nR06QTqfpGjIp8_whZe0CQ "Selectively apply one or more actions only when a list of conditions is met.")
* [Set Flow Variables flow logic](https://servicenow-prod.fluidtopics.net/taLpFCTeLjMl12m~qAkCGw "Assign a value to one or more flow variables, which store flow data as data pills. Access flow variable values by referring to their data pill.")
* [Try flow logic](https://servicenow-prod.fluidtopics.net/2anCAJO7Iy6D_v~Y9CMVeg "Allow a flow to continue running when an error occurs within a flow logic block. Run a sequence of actions in response to errors within the flow logic block.")
* [Wait for a duration flow logic](https://servicenow-prod.fluidtopics.net/jta33j7A9dgcVulpsFKEdg "Use this flow logic to give your users time to act during automated processes or to wait for a specific date and time to complete actions.")  
**Related reference**   

* [Append to Flow Variables flow logic](https://servicenow-prod.fluidtopics.net/QdizsC8_AAj6fxqxNs3ynQ "Append a value to one or more array of objects flow variables. Use flow data to generate values.")
* [Exit Loop flow logic](https://servicenow-prod.fluidtopics.net/wNRkIzhET_BU_tHJZo0sww "Exit from a flow logic loop when the conditions of an If flow logic are met. Continue running the flow from the next step after the flow logic loop. This flow logic is also known as break.")
* [Get Flow Outputs flow logic](https://servicenow-prod.fluidtopics.net/vKzFDepPhnY3B2SF7MnreA "Retrieve output values generated by dynamic flows or subflows.")
* [Go back to flow logic](https://servicenow-prod.fluidtopics.net/ZBe0On6wxNGHSUgBMlBOTA "Return to a prior step in the flow to repeat a sequence of actions.")
* [Skip Iteration flow logic](https://servicenow-prod.fluidtopics.net/hAlsZiuAyM0sbpeo32QQ4w "Skip the current iteration of a flow logic loop when the conditions of an If flow logic are met. Continue running the flow logic loop with the next item in the list. This flow logic is also known as continue.")

