---
schema_version: "1"
id: 43f569251cf9958a614063ac01e7cea4d98185646efb5dc0438d8651b19a912e
title: Set Dependencies Between Fulfillment Steps
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/ind/264-0-0/dro_set_dependencies_between_fulfillment_steps.md
canonical_url: https://help.salesforce.com/s/articleView?id=ind.dro_set_dependencies_between_fulfillment_steps.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 6c055325750e306f54d5dde833d0a2470a025de81b43492204a96496dc74dcfe
description: Connect fulfillment step definitions to create a dependency between them. When an order is submitted, the steps run in the order that you define.
products:
  - Revenue Cloud
release: "264"
---
# Set Dependencies Between Fulfillment Steps

Connect fulfillment step definitions to create a dependency between them. When an order is submitted, the steps run in the order that you define.

### Required Editions

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small edition"><colgroup><col></colgroup><tbody><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: <strong>Enterprise</strong>, <strong>Unlimited</strong>, and <strong>Developer</strong> Editions</td></tr></tbody></table>

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small permission">
        <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="d59872e63">User Permissions
              Needed</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="User Permissions Needed" class="slds-cell-wrap" style="vertical-align:top;" headers="d59872e63 ">To set dependencies between fulfillment steps:</td>

            <td class="slds-cell-wrap" style="vertical-align:top;" headers="d59872e63 ">
              <p>Fulfillment Administrator</p>
              <p>OR</p>
              <p style="margin-bottom:0;">Fulfillment Designer </p>
            </td>

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

![Important](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-ind-revenue-264-0-0-production-enus/91ca99c6-d5c8-4986-b961-c6b7801e0d0d/images/icon_important.png)

Important If you set up dependencies that result in a loop, the entire fulfillment process is at risk of failing. For example, if you make Step A dependent on Step B, and then make Step B dependent on Step A, you have a loop.

The Fulfillment Workspace arranges the step definitions in the order that they're completed when an order is submitted.

To create a dependency between steps, follow these instructions.

