---
schema_version: "1"
id: c349d96638c3483ad5f37c2bde77cdde0cd722f2a3d3783f204eb079f54e168e
title: Make Decisions in a Flow Approval Process
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/platform/264-0-0/automate_automated_approvals_build_logic_conditions.md
canonical_url: https://help.salesforce.com/s/articleView?id=platform.automate_automated_approvals_build_logic_conditions.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: f6faec73966dcf7aae85896213347ad575d638719b6a8d8abc2fe2baa5dbbfb6
description: Use Decision elements to create conditions that control what stages are executed in a flow approval process.
products:
  - Flow Builder
  - Salesforce Platform
release: "264"
---
# Make Decisions in a Flow Approval Process

Use Decision elements to create conditions that control what stages are executed in a flow approval process.

### Required Editions

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small edition"><colgroup><col style="width:100%"></colgroup><tbody><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;"><a href="https://help.salesforce.com/s/articleView?id=platform.automate_automated_approvals_about_supported_editions.htm&amp;release=264.0.0&amp;type=5" title="Review the supported products and editions for Flow Approval Processes.">View supported editions for Flow Approval Processes.</a></td></tr></tbody></table>

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small permission">
        <colgroup>
          <col>
          <col>
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="colgroup" class="slds-cell-wrap" colspan="2" style="text-align:center;vertical-align:top;" id="d193538e61">User Permissions
              Needed</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="User Permissions Needed" class="slds-cell-wrap" style="vertical-align:top;" headers="d193538e61 ">To open, edit, or create a flow approval process in Flow Builder:</td>

            <td class="slds-cell-wrap" style="vertical-align:top;" headers="d193538e61 "><span>Manage Flow</span></td>

          </tr>
          <tr class="">
            <td data-label="User Permissions Needed" class="slds-cell-wrap" style="vertical-align:top;" headers="d193538e61 ">To see the Manage All Flow Approval Processes tile:</td>

            <td class="slds-cell-wrap" style="vertical-align:top;" headers="d193538e61 "><span>Approval
                Designer</span></td>

          </tr>
        </tbody>
      </table>

When a decision element offers two possible outcomes, the default outcome is only followed if the conditions for the first outcome aren’t met.

If a decision element has more than two possible outcomes, the system evaluates them in the order they’re listed. For each outcome:

- Its conditions are checked.
- If the conditions are true, the path associated with that outcome is run.
- If the conditions are false, the system moves on to evaluate the conditions of the next outcome in the list.

At run time, the conditions are evaluated in the order you specify..

1. In the flow approval process, click ![Add element](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-platform-platform_automation-264-0-0-production-enus/60568438-ec7e-4665-acd1-7c80dcbe60d5/platform_automation/images/orchestration/orchestrator_fbuilder_circleplus.png)where you want to insert the element, and then select **Decision**.
2. Enter a label, API name, and description.
3. Select the type of decision logic to use for the Decision element.
    - To determine which outcome runs based on traditional logic expressions and explicitly defined data from your flow approval process, select **Define Manually (Default)**
    - To dynamically determine which outcome runs based on AI evaluating data from your flow approval process, select **Define with AI (Advanced)**.
