---
schema_version: "1"
id: 80b4592249eabde011d0fd467063a402642b1e827d1412982ef30f0648f49608
title: Define Requirements for Stages and Steps in an Orchestration
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/platform/264-0-0/orchestrator_build_requirements.md
canonical_url: https://help.salesforce.com/s/articleView?id=platform.orchestrator_build_requirements.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 3cc282d0f916fe00cf458c5666a6c848dafd0a7840d6daf018c98e456e05e08d
description: Use requirements to resume an orchestration when a record changes. Define up to 10 requirements to determine when a step is ready to start or when to mark an interactive step or stage complete.
products:
  - Flow Builder
  - Salesforce Platform
release: "264"
---
# Define Requirements for Stages and Steps in an Orchestration

Use requirements to resume an orchestration when a record changes. Define up to 10 requirements to determine when a step is ready to start or when to mark an interactive step or stage complete.

### 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>

<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="colgroup" class="slds-cell-wrap" colspan="2" style="text-align:center;vertical-align:top;" id="d190529e64">User Permissions
              Needed</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="User Permissions Needed" class="slds-cell-wrap" style="vertical-align:top;" headers="d190529e64 ">To open, edit, or create an orchestration in Flow Builder:</td>

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

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

Before you begin, add a Stage element to your orchestration or a Step resource to a stage.

1. In the Properties panel, select the condition that allows you to create up to 10 requirements to start a step or complete a stage or interactive step.
    
     
    | To Use Requirements to | Select |
    | --- | --- |
    | Start a step | **When the specified requirements are met, the step starts** |
    | Complete a step | **When the specified requirements are met, the step is marked Completed** |
    | Complete a stage | **When the specified requirements are met, the stage is marked Completed** |
2. Set up the logic for the requirements.
    
    <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="d190529e178">Option</th>
                <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d190529e181">Behavior for Requirements</th>
              </tr>
            </thead>
            <tbody>
              <tr class="">
                <td data-label="Option" class="slds-cell-wrap" style="vertical-align:top;" headers="d190529e178 ">
                  <samp class="parmname">All Requirements Are Met</samp>
                </td>

                <td data-label="Behavior for Requirements" class="slds-cell-wrap" style="vertical-align:top;" headers="d190529e181 ">If one of the requirements is false, then the requirements aren’t met.</td>

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

                <td data-label="Behavior for Requirements" class="slds-cell-wrap" style="vertical-align:top;" headers="d190529e181 ">If one of the requirements is true, then the requirements are met. </td>

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

                <td data-label="Behavior for Requirements" class="slds-cell-wrap" style="vertical-align:top;" headers="d190529e181 ">
                  <p>When you select this option, provide the requirement logic by entering up to 1000
                    characters. Use: </p>
                  <ul>
                    <li>Numbers to refer to each requirement</li>
                    <li><kbd>AND</kbd>, <kbd>OR</kbd>, or <kbd>NOT</kbd>
                      to identify which combination of requirements 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 Requirements Are Met</strong>. If you enter <kbd>OR</kbd>,
                    it’s the same as if you selected <strong class="uicontrol">Any Requirement Is Met</strong>. If you
                    enter any other logic, make sure that you include a number for each requirement.
                  </p>
                  <p style="margin-bottom:0;">For
                    example, for <kbd>1 AND NOT(2 OR 3)</kbd>, the flow evaluates whether the
                    first requirement is <code>true</code> and neither the second nor
                    third condition is <code>true</code>.</p>
                </td>

              </tr>
            </tbody>
          </table>
3. Define up to 10 requirements.
    
    A change to a record referenced in a requirement can trigger the orchestration to evaluate the status of the current stage and the outstanding steps within it. Some requirement resources don't trigger condition evaluations.
    
    <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="d190529e291">Column Header</th>
                <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d190529e294">Description</th>
              </tr>
            </thead>
            <tbody>
              <tr class="">
                <td data-label="Column Header" class="slds-cell-wrap" style="vertical-align:top;" headers="d190529e291 ">
                  <strong class="uicontrol">Resource</strong>
                </td>

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d190529e294 ">
                  <p id="orchestrator_build_requirements__d4336e510"><a name="orchestrator_build_requirements__d4336e510"><!-- --></a>Options: </p>
                  <ul>
                    <li>Select an orchestration resource <ul>
                        <li>Select a variable</li>

                        <li>Select a record variable field</li>

                        <li>Select automatic output from a step.</li>

                      </ul>
                    </li>

                    <li>Select a Stage element's status</li>

                    <li>Select a Step resource's status.</li>

                    <li>For record-triggered orchestrations, select the $Record global variable.</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="d190529e291 ">
                  <strong class="uicontrol">Operator</strong>
                </td>

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d190529e294 ">The available operators depend on the data type selected for
                  <strong class="uicontrol">Resource</strong> and work the same as operators used for Decision
                  elements. See <a href="https://help.salesforce.com/s/articleView?id=platform.orchestrator_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 Orchestration Operators in Decision Elements</a>.
                </td>

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

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

                    <li>Select a global constant</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>

#### See Also

- [Considerations for Orchestrations](https://help.salesforce.com/s/articleView?id=platform.orchestrator_considerations_orchestrations.htm&release=264.0.0&type=5 "Keep these considerations in mind when designing and using orchestrations.")
- [_Object Reference for the Salesforce Platform_ : StandardObjectNameChangeEvent](https://developer.salesforce.com/docs/atlas.en-us.244.0.object_reference.meta/object_reference/sforce_api_associated_objects_change_event.htm)