1. From the App Launcher, find and select **Fulfillment Workspaces**.
2. On the step definition that must finish first, click ![Dependency icon](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-ind-revenue-264-0-0-production-enus/91ca99c6-d5c8-4986-b961-c6b7801e0d0d/revenue/images/dro/icons/dro_dependency.png).
3. On the step definition that must finish last, click ![The Add icon](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-ind-revenue-264-0-0-production-enus/91ca99c6-d5c8-4986-b961-c6b7801e0d0d/revenue/images/dro/icons/dro_add_60.png).
4. Select the **Dependency Scope**.
    
    - For steps in the same plan that follow a standard hierarchy, match the dependency scope to the scope of the depends-on step.
    - For steps in different plans, select **Cross Plan**.
    - For steps that are grouped by a business value, select **Custom**. Then, in **Custom Scope**, select an existing custom fulfillment scope.
    
    To learn how custom scopes affect step instances and their dependency relationships, see [How Custom Scopes Apply to Fulfillment Steps and Dependencies](https://help.salesforce.com/s/articleView?id=ind.dro_custom_scope_step_dependencies.htm&release=264.0.0&type=5 "Use custom scopes to group fulfillment steps and resolve step dependencies based on a business value that you define, such as a tenant group, ramp segment, service location, or sales transaction item group. Standard scopes use a fixed level, such as Plan, Bundle, or Line Item.").

![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-ind-revenue-264-0-0-production-enus/91ca99c6-d5c8-4986-b961-c6b7801e0d0d/images/icon_note.png)

Note Cross Plan Scope Considerations:

- For the Cross Plan scope, one instance of the step appears per plan when a step in one plan is dependent on a step that’s in another plan.
- To use the Cross Plan scope, make sure to configure the Cross Plan context definition in Sales Transaction Context Definition. Then add or import the fulfillment step groups within the Fulfillment Workspace. See [Create Custom Context Definitions for Order Orchestration](https://help.salesforce.com/s/articleView?id=ind.dro_steps_to_create_a_custom_context_definition.htm&release=264.0.0&type=5 "During the fulfillment of orders, Dynamic Revenue Orchestrator (DRO) sometimes uses the permissions associated with context definitions. Add a custom context definition by extending the Sales Transaction Context Definition.").

![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-ind-revenue-264-0-0-production-enus/91ca99c6-d5c8-4986-b961-c6b7801e0d0d/images/icon_note.png)

Note Propagate State to Dependent Step Considerations:

- Use the Propagate State to Dependent Step option only if you have created a dependency between a call out or auto task step and a pause step.
- After defining the dependency and propagating the state to the dependent step, you can’t change the step type value, unless you first set the Propagate State to Dependent Step value to None.

![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-ind-revenue-264-0-0-production-enus/91ca99c6-d5c8-4986-b961-c6b7801e0d0d/images/icon_note.png)

Note In-flight Change Considerations:

- When a step is amended or canceled because of an in-flight change in the plan, configure whether the step state must propagate to the following step by using the Propagate State to Dependent Step field. The options are - **None**, **Amended**, **Canceled**, and **Both**.
- When a step is canceled because of an in-flight change in the plan, to reverse the order of step group execution, select the Execute Cancel Step Groups In Reverse Order checkbox.

![Example](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-ind-revenue-264-0-0-production-enus/91ca99c6-d5c8-4986-b961-c6b7801e0d0d/images/icon_example.png)

Example

A step's scope determines how many instances of that step DRO creates when an order is fulfilled.

- Plan: DRO creates one instance of the step for the entire order.
- Bundle: DRO creates one instance of the step for each bundle in the order.
- Line Item: DRO creates one instance of the step for each order line item.

For all the scope values, see [Define a Fulfillment Step](https://help.salesforce.com/s/articleView?id=ind.dro_define_a_fulfillment_step.htm&release=264.0.0&type=5 "After you create a fulfillment step definition group in the workspace, add a fulfillment step definition to it. When an order is submitted, Dynamic Revenue Orchestrator (DRO) creates a fulfillment step in the Orchestration Plan for the order based on this definition.").

In a dependency, Step A depends on Step B, so Step B must finish before Step A can start. The dependency scope determines which Step B instance each Step A waits for. To create common dependency patterns, set the step scopes and the dependency scope as shown in this table.

Scope Settings for Common Dependency Patterns    
| To create | Set Step B scope to | Set Step A scope to | Set dependency scope to |
| --- | --- | --- | --- |
| Multiple Step B and one Step A | Line Item | Plan | Line Item |
| One Step B and multiple Step A | Plan | Line Item | Plan |
| Multiple Step B and multiple Step A | Line Item | Line Item | Line Item |

For example, to make each per-line-item step depend on one plan-level step, set Step B's scope to Plan and Step A's scope to Line Item. For an order that has three line items, DRO creates one Step B for the whole plan and one Step A for each line item, and all three Step A instances wait for that one Step B to finish.

Bundle scope works the same way at the bundle level. When a step's scope is Bundle, DRO creates one instance of the step for each bundle in the order. To pair a Bundle-scoped step with steps at another scope, apply the same rule: Set the dependency scope to the scope of the step that must finish first.

#### See Also

- [Context Definitions for Dynamic Revenue Orchestrator](https://help.salesforce.com/s/articleView?id=ind.dro_context_definitions_for_dynamic_revenue_orchestrator.htm&release=264.0.0&type=5 "Dynamic Revenue Orchestrator (DRO) context definitions contain the information required to fulfill a sales transaction. A context definition includes the relationship between nodes and their structure, attributes, context tags, and mapping. Context mapping updates the nodes and attributes with the correct input data from Salesforce objects.")
- [Import a Fulfillment Step Definition Group](https://help.salesforce.com/s/articleView?id=ind.dro_import_a_fulfillment_step_definition_group.htm&release=264.0.0&type=5 "To help scale your fulfillment plans, and ensure consistency across plans, you can import your existing fulfillment step definition groups directly from a fulfillment workspace.")
- [Cross-Plan Dependencies](https://help.salesforce.com/s/articleView?id=ind.dro_cross_plan_dependencies.htm&release=264.0.0&type=5 "Cross-plan dependencies establish connections between steps in different fulfillment plans that are part of related orders. Use cross-plan dependencies when a step in one order's fulfillment plan relies on the completion of a step in a different order's fulfillment plan.")