Get Started With Flows
- Explain to your colleagues when it’s appropriate to create a flow.
- Identify the difference between Salesforce Flow, Flow Builder, and flows.
The Power of Automation
Over time, most organizations establish a set of practices that meet various business requirements. These practices are often unique to your business, which makes it hard to find an out-of-the-box solution that exactly meets your requirements. Maybe your company is a high-touch call center with specific scripts that your agents need to follow based on a customer’s account data. Maybe you have a practice in place where your salespeople should always, always, create a work order after a deal closes. Or maybe you have a task that your users do over and over and over again, and if you can find a way to shave a few minutes off that task, you can save hundreds of person hours over the course of a year.
One tenet of good user experience is, “If the user can only do one thing, do it for them.” If you always create a work order after a deal closes, can you create it automatically? If your call agents always follow a set script when collecting customer information, does it make sense to script that right into the user interface? If your users collect data related to three different objects, can you save time by having them enter the data in one form, and then create the three different records for them?
This is the power of automation. Save your users’ time and make sure required tasks are being done. Improve the quality of your data. Be the superhero that your company deserves!
Why Go with the Flow?
In general, it’s best to start with the simplest declarative, no-code tools and work your way up to code solutions. While flows are a no-code solution, they’re by no means the simplest one. Flows can be better described as visual coding—they’re declarative, but they require that you understand some programming concepts like variables and how logic works.
You have a bunch of automation tools at your disposal: formulas, validation rules, processes, flows, and Apex. You also have some more specific tools, like escalation and auto-response rules. Whether you should build a flow depends on what kind of business process you’re trying to automate.
Flows are useful for two major use cases: behind-the-scenes automation and guided visual experiences.
If your business process runs behind the scenes, and it should start automatically, such as when a record changes, you have your pick of solutions.
- Build a process in Process Builder.
- Build an autolaunched flow that specifies a record trigger in Flow Builder.
- Build an Apex trigger with Apex code.
Don’t start with a flow because it isn’t the simplest solution for the job. Instead, start with a process. If your business process needs more complex functionality than is available in Process Builder, create an autolaunched flow in addition to your process. The autolaunched flow can be called from the process to handle the complex functionality required.
Guided Visual Experiences
If your business process requires input from a user, you can use a:
- Screen flow
- Lightning component
Since it’s the simpler solution of the two, start with a screen flow. Build rich screens that guide users through your business process, and automate the necessary logic and actions between those screens.
A Note About Terminology
You may have heard several terms used interchangeably when referring to flows. As a reminder, the official terms are:
- Salesforce Flow—the product that encompasses building, managing, and running flows and processes.
- Flow Builder—a point-and-click tool for building flows.
- Flow—the part of Salesforce Flow that automates a business process by collecting data and doing something in your Salesforce org or an external system.
In short, the Salesforce Flow product includes multiple tools. One of them, Flow Builder, helps you create flows.
As a Salesforce admin, you’ve been lobbying your stakeholders to invest in automating more of your company’s business processes, often focusing on the efficiency improvements that Salesforce automation tools offer. Your company’s head of sales asks you to improve the efficiency of the sales teams.
When sales reps log contacts in Salesforce, they often ignore many of the fields, a practice that results in rogue, accountless contacts. To make matters worse, the sales reps frequently create duplicate contacts. They can avoid this by searching Salesforce before they create the contact, but it’d be better if this process were automated. After all, you’ve been touting how Salesforce can make the company more efficient.
The Use Case
Let’s break it down.
- Capture values for only the required fields (First Name and Last Name) and the associated account.
- If there’s a matching contact, update the existing one. If there isn’t a matching contact, create one.
To round out this business process, it would be good to provide some sort of confirmation that the business process has finished. If we note what the flow did in Chatter, more users can access that information than if we communicated through a closed channel like email. Let’s add two more requirements.
- Confirm what happened by posting on Chatter.
- Confirm to the user that the business process is complete.
Since the whole point of automation is for the system to do things automatically, we need a solution that offers conditional logic and actions. This particular business process requires information from the user, so we also need a form that captures that information. Let’s take a look at how you can address this use case in Salesforce.
|Solution||Form||Conditional logic and actions|
It’s best to start with declarative, no-code tools and work your way up to code solutions, so we avoid building a Lightning component, which requires coding. Since our use case requires conditional logic and actions, the simplest solution that fits our requirements is a flow.
Before we move on to actually implementing this business process, we want to introduce you to the Land of Flow: Flow Builder.