Introduction to Salesforce Orchestrator

Salesforce is invested in giving more power for admins to achieve faster, reliable, and complex solutions for the business requirements by the usage of clicks not code with its Spring 22 season’s release.

Here we are going to talk about Salesforce Orchestrator, which organizes complex processes and is particularly useful for cases involving multi-user/departments.

Salesforce Orchestration development is very similar to developing flows—they are even created at the same page builder.

What is Flow Orchestrator in Salesforce?

Orchestration is a user-centric application that provides a connection between users and tasks, allowing you to build complex business processes systematically in order to facilitate maintenance and future improvements. It coordinates your processes by combining flows (screen or auto launched) and decision elements, resulting in proper workflow automation, and assigns responsible users to tasks. Flow Orchestration’s design is guided by who will complete the required task (user or area), in opposition to Flows that are record-centric, focused on query data, update, insert records. [1].

With that in mind, business processes involving multiple users/areas, or even the ones that require interaction of the same user multiple times or have a multi-step approval process will benefit from Orchestration. It can also organize complex business processes, functioning as a backbone to the process instead of nesting several flows, which can often be difficult for someone else to understand when conducting maintenance or upgrades.

Key Components

To build your orchestration you will need to choose between 2 Orchestration Launching options, 2 new components, and 2 related components:

 

Launching options:

  • Autolaunched
  • Record-Triggered

New Components:

  • Stage
  • Steps

Related Components:

  • Flow (screen flow or auto launched flow)
  • Decision’s element

Launches

Choose Autolaunched Orchestration when you want to invoke it from Apex Classes, Custom Buttons, or custom links.

Select Record-triggered Orchestration when a record-triggered flow orchestration is created or updated and meets the entry criteria. [2]

New Components

Stages are composed by one or more steps. Each stage may represent a piece of the business process and each automation is performed by the step which references a specific flow.

There are two types of steps. A background step, which refers to auto-launched flow and an Interactive step, which relates to screen flow. Besides the flow that you need to reference in your step, you need to input the record Id, assign a user/area to indicate who is responsible for that step and establish the exit condition.

Multiple steps of the same stage can run in parallel or sequentially.

Related Components

We use flows and decisions to create routes to achieve our desired solution. Creating Input/Output variables in your flow, enables you to communicate between variables in different flows on the same orchestrator, and this gives you flexibility to split your process into multiple flows and to create the rules in your condition as you see fit.

Steps to start your Orchestration in Salesforce

You can create your orchestration the same way you create flows in Salesforce:

  • Setup -> Flows -> click New Flow button.
  • Go to All + Templates tab and select Orchestrator at the left column.
  • Choose ifyou want AutoLaunched or Record-Triggered Orchestration and start building your process. You will need your flows complete before you can build your Orchestration.

You can assign variables through steps and decision elements by creating Input/Output variables in the desired flow.

New Possibilities

Every time a step is assigned to a user, they receive an automatic email notification, and can view all their open Orchestration Work Items in a new Salesforce tab, and easily access the related record to complete their tasks.

On the other hand, Admins and Developers may use a FlowOrchestrationWorkItem object for reporting purposes, to measure time spent in each step of the orchestration by calculating the difference between the Last Modified Date and Created Date.

             SOQL suggestion: SELECT Id, Label, LastModifiedDate, CreatedDate FROM FlowOrchestrationWorkItem WHERE Status ='Completed'.

By applying these new practices enabled by Flow Orchestrator, both from the user side and from the Admin and Developer side, you can expect more productivity and shorter SLA on process.

To work with Orchestration, you need to insert into the Lightning App Builder the record related to your object from orchestration, the standard Orchestrator Work Guide component.

The component will only display the screen flow related to the step for the assigned user. The next image shows an example:

On the contrary, unassigned users will see as it follows:

Use Case Scenarios

Use case 1: Let’s take for example a HR company that uses cases for registering candidates for a position. You may use orchestration to collect feedback after the interview from the HR personnel, Manager, and technical experts.

 

Use case 2: There’s a business process where to change an account address the support agent needs to open a case and complete 2 steps of approval to consolidate the new address to the accounts. First you will need the approval from your direct manager as well as from someone in finance. After approval the account and related case can be auto updated.

Current Limits and Pricing

Table 1 [3]

Salesforce’s website says its starting price is 1$ per run. [4]

Conclusion

It’s much easier to use orchestration to automate a business process when you have a clear view of what you need, such as the flows required to complete each step and the users/groups that it will involve.

While working with Orchestration, keep in mind that it’s a user-centric solution to guide your steps and developments [1], so before starting take time to plan your Orchestration, sketch stages needed and the users related to each case. This will save you a lot of time reworking and improve the quality of your development.

References:

  1. https://help.salesforce.com/s/articleView?id=sf.orchestrator_vs_flow.htm&type=5
  2. https://help.salesforce.com/s/articleView?id=sf.orchestrator_concepts_type.htm&type=5
  3. https://help.salesforce.com/s/articleView?id=sf.orchestrator_considerations_limit.htm&type=5
  4. https://www.salesforce.com/form/platform/streamline-workflows-with-orchestrator/?d=cta-header-51