Loading
Salesforce Order Management
Configure Dynamic Revenue Orchestrator to Pause Status Changes

Configure Dynamic Revenue Orchestrator to Pause Status Changes

Coordinate fulfillment between Dynamic Revenue Orchestrator (DRO) and Order Management by configuring pause steps that wait for specific Order Management milestones. For example, pause fulfillment until all ordered items are delivered.

Before you begin, turn on Dynamic Revenue Orchestrator in your org.

Map OMS fields to your context definition so Expression Sets can evaluate them when determining whether to release pause steps in orchestration plans.

  1. Extend your context definition to map OMS fields.
    1. In Setup, go to Dynamic Revenue Orchestrator Settings and select the preconfigured context definition.
    2. Add context tags for the OMS fields you want to track.

      Common examples:

      • ItemStartQuantity: Maps to OrderItemSummary.QuantityOrdered
      • ItemEndQuantity: Maps to OrderItemSummary.QuantityDelivered or QuantityShipped
    3. Map these tags to fields on the SalesTransactionItem object.
    4. Save the context definition.
  2. Create a transient attribute for calculations.

    Expression sets require transient attributes to hold temporary calculation values.

    1. In your context definition, add a custom attribute to the same node as your mapped fields.
    2. Set the Display Name and Description to match the attribute name exactly.
    3. Mark the attribute as Transient so that the data doesn’t persist.
    4. Save your changes.
    Important
    Important If Display Name and Description don’t match the attribute name, the ExpressionSet evaluation fails.
  3. Create an expression set for fulfillment conditions.
    1. In Setup, search for Expression Sets and create an expression set.
    2. Select your extended context definition.
    3. Set Usage Type to Fulfillment Condition.
    4. Configure the logic to compare OMS field values.

      Example: Release pause when all items are delivered.

    5. Add a List Group to handle multiple OrderItemSummaries in an OrderSummary.
    6. Calculate the difference between ItemStartQuantity and ItemEndQuantity for each item.
    7. Sum the differences by using the Aggregate List function. If all quantities match, the sum equals 0.
    8. Add a local boolean variable named isExecuteStep with default value False.
    9. Set the condition: If sum equals 0, set isExecuteStep = True.
    10. In the final calculation step, check Include in output for the isExecuteStep variable.
    11. Save the ExpressionSet.
    Important
    Important Set the output variable exactly to isExecuteStep (case sensitive). When True, DRO resumes the step. When False, DRO keeps the step paused.
  4. Configure a pause step in your fulfillment workflow.
    1. In your fulfillment step definition, add a new Pause step.
    2. In the step configuration, select Use ExpressionSet as the condition type.
    3. Select the ExpressionSet you created in Step 3.
    4. Configure how often DRO re-evaluates the condition (polling interval).
    5. Save your fulfillment step definition.

    When an order is submitted, DRO evaluates the expression set at each polling interval. After Order Management updates the OrderItemSummary quantities and the condition returns True, the pause step releases and fulfillment continues.

Example Use Cases
Example Use Cases
Pause Until ExpressionSet Logic
All items delivered OrderItemSummary.QuantityDelivered = QuantityOrdered
All items shipped OrderItemSummary.QuantityShipped = QuantityOrdered
Partial shipment threshold OrderItemSummary.QuantityShipped >= (QuantityOrdered × 0.8)
Inventory allocated OrderItemSummary.QuantityReserved = QuantityOrdered

Troubleshooting

Issue Resolution
The ExpressionSet shows "Something went wrong." Define isExecuteStep and select Include in output.
The context tags aren’t available in the ExpressionSet. Confirm the Display Name and Description match the attribute name for transient attributes.
The pause step never releases. Check that isExecuteStep is a boolean variable and the logic sets it to True when conditions are met.
A generic evaluation error shows. Turn on DynamicCommonOrchestrator org permission.
 
Carregando
Salesforce Help | Article