Process Orchestrator
Stages
Configure a stage's title, owner, due date, tasks and completion criteria, and understand what happens when a stage runs.
A stage is one step of work in a process, such as Review discount or Investigate case. When the process reaches a stage, the stage runs its On Entering flows, creates tasks for the people responsible, and waits until its completion criteria are true. Then it runs its On Exiting flows and the process moves on through one of its transitions.
Stage types
Section titled “Stage types”| Type | How you add it | Notes |
|---|---|---|
| Stage | Add > Stage, or + (Add next stage) on a card | A regular step. One stage is the start stage: the Start pill points at it. |
| Escalation stage | Add escalation stage on a card, or the Escalation section of a stage | Reached only when its parent stage becomes overdue. It is configured like a regular stage. See Escalations. |
Gateways and ends are not stages. They route and finish paths and have no tasks. See Gateways and ends.
Configure a stage
Section titled “Configure a stage”- Click the stage card to open the stage panel.
- In General, set the Title, Stage Owner and Due Date.
- Optionally, in On Entering, add the logic flows or sub-processes to run when the stage starts.
- In Assignment, choose the Task Entity, who to Assign To, the task Title and Due Date, and the Completion Criteria.
- Optionally, in On Exiting, add the flows to run when the stage is done.
- Optionally, in Escalation, add an escalation stage.
- Connect the stage to the next stage, a gateway or an end, and give each outgoing transition a condition.
Settings
Section titled “Settings”| Section | Setting | What it does |
|---|---|---|
| General | Unique Name | The stage’s name in the process. Read-only once the stage is confirmed: “Stage name cannot be changed once confirmed”. |
| Title | Localized expression. It becomes the subject of the stage record that users see. | |
| Stage Owner | Required. An expression that returns the user or team accountable for the stage. The owner is notified when the stage escalates. | |
| Due Date | Required to publish. Use the same expression as the Due Date in Assignment, which is the deadline that counts at run time. | |
| On Entering | Flows and sub-processes | Run in list order when the stage starts. See Stage flows. |
| Assignment | Task Entity, Assign To, task Title, task Due Date | Which activity table the tasks use, who receives them, and their subject and due date. See Assignment and tasks. |
| Completion Criteria | Required. One Yes/No expression that decides when the stage is done. | |
| On Exiting | Flows and sub-processes | Run in list order after the completion criteria become true, before the process leaves the stage. |
| Escalation | Escalates to | The escalation stage, or No escalation. |
| Docs | Title, description | Notes for your team. |
Dynamics 365 CE on-premisesTwo Options instead of Yes/NoApplies to the other edition
On-premises, Yes/No expressions are shown with the type Two Options.
Due dates
Section titled “Due dates”A due date is a single date and time expression. Use whatever you need: a fixed offset such as two days after the stage starts, a date from the record (for example, the case’s SLA date), or a value from a configuration value so business users can change the SLA without republishing. Business-day functions are described in Date and time functions.
A stage has two due-date settings: Due Date in General and Due Date in Assignment. The one in Assignment is the stage’s deadline at run time: it sets the due date of the stage and its tasks, it is the date shown in the process viewer, and it is the date escalation checks. General > Due Date is still required to publish, so give it the same expression to keep the design readable.
Completion criteria
Section titled “Completion criteria”The Completion Criteria is one Yes/No expression. It is evaluated each time a task of the stage changes status (completed or canceled). There are no built-in “all”, “any” or percentage options; you write the rule you need as the expression. It can read the task or tasks of the stage with the task columns you selected in Assignment:
- For User, Team and Custom (Single task):
Process.Stage.Instance.Task. - For Each Team Member and Custom (Multi tasks):
Process.Stage.Instance.Tasks.
Common patterns:
| Rule | How to express it |
|---|---|
| The task is completed | Compare the task’s status to Completed. |
| All tasks are completed | Use Filter to keep the tasks of Process.Stage.Instance.Tasks that are not completed, and check that Collection Count of the result is 0 (see list functions). |
| Any task is completed | Filter the tasks to the completed ones and check that the count is greater than 0. |
| Majority approval | Count the tasks whose approval column is Approved and compare the count to half the number of tasks. |
When the expression is false, the stage stays active and waits for the next task change. When it is true, the On Exiting flows run, the stage is marked Completed, and the process leaves through its transitions.
When the criteria become true, tasks of the stage that are still open are cancelled for Each Team Member and Custom assignments, so team members who have not acted do not keep open tasks. User and Team assignments create a single task, so there is nothing to cancel.
How it behaves
Section titled “How it behaves”When the process enters a stage:
- The On Entering flows run in list order, each only if its Run only when condition is true or empty.
- The title, owner and due date are calculated. Because this happens after the On Entering flows, these expressions can use the flows’ outputs.
- The tasks are created. Each task’s Regarding is the process instance.
- If the stage has an escalation stage, the process starts watching its due date (the Due Date from Assignment).
What each part of the stage can see:
| Part | Can use |
|---|---|
| Title, owner, due dates, assignment | Process values and the outputs of the On Entering flows |
| Completion criteria | The above plus the task or tasks |
| On Exiting flows and the conditions on outgoing transitions | The above plus the outputs of earlier On Exiting flows |
If any of these steps fails, for example because a flow fails, the stage is marked Faulted and the instance is Faulted with the message “An error occurred in active stage X. Check stage record for error details.” The stage record’s Error column holds the details.
Every stage needs at least one outgoing transition, to another stage, a gateway or an end. A stage can be visited more than once, for example when a rework transition loops back to it; each visit is a separate stage record.
Example
Section titled “Example”A Review discount stage on the Opportunity process:
| Setting | Value |
|---|---|
| Title | “Review discount for “ followed by the opportunity name |
| Stage Owner | The opportunity owner’s manager |
| Due Date | Two business days after the stage starts |
| Assign To | User: the opportunity owner’s manager |
| Task Entity | Task, with the columns Status and a custom Decision choice |
| Completion Criteria | The task is completed |
| On Exiting | A flow that copies the decision to the opportunity |
Two transitions leave the stage: Approved (the task’s Decision is Approved) to Prepare quote, and Rejected (always true, second in evaluation order) to Notify sales rep.