4. If you selectedDefine Manually (Default), define the conditions and outcomes for the element. Outcomes for a Decision element with manual conditions are evaluated in the order that they’re listed. Therefore, the order that you define your outcomes in can impact the outcome that the orchestration run associated with a parent approval submission takes.
    1. Enter a label and an outcome API name. The outcome API name must be unique within the flow approval process.
    2. Define the condition requirements to use for the first outcome.
        
        <table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
                <colgroup>
                  <col style="width:50%">
                  <col style="width:50%">
                </colgroup>
                <thead class="slds-text-title_caps ">
                  <tr class="">
                    <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d193538e186">Option</th>
                    <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d193538e189">Behavior for Decision Outcomes</th>
                  </tr>
                </thead>
                <tbody>
                  <tr class="">
                    <td data-label="Option" class="slds-cell-wrap" style="vertical-align:top;" headers="d193538e186 ">
                      <samp class="parmname">All Conditions Are Met</samp>
                    </td>

                    <td data-label="Behavior for Decision Outcomes" class="slds-cell-wrap" style="vertical-align:top;" headers="d193538e189 ">If one of the conditions is false, the flow approval process
                      evaluates the next outcome’s conditions. </td>

                  </tr>
                  <tr class="">
                    <td data-label="Option" class="slds-cell-wrap" style="vertical-align:top;" headers="d193538e186 ">
                      <samp class="parmname">Any Condition Is Met</samp>
                    </td>

                    <td data-label="Behavior for Decision Outcomes" class="slds-cell-wrap" style="vertical-align:top;" headers="d193538e189 ">If one of the conditions is true, the flow approval process
                      immediately takes this outcome’s path. </td>

                  </tr>
                  <tr class="">
                    <td data-label="Option" class="slds-cell-wrap" style="vertical-align:top;" headers="d193538e186 ">
                      <samp class="parmname">Custom Condition Logic Is Met</samp>
                    </td>

                    <td data-label="Behavior for Decision Outcomes" class="slds-cell-wrap" style="vertical-align:top;" headers="d193538e189 ">
                      <p>If you select this option, provide the condition logic by entering up
                        to 1,000 characters. Use: </p>
                      <ul>
                        <li>Numbers to refer to each condition</li>

                        <li><kbd>AND</kbd>, <kbd>OR</kbd>, or
                          <kbd>NOT</kbd> to identify which combination of
                          conditions must be true
                        </li>

                        <li>Parentheses to group parts of the string together</li>

                      </ul>
                      <p>If you enter <kbd>AND</kbd>, it’s the same as if you
                        selected <strong class="uicontrol">All Conditions Are Met</strong>. If you enter
                        <kbd>OR</kbd>, it’s the same as if you selected
                        <strong class="uicontrol">Any Condition Is Met</strong>. If you enter any other
                        logic, make sure that you include a number for each condition.
                      </p>
                      <p style="margin-bottom:0;">For
                        example, for <kbd>1 AND NOT(2 OR 3)</kbd>, the flow
                        evaluates whether the first condition is <code>true</code> and
                        neither the second nor third condition is
                        <code>true</code>.
                      </p>
                    </td>

                  </tr>
                </tbody>
              </table>
    3. Define the logic conditions for the first outcome.
        
        <table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
                <colgroup>
                  <col style="width:24%">
                  <col style="width:76%">
                </colgroup>
                <thead class="slds-text-title_caps ">
                  <tr class="">
                    <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d193538e300">Column Header</th>
                    <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d193538e303">Description</th>
                  </tr>
                </thead>
                <tbody>
                  <tr class="">
                    <td data-label="Column Header" class="slds-cell-wrap" style="vertical-align:top;" headers="d193538e300 ">
                      <strong class="uicontrol">Resource</strong>
                    </td>

                    <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d193538e303 ">
                      <p>Options: </p>
                      <ul>
                        <li>Select an input variable or automatic output from a stage or step.</li>

                        <li>Select a Decision element.</li>

                        <li>Select a global variable.</li>

                      </ul>
                    </td>

                  </tr>
                  <tr class="">
                    <td data-label="Column Header" class="slds-cell-wrap" style="vertical-align:top;" headers="d193538e300 ">
                      <strong class="uicontrol">Operator</strong>
                    </td>

                    <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d193538e303 ">The available operators depend on the data type selected for
                      <samp class="parmname">Resource</samp>. See <a href="https://help.salesforce.com/s/articleView?id=platform.automate_automated_approvals_ref_operators_condition.htm&amp;release=264.0.0&amp;type=5" title="Use condition operators to verify the value of a selected resource. Conditions are used in Decision elements.">Flow Approval Processes Operators in Decision Elements</a>.
                    </td>

                  </tr>
                  <tr class="">
                    <td data-label="Column Header" class="slds-cell-wrap" style="vertical-align:top;" headers="d193538e300 ">
                      <samp class="parmname">Value</samp>
                    </td>

                    <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d193538e303 ">
                      <p><strong class="uicontrol">Resource</strong> and <strong class="uicontrol">Value</strong> in the same
                        row must have compatible data types. </p>
                      <p>Options: </p>
                      <ul>
                        <li>Select a flow approval process resource, such as an input variable or
                          automatic output from a stage or step.</li>

                        <li>Select a global variable.</li>

                        <li>Enter a literal value.</li>

                      </ul>
                      <p style="margin-bottom:0;">When you add or subtract a number from a date value, the date adjusts in
                        days, not hours.</p>
                    </td>

                  </tr>
                </tbody>
              </table>
5. If you selected Define with AI (Advanced), define the instructions and outcomes for the element.
    1. For Decision Instructions, enter text that describes what decision the element makes. Include resources from the flow approval process to improve AI accuracy.
    2. Enter a label and an outcome API name. The outcome API name must be unique within the flow approval process.
    3. For Outcome Instructions, enter text that tells AI when to take the outcome. Include resources from the flow approval process to improve AI accuracy. Outcomes for a Decision element with AI conditions are evaluated simultaneously. Therefore, the order that you define your outcomes in has no impact on the outcome that the orchestration run associated with a parent approval submission takes.
6. (Optional) To add a decision outcome to a Decision element, click ![The new outcome button](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-platform-platform_automation-264-0-0-production-enus/60568438-ec7e-4665-acd1-7c80dcbe60d5/platform_automation/images/decision_element_add_outcome_button.png). Repeat the steps appropriate for the Decision element type to configure the outcome. For manual conditions, see Step 3b. For AI conditions, see Step 4b.
7. (Optional) To reorder a decision outcome in a Decision element, click ![The reorder icon for a decision outcome](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-platform-platform_automation-264-0-0-production-enus/60568438-ec7e-4665-acd1-7c80dcbe60d5/platform_automation/images/decision_outcome_reorder_icon.png) and drag the item to its new location. You can’t move a decision outcome with conditions to the last position on the list because the default outcome is always last.
8. (Optional) To improve the readability of the Decision element, rename the default outcome.
    1. Under Outcome Order, select **Default Outcome**.
    2. Enter a label.