The Unofficial Orchestrator Home Page
Orchestrator is a new product that orchestrates multiple flows to enable sophisticated business processes to be built without code.
Orchestrator is in Beta and is available to try on all orgs. Note that pricing and licensing has not yet been announced.
(Note that these were shot on a pilot version of Orchestrator so they can be a little misleading. However they’re still useful as a walkthrough)
UnofficialSF.com has added a new section devoted to Service Cloud channel functionality, which is increasingly driven by flow-based services.
Check it out here. If you know of a good post or page on the topic, don’t hesitate to let us know via the form on the home page.
Compiled this time as a collaboration between Alex Edelstein and Adam White.
Here’s what you can look forward to on Spring ’22. Try it out here: https://www.salesforce.com/form/signup/prerelease-spring22/
Salesforce Orchestrator Goes GA
New enhancements in Spring ’22:
Assignment to Queues and Groups
Work Items can be assigned to multiple users
Reassignment of Work Items
Allow users to reassign Work Items to others
Cancel a running orchestration
A run can be canceled from the list of runs
API access to trigger Orchestrations
Initiate an Orchestration via the Flow REST API
API access to monitor Orchestrations (Connect API)
Inspect running Orchestration instances
CI/CD & SFDX
All Orchestrator components can be deployed
Flow Support Has Been Extended to Standard Support Customers
Until now, technical support for Flow required Premium or Signature support. As of 12/1/21, it is now available to Standard support. This is, needless to say, a big deal.
Generate Next Best Action Recommendations Using Flow
You can now use Flow Builder to craft recommendation strategy flows that generate actionable recommendations that work with the specialized Next Best Action lightning component on Lightning Pages and the Suggested Actions in Community Pages. Previously, doing this required the use of a separate builder
Create recommendation strategies from the New Flow window:
Automatically Migrate your Workflow Rules to Flows
A New Element Joins the Fray – Collection Filter!
A new way to filter and find records in a collection joins the growing number of out of the box collection processors. Instead of looping to find a set of records within a collection, you’ll now be able to specify record criteria or create a formula to filter down an existing collection into a smaller one. This opens up a world of possibilities as it will allow you to handle greater amounts of records without hitting the ‘Iteration Limit Exceeded’ error that plagues transactions with bigger loops. Need to filter down a collection of 500 contacts? Collection Filter can do that for you!
Check out the separate post about Filter here on USF!
View All of an Object’s Record-Triggered Flows with Flow Explorer…
Flow explorer shows an ordered list of all the flows affected by a specific triggering event.
You will also get a nice side panel that allows you to open the flow directly and view all of the versions associated with the Flow. Notice how you’ll also be able to activate previous versions in the same place.
…AND Control the Order of Your Triggered Flows
You can apply numeric values to order your triggered flows.
- Flows with the same trigger (before- or after-save) on the same object with trigger order values from 1 to 1,000 run in ascending
order (1, 2, 3, and so on). Multiple flows with the same trigger order value run in alphabetical order based on the flows’ API nam
- Flows without trigger order values run next and in the order of their created dates. Flows in Winter ’22 and before run and continue
to run in this order, unless you define a trigger order value for them.
- Flows with trigger order values from 1,001 to 2,000 run next and in ascending order. Any ties are settled using the flows’ API names.
(Note that the team does expect, in a future release, to marry this ordering process to the Flow Explorer shown above for a drag and drop reordering capability.)
Dynamic Forms for Flow (Beta) Supports Additional Field Types
You can now additionally add Email, Phone, and Picklist fields by simply dragging the fields onto the screen:
This features remains in Beta. Keep in mind that if you want to create an easy form to enable the creation of a new record using this feature, create a new record variable to contain it and select it in the ‘Record Variable’ field in the upper right. (later the team plans to make that step automatic and unnecessary)
Autolayout Mode has gone GA and filled in a couple of coverage gaps:
Perhaps the best new Auto-Layout feature is…
Open Subflows Directly from the Canvas in Auto-layout
An often requested quality of life feature, you can now open subflows directly from the canvas and when creating a Subflow! In the future (safe harbor) we plan to add the Subflow description to the canvas as well.
Shortcuts provide faster access to preconfigured elements
In Record-Triggered Flows in Autolayout Mode, shortcuts will appear to facilitate email sending and record updating:
1) Flow Achieves Full WCAG 2.0 Accessibility Support
2) Create and Edit Flows with Your Keyboard
3) Screen Flows launched via a URL-based method now meet the contrast requirements of
Web Content Accessibility Guidelines (WCAG) 2.1 Level AA
Flow’s accessibility services have been improved. Keyboard traversal is fully supported in Screen Builder as wells as the Flow runtime. You can navigate between sections of Flow Builder, and screen readers work across the full product.
Custom Footer Labels are Translatable
The Custom Footer Labels that became available last release are now fully translatable.
Choices Enhancements: Use a Record Collection to Generate Your Choices
If you have a collection of records or strings from earlier in your flow, you can now use that to generate a set of radio buttons, checkboxes, or picklist items.
Supercool Pilot Updates – Reactive Screens
New Ordering Changes take effect for flows configured to run on the latest API version (54.0)
After-Save Record-Triggered Flows Now Run Before Entitlements are Executed
Entitlements can now include any updates made by traditional after-save flows.
Approval and Time-Based Workflow Field Updates Now Execute Before-Save and After-Save Record-Triggered Flows
This change allows field changes made by approval processes to trigger flows.
Keep in mind that this will not affect any existing flows unless you choose to click Save As and ‘upgrade’ the flow to use version 54 or higher.
Enhanced Einstein Discovery Flow Action supports Multiclass Models
Multiclass models predict the most likely outcome among up to ten possible outcomes. For example, if you offer seven insurance products, use a multiclass model
to predict which insurance product a new customer will likely purchase. When you run the flow, the output of this action is the predicted
value (the predicted winning insurance product, for example), along with a bar chart of ranked probabilities by value (all insurance
products). Optionally, you can include top predictors.
Order Management: New Flow Actions, and Rollback
The Order Management flows are updated to use the Roll Back Records element, which cancels pending record changes when a flow
exits due to an error. In addition, the following new actions are available:
Find Routes With Fewest Splits Using OCI
Find inventory availability using Omnichannel Inventory and identify the fulfillment routes with fewest splits for an order summary.
This action combines the existing Omnichannel Inventory Service Get Availability and Find Routes With Fewest Splits actions.
Add Order Item Summary
Add order item summaries to an order summary
In addition, you’ll enjoy improved order throughput with the flows in the DOM Routing Flow package. We’ve updated them to use multithreaded processing
with scheduled paths.
Additionally, an Even Exchange standard flow is now available.
Easily Keep Track of your Flows in your Browser Tabs
The flow’s name and version now appear on your browser tab titles, so you can quickly
scan your workspace and find your flow.
More Places Where You Can Use a Flow to Override Standard Behavior
More Salesforce product teams are implementing functionality using standard flows and allowing users to override the functionality with custom flows.
Health Cloud: Adding Patient Medication
Event Monitoring enables flows to be created that respond to Security Events
ApiAnomalyEvent, CredentialStuffingEvent, ReportAnomalyEvent, and SessionHijackingEvent are exposed as selectable platform events in Platform-Event triggered flow start elements.
Salesforce Surveys now ships Sentiment Analysis flows out-of-the-box
To process text responses in bulk, use a flow:
• Perform Survey Sentiment Analysis for User-Selected Question: Screen flow. Lets you define custom values, such as survey, questions,
type of operation to perform on the responses, and date range to process responses in the selected timeline.
• Perform Survey Sentiment Analysis: Autolaunched flow. Lets you schedule bulk processing of responses.
Use the invocable action in the flow to define the operation to perform on the responses and the date range.
Currently there are two ways you can launch a flow orchestration: using a record trigger, or auto launch from Apex, But what if I want to be able to launch an orchestration from a button and mimic the good old “Submit for Approval” button?
I looked at alternative ways to start orchestrations, and this is what I found:
1. Launching an orchestration from a URL button was not user friendly as the user was presented with a blank auto launched flow screen and was not redirected back to the record when finished even if the the return URL was part of the button definition. Overall, while this may work, the user experience was not smooth
2. Trying to include the submit flow as an interactive step assigned to the current user, resulted in a warning when saving the flow and an error during execution saying that no assigned user was found
I ended up with the following solution that worked well and gave a smooth user experience:
1. An action button to launch the submit flow on the record page
2. A submit screen flow that will update a field on the record to indicate the record was submitted and who the approver is
3. An orchestration that will listen to the field updated by the submit flow and will run the approval flow, routing to the approver that was updated on the record by the submit flow
4. The approval flow will update the record again with the final approval status
Here is an illustration of the overall process:
Both the submit and approve flows are very simple and only have one screen followed by an update records step
Launch the submit flow from an action button added to the page layout
The flow orchestration only has one stage and one step
It starts when the record’s approval status is updated to submitted
And routes the approval to the username that was updated on the record by the submit flow
Here is a short video demonstrating the complete process
Some notes about the flows:
1. The submit flow clears any previous approval status and rejection notes
2. The approval flow only displays rejection notes if the user selects to reject, using a visibility rule
3. In both flows, I’m using a record input variable and this saves having a get records element in the flow as the whole record gets passed in from the button or from the orchestration step
1. The approval request flow can include a message with approval details to the approval request flow by using a display text with merge fields from the record and related records information
2. The submit flow can select the approver automatically by using criteria from the record or an approval matrix stored in custom metadata
3. The submit flow can also be used to recall or not allow to submit an approval by displaying another screen based on the approval status
Launching an orchestration from a button opens up a lot of possibilities, please share if you come up with other use cases.