---
schema_version: "1"
id: a3b2a14d85f6bf984c62e9560c351f0bb3e94be025e3b587727c18521be86400
title: Flows in Orchestrations
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/platform/264-0-0/orchestrator_concepts_flow.md
canonical_url: https://help.salesforce.com/s/articleView?id=platform.orchestrator_concepts_flow.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: ad793b54fd67b6bfb4f72377ffc53542d9bbe7ec9ecf5a2df0cd770045afcd5a
description: Each background and interactive step in an orchestration runs an associated flow. If the logic for controlling stage and step execution calls for more than 3 requirements, use an evaluation flow to create more complex criteria.
products:
  - Flow Builder
  - Salesforce Platform
release: "264"
---
# Flows in Orchestrations

Each background and interactive step in an orchestration runs an associated flow. If the logic for controlling stage and step execution calls for more than 3 requirements, use an evaluation flow to create more complex criteria.

### 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_orchestrator_about_supported_editions.htm&amp;release=264.0.0&amp;type=5" title="Review the supported products and editions for Flow Orchestration.">View supported editions for Flow Orchestration.</a></td></tr></tbody></table>

## Background Steps

Each background step calls an autolaunched flow.

## Interactive Steps

Each interactive step assigns a screen flow to a user, group, or queue.

## When to Start the Step

Each step can call an evaluation flow to determine whether the step can be started. An evaluation flow is a flow with a process type of Evaluation Flow. It’s an autolaunched flow that contains a predefined Boolean output variable named isOrchestrationConditionMet. To indicate that the custom entry conditions are met, the output variable must be set to true.

![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-platform-platform_automation-264-0-0-production-enus/60568438-ec7e-4665-acd1-7c80dcbe60d5/images/icon_note.png)

Note The Boolean isOrchestrationConditionMet variable defined in an evaluation flow must be initialized to false.

## When to Complete the Step

An interactive step can call an evaluation flow to determine whether the step can be considered complete. An evaluation flow is a flow with a process type of Evaluation Flow. It’s an autolaunched flow that contains a predefined Boolean output variable named isOrchestrationConditionMet. To indicate that the custom exit conditions are met, the output variable must be set to true.

![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-platform-platform_automation-264-0-0-production-enus/60568438-ec7e-4665-acd1-7c80dcbe60d5/images/icon_note.png)

Note The Boolean isOrchestrationConditionMet variable defined in an evaluation flow must be initialized to false.

## When to Complete the Stage

An orchestration stage can call an evaluation flow to determine whether the stage can be completed. An evaluation flow is a flow with a process type of Evaluation Flow. It’s an autolaunched flow that contains a predefined Boolean output variable named isOrchestrationConditionMet. To indicate that the custom exit conditions are met, the output variable must be set to true.

![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-platform-platform_automation-264-0-0-production-enus/60568438-ec7e-4665-acd1-7c80dcbe60d5/images/icon_note.png)

Note The Boolean isOrchestrationConditionMet variable defined in an evaluation flow must be initialized to false.

## Flow Usage

Orchestration versions use flows in 2 ways.

<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="d182871e136">Relationship</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d182871e139">Description</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Relationship" class="slds-cell-wrap" style="vertical-align:top;" headers="d182871e136 ">Orchestration Step Action</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d182871e139 ">
              <ul>
                <li>The active autolaunched flow that the orchestration version uses as a
                  background step</li>

                <li>The active screen flow that the orchestration version uses as an interactive
                  step</li>

              </ul>
            </td>

          </tr>
          <tr class="">
            <td data-label="Relationship" class="slds-cell-wrap" style="vertical-align:top;" headers="d182871e136 ">Evaluation Flow</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d182871e139 ">
              <p>The active evaluation flow that the orchestration version uses to determine whether:</p>
              <ul>
                <li>A stage can be completed</li>

                <li>A background step can be started</li>

                <li>An interactive step can be started</li>

                <li>An interactive step can be completed</li>

                <li>A MuleSoft step can be started</li>

              </ul>
            </td>

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

View the flows that an orchestration version uses in the Automation app. See [Determine Flow Usage in an Orchestration Version](https://help.salesforce.com/s/articleView?id=platform.orchestrator_manage_orchestration_flow_usage.htm&release=264.0.0&type=5 "Orchestration versions use flows to run interactive and background steps. Orchestration version stages and steps can use flows to evaluate complex criteria. Those criteria can determine when a background, interactive step, or MuleSoft step starts and when to mark a stage or interactive step as completed. View the flows that an orchestration version uses to understand the relationships between an orchestration version and the flows it references.").

## Flow Variables

Flows can have internal-only, input, and output variables.

If the combined input values for a flow called by an orchestration step is more than 32,768 characters, the orchestration fails. This error can be caused by passing one or more records to a flow called by a step. To avoid this error, pass a record ID to the referenced flow, and use a Get Records element in the flow with the passed ID. Using a passed ID with a Get Records element also means that you always have the latest version of the record.

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
        <colgroup>
          <col style="width:33.33333333333333%">
          <col style="width:33.33333333333333%">
          <col style="width:33.33333333333333%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d182871e228">Variable</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d182871e231">Description</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d182871e234">Notes</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Variable" class="slds-cell-wrap" style="vertical-align:top;" headers="d182871e228 ">Internal-only</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d182871e231 ">The variable is used inside the flow and isn’t available for input or output in
              an orchestration.</td>

            <td data-label="Notes" class="slds-cell-wrap" style="vertical-align:top;" headers="d182871e234 ">You can create your own internal variables, or you can let flow create them for
              you. Orchestrations can’t use these variables.</td>

          </tr>
          <tr class="">
            <td data-label="Variable" class="slds-cell-wrap" style="vertical-align:top;" headers="d182871e228 ">Input </td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d182871e231 ">The user-defined variable is marked Available for input. When the flow is
              called by an orchestration step, its input variables are inputs for the
              step.</td>

            <td data-label="Notes" class="slds-cell-wrap" style="vertical-align:top;" headers="d182871e234 ">
              <p>Flows that can have input values from an orchestration for input variables are:</p>
              <ul>
                <li>Autolaunched flows </li>

                <li>Screen flows</li>

                <li>Evaluation flows</li>

              </ul>
            </td>

          </tr>
          <tr class="">
            <td data-label="Variable" class="slds-cell-wrap" style="vertical-align:top;" headers="d182871e228 ">Output</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d182871e231 ">The user-defined variable is marked Available for output. Output variables are
              accessible as automatic outputs for the associated step and are available throughout
              the orchestration.</td>

            <td data-label="Notes" class="slds-cell-wrap" style="vertical-align:top;" headers="d182871e234 ">
              <p>Orchestrations can access user-defined output variables from:</p>
              <ul>
                <li>Autolaunched flows </li>

                <li>Screen flows</li>

              </ul>
              <p>When you reference automatic output that contains a record or a record
                collection in an orchestration configured to run on API version 58.0 and later,
                records are refreshed with their latest values each time the orchestration run
                resumes.</p>
              <p style="margin-bottom:0;">To add custom comments to the Orchestration Run Log, create a text
                output variable named Comments in a flow called by an orchestration step and
                assign it a value.</p>
            </td>

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

- **[Evaluation Flows in Orchestrations](https://help.salesforce.com/s/articleView?id=platform.orchestrator_concepts_flows_evaluation_flows.htm&release=264.0.0&type=5)**  
    When you need more than 3 requirements to control stage and step execution, use an evaluation flow. Select the Evaluation Flow tile in the New Flow window to create an evaluation flow.

#### See Also

- [Flow Types](https://help.salesforce.com/s/articleView?id=platform.flow_concepts_type.htm&release=264.0.0&type=5 "A flow's type determines which elements and resources you can add and how you can distribute the flow. For example, you embed a screen flow on a page to gather information from visitors; or you distribute an autolaunched flow by using a custom button that users click to run the flow in the background. Similarly, you can add a Custom Error element only in a record-triggered flow, whereas you can add a Choice resource type only in a screen flow.")
- [Automate Tasks with Flows](https://help.salesforce.com/s/articleView?id=platform.flow.htm&release=264.0.0&type=5 "Automation reduces repetitive work and helps your team complete tasks faster and more accurately. With Flow Builder, you can build simple or complex automations, forms, and guided experiences with no code. You can add forms to Salesforce pages and Experience sites, and launch flows using buttons, record triggers, or schedules.")