Transition to Salesforce Flow

(Part 1 – Why and How do I get there?)

With Salesforce concentrating its future development efforts on Flow, it’s time to take a good look at the reasons why Flow should be your no-code automation tool of choice on the Salesforce platform.

Why Choose Flow?

There are three key reasons to choose Flow:

  • Performance
  • Architecture
  • Future

Better Performance

Performance tests conducted by Salesforce indicate that Before Save Flows can improve performance by 10-20x over Workflows or Process Builder.

Salesforce analyzed the actions executed by Workflows, Process Builder, and Flow by customers in April 2020. Of the 150 billion transactions executed, 100 billion (66%) were for same record updates. If converted to Before Save Flows these actions would have a significant performance improvement.

(https://quip.com/VJfCAFhEBO0W)

Check out this great article by Luke Freeland on benchmarking performance that compares triggers, Flow, and Process Builder.
https://metillium.com/2020/10/salesforce-record-automation-benchmarking/

Better Architecture

Workflow rules and Process Builder use a different runtime environment to Flow and will never match Flow’s faster performance and lower resource consumption. The start-up phase for both Workflow and Process Builder is inefficient and wasteful of resources.

In addition, Salesforce is concentrating its efforts on Flow performance, debugging, management and deployment which will not benefit either Workflow or Process Builder.

(https://quip.com/VJfCAFhEBO0W)

Future Development

Salesforce has recently made it pretty clear that the future for no-code automation is Flow. This does not mean that Workflow and Process Builder are going to disappear any time soon.

What this does mean is that the future development of new features will be largely around Flow. They will continue to support Workflow and Process Builder but what you have today in functionality terms is what you will have for the next several years with no improvements either planned or in development.

(https://quip.com/VJfCAFhEBO0W)

The roadmap for Flow is to match and exceed the features of Workflow and Process Builder. There are still a few shortcomings where functionality does not yet match but these are on the roadmap for development over the next 12 months.

How do I get there?

So, if I am using Workflows and Process Builder now, how do I move to Flow?

There are a number of steps to follow:

  • Upskill
  • Target Selection
  • Tool Selection
  • Identify Actions
  • Start Small
  • Build on your success

Upskill to Flow

If you are already comfortable creating Workflows and building processes with Process Builder, you will find the initial learning curve to move Flow is a steep one. Many of the functions that were done for you in Workflows and Process Builder are done differently in Flow. You may need to retrieve records, assign values and update those records; however, you have much greater flexibility and capability with Flow.

If you need to read many related records from several different objects to perform a transaction you can do that with Flow. Imagine building a wizard like app in Flow that reads Account, Contact and Opportunity records and then displays the key data for further input or update.

You also have the capability of asking the user for input. You can retrieve records and then ask the user what they want to do next, perhaps based on values in those records.

Select your Target

Salesforce recommends a single tool be used for your automation and a single process for each object. While this is not always possible, it should be a target that you aim for.

There are exceptions to this rule, especially in a large complex organisation and you may want to explore the approach listed below:

Source: https://medium.com/@apeattie/salesforce-process-builder-best-practices-24e674b2b2b1

What you don’t want is a mixture of Workflows, Process Builders, Flows and Apex Triggers all updating the same object. The problem is not just the additional performance overhead every time a user creates or updates a record but determining the order of execution.

This means which one will fire first? With multiple automation tools or multiple Workflows, Processes or Flows on an object, you have no guarantee which one will execute first.

Perhaps the best starting point is to select an object with a small number of workflows and work towards combining them into a single Process Builder or Flow.

Select your Tool

While you have a choice of three no-code automation tools to choose from, Process Builder or Flow Builder should be your top candidates.

We recommend you only use Process Builder as a bridging step towards Flow if you are not yet experienced building flows.

If you are already comfortable building Flows then Flow should be your tool of choice.

Use Process Builder when you need ISNEW, ISCHANGED, PRIORVALUE functions. These should be available in Flow in the next 12 months (by the Winter 22 release).

Note: There may still be situations where your automation is very complex or needs to operate on a large number of records. In this case, the best tool may be an Apex Trigger. You may need help from an experienced developer.

Identify all the Actions required

Having selected your target object and preferred tool, create a list of your existing Workflows, Process Builders and Flows that operate on that object.

Take a close look at each action and complete the following table for your selected object:

Lead Object Automations:

ToolNameWhenWhatHowDescription
WorkflowUpdateRatingCreateUpdate RatingRevenue > $500,000 and Lead Source = Partner ReferralUpdate rating to Hot if conditions are met
WorkflowNotifySalesMgrCreateSend EmailIndustry = BankingEmail Sales Manager if industry = banking
Process BuilderAdd TaskUpdateAdd task to call Lead within 3 daysLead Source = Web and Status = Working – ContactedCreate a task to place a follow up call to the lead

Start Small

Start with a very simple Flow so you understand the process of creating, running and debugging a flow. It will help your confidence to get over the steep learning curve and get you motivated to climb the next step.

The UpdateRating workflow in the table above would be a good starting point for your first flow.

Flow 1: Update Rating for a Lead

Let’s create a simple flow:

Start by creating a new flow of type: Record-Triggered Flow.

Trigger the Flow When: A record is created

Run the Flow: Before the record is saved

Select the object: (Lead)

You will need two decisions and one assignment element for this flow

Drag a Decision element to the canvas:

Configure the first decision to check: is the Annual Revenue greater than $500,000?

Drag another decision element to the canvas:

Configure the second decision to check: is the Lead Source = Partner Referral?

Drag an Assignment element to the canvas:

We will now configure the field we want updated (Rating).

Join up the elements:

Save your flow and activate it.

Notice how we did not need to get the lead record or save the record?

The flow will get the record automatically for us as it is triggered when the record is created. Because it is a before save flow, the flow is actually run before the record is saved by the user. No need to do anther save, it is all done in one transaction.

This simplicity and before save feature are what makes this flow execute quickly.

Test your flow:

Now go back to your Sales App or any app that has access to leads and create a new lead record. Enter a number > $500,000 for Annual Revenue and select Partner Referral as the lead source. Save the record and check that the rating has been set to Hot by your flow.

If this was successful, congratulations you have built your first flow!!

Build on your success

Now you have conquered your very first flow, tackle something a little more complex and gradually build up your skills and confidence. Before long you will be over the hump and on your way to tackling more complex flows.

In part 2 of this two-part article, we tackle a more complex flow that gathers feedback from a customer with a simple form and creates a customer feedback score. Stay tuned…


Get more great training resources with our online training material that provides everything you need to get certified in the following:

  • Salesforce Administrator
  • Salesforce Platform App Builder
  • Salesforce Advanced Administrator
  • Salesforce Sales Cloud Consultant

Visit our online training site at CertifyCRM.com


Trailhead resources to get started with flow:

Trail: Build Flows with Flow Builder
https://trailhead.salesforce.com/en/content/learn/trails/build-flows-with-flow-builder

Trail: Automate Your Business Processes with Lightning Flow
https://trailhead.salesforce.com/en/content/learn/trails/automate_business_processes

Module: Lightning Flow for Service
https://trailhead.salesforce.com/content/learn/modules/service_lightning_flow_for_service

Salesforce Automation Tools

In this article, we compare the three no-code automation tools for Salesforce. These tools can automate business processes in Salesforce without writing Apex code:

  • Workflows
  • Process Builder
  • Flow Builder
Compare Salesforce Automation Tools

Workflows

Workflows are the oldest of the automation tools.

Features

  • Quick, relatively simple to configure.
  • Can update the current record or a parent record only.
  • Can only have one if/then statement.
  • Can send email alerts.
  • Can create time-dependent actions.
  • Can send outbound messages (without code to an external app).
  • Triggered by a record update or record creation.
  • No longer actively developed, but still supported.

Recommendation

Avoid where possible except for very simple tasks.

Start moving existing Workflows to Process Builder or Flow.

No longer actively developed – means no new features will be released.

Process Builder

The next generation of automation tools, Process Builder provides a full Graphical User Interface to build automations with point-and-click tools.

Features

  • Can have multiple if/then statements.
  • Supports the ISNEW, ISCHANGED, PRIORVALUE functions that are currently missing from Flow (expected within 1 year).
  • Can be triggered by record creation/update, another process, Apex or Platform Events.
  • Can create any record and update related records.
  • Often updated with new features and capabilities.
  • Supports Custom Metadata and Custom Settings.
  • Can launch Flow or Apex.
  • Can post to Chatter and send Custom Notifications.
  • Can submit the current record for approval.
  • Can send email alerts.

Recommendation

Use Process Builder as a bridging step towards Flow.

Use when you need ISNEW, ISCHANGED, PRIORVALUE functions.

Handle complex tasks by calling Flow or Apex.

Move any existing Workflows to Process Builder unless you are comfortable working with Flow Builder and Flow meets your needs – then move straight to Flow.

Use a single process per object. (see note for exceptions)

Source: https://medium.com/@apeattie/salesforce-process-builder-best-practices-24e674b2b2b1

Process Builder is “Often updated” – means there may be some small improvements but Flow is now the main focus for development by Salesforce.

Flow Builder

Features

  • Allows more complex automations with multiple logic branches.
  • Is more complex to learn.
  • Is the future of Salesforce automation with Flow constantly being updated in each release with new features and capabilities.
  • Provides a user interface, ideal for creating wizard type functions.
  • Is the only no-code tool that can delete records.
  • Has a visual debugger built-in to Flow Builder.
  • Supports Custom Metadata and Custom Settings.
  • Can launch sub-flow or Apex.
  • Can post to Chatter and send Custom Notifications.
  • Can submit the current record for approval.
  • Can send email alerts.

Recommendations

Make Flow your preferred platform for no-code automation tasks and start learning how it works. Plan to move your Workflows and Process Builder automations to Flow over the next 12-24 months.

Monitor the improvements to Flow capability over the next 12 months and take advantage of new functionality as it is released by Salesforce. Read the release notes and test the new functions.

unofficialsf.com is a great source of flow components that you can use in your own flows.

Complex business processes may need to use Apex code.

Comparison to Windows:

If we were to compare the three no-code tools to Microsoft Windows, it would look something like that below. Are you still stuck using Windows XP on your desktop?

Compare Salesforce Automation Tools

References:

Salesforce Automation Guide

https://salesforce-automation.herokuapp.com/

Salesforce Process Builder Best Practices

https://medium.com/@apeattie/salesforce-process-builder-best-practices-24e674b2b2b1

Architect’s Guide to Building Record-Triggered Automation on Salesforce Using Clicks and Code

https://quip.com/VJfCAFhEBO0W

Salesforce Dynamic Forms

Dynamic Forms – the ability to dynamically display fields on a lightning page when you want them is one of the most requested Salesforce features of all time with over 98,000 points on the Salesforce Idea Exchange. The original idea for this feature was posted over 13 years ago – so it’s long overdue.

First demonstrated at Dreamforce 2018, the feature will be available for custom objects in Summer ’20. More info here …