Salesforce Flow empowers you to automate complex business processes using clicks, not code. Flow Builder is the most powerful tool that a Salesforce Admin has, giving you similar powers that Salesforce Developers have. If you need to perform mass updates across multiple unrelated records, or complex logic for opportunity conversion, these are common examples for when you should use Flow.
The use cases for Flow are endless, and its capabilities are growing with every Salesforce release. Let’s dive deep into the core of what Salesforce Flow does and answer the following questions: What are Flows? What are Flow’s features? How can Flows be called? And finally, can Flows become the ‘one tool to rule them all’?
What Are Salesforce Flows?
Flows enable the automation of business processes while also eliminating the need for coding. What this means is that you’ll be able to create in a similar fashion to a developer, but use Flow as your paintbrush instead of a code-based solution like Apex. As an admin, Flows will be your best friend, because you will be able to handle many complex business requirements without the help of a Salesforce Developer!
The benefit of Salesforce Flow is that they are relatively easy to maintain because anyone (assuming they know Flow) should be able to follow along with what you have built.
There are two ways to access and manage your Flows. Firstly, Flows are accessible through the Setup menu. Simply enter ‘Flows’ into the Quick Find box, and create a new Flow to get started.

Another way that was added recently is through the main application, a new Lightning App called Automation. From the Automation App, simply click the New button either on the Home or Flows tabs.

There are three main “building blocks” of any Flow:
- Elements are the individual building blocks of the Flow. They sit on the Flow Canvas as cards or blocks and perform logical actions such as assignments, decisions, or loops. There are also data elements that will query the database or commit record changes.
- Connectors determine which element leads to which. Most of the time, you’ll be using the Auto-Layout mode, which automatically aligns your Elements and joins them together without you needing to.
- Resources are the individual variables of data that are to be used in a Flow – these can be strings of text, numbers, records, formulae, or collections.
You can see these in action on the Flow Canvas below. The example Screen Flow begins with a green Start element followed by a pink Get Records element. It then moves into a Loop element (which allows you to process a collection of variables one-by-one) and an Assignment. Finally, it ends in an Update Records element.

Salesforce Flow’s Key Features
On the left-hand side of your Flow Canvas, you’ll see the Toolbox (If you don’t see it, expand it by clicking the button at the top-left of your screen).

Once the Toolbox is open, you’ll be presented with a list of Resources, Elements, a Search bar, and a New Resource button. This list groups all the different parts of your Flow into logical groupings. Resources are grouped by type (i.e., Variables, Constants, Formulae). Elements (the cards on your Flow Canvas) are also listed and grouped logically.

Some examples of Resources are Variables, Collections, Constants, Formulae, or Choices.
- Variables are where you can store data to use in the Flow. These can be Text, Number, Record, Dates, Times, Currency, Boolean, or Picklists just to name a few.
- Collections are a group, or ‘list’, of Variables stored together. Collections allow you to process multiple records at once, or ‘bulkify’ your Flows.
- Constants are values you set once and never change. They are useful when you want to refer to a single value multiple times through your Flow – if you ever need to change that value, you just need to change it once and it is reflected throughout the Flow.
- Formulae display a dynamic value depending on other values within your Flow. If you need to calculate a future date based on when the Flow was run, a Formula will be helpful. If you need to calculate and set a currency based on an interest rate, a Formula can be used.
- Choices are used within Screen Elements to display an option to the user. These can be displayed in text-based options like Radio Buttons or Checklist Items, or you can use Visual Picker to provide an icon-based selection method.
Creating Elements in the Flow Canvas
Regardless of the type of Flow you choose to create, you’ll notice a plus button underneath the Start Element (we’ll assume that you’re using Auto-Layout instead of Free Form going forward, as this is the more common and easier way to begin working with Flow).

This is where you can create new Elements in the Flow. There are a number of different elements that will dynamically show up depending on the type of Flow you’re working with. For example, in the screenshot below, you’ll see I can add a series of orange Logic elements and some dark blue Interaction elements, but I can’t add a Screen. This is because the Flow I am working with is an Autolaunched Flow and Screens, for example, are not a supported Element for this Flow Type.

Interaction elements include Screen, Action, or Subflow.
- A Screen element, only available in a Screen Flow, allows you to present a screen to the user. This screen can display information from the data your Flow is working on, or it can be used to collect information from the user.
- An Action element allows you to pass data through to a pre-existing standard or custom action, such as Send Email, a Quick Create, or a custom Apex action.
- A Subflow element allows you to call another Flow within your current Flow – this means that if you have another complex Flow set up, you don’t need to replicate the logic in your new Flow. This also makes maintenance easier as you only need to update your logic once if you design your Flows well enough!
Logic elements include Decisions, Assignments, Transforms, Filters, Sorts, and Loops.
- Decisions allow you to split your Flow depending on the data that’s being sent through it.
- Assignments allow you to give a value to a variable.
- Transforms empower you to map data from one or more variables (an individual one or a collection) to a new variable (again, one or multiple). Transform outputs can be all the standard types (Record, Text, Number, etc.) or an Apex-defined variable.
- Filters can help reduce the number of Get Records elements you need to use by gathering a larger collection of records and filtering them down into only those you need in specific circumstances.
- Sorts are similar to filters except that they let you sort your variables from top to bottom in a specific order without removing any records.
- Loops allow you to handle multiple variables at once using collections.
Data elements include Create, Update, Get, or Delete records.
Any time you want to edit a record in the Salesforce database, you’ll need to use one of these Data elements. These will also dynamically display depending on the type of Flow you’re running. If you’re running a ‘before triggered’ (Fast Field Updates) Record-Triggered Flow, you’ll only be able to use ‘Get’ and ‘Update’, for example.
How Do You Call a Flow in Salesforce?
To ‘call’ a Flow means that something happens to trigger the Flow to run. This could be a Salesforce record change, triggered by another process in Apex, called as a Subflow from another Flow, or automated on a recurring schedule.
When you create a new Flow, you’re prompted to select the type of Flow you wish to create.

There are a growing number of Flow Types (which you can read more about here), but the key ones you’re likely to encounter are below:
- A Screen Flow is called through a button or action, or embedded in a Lightning Page or the Utility Bar, and appears as a screen to the user to interact with. This cannot be automatically called.
- A Schedule-Triggered Flow runs automatically on a recurring schedule. This is handy for tasks that need to be performed daily on a set of records, or to handle jobs that run frequently.
- Autolaunched Flows are called through Apex or another Flow. They can be used to perform actions automatically behind the scenes. Examples of these are Flows that contain a series of actions that will be performed across multiple Flows, or Flows that can be called from a Screen Flow’s Action Buttons or Screen Actions.
- Record-Triggered Flows begin when a record is created, updated, or deleted, very similar to an Apex Trigger (more on this later).
- Platform Event-Triggered Flows are called when a platform event is received, similar to an Autolaunched Flow.
Can Flows Be the ‘One Tool to Rule Them All’?
By this point, I’m sure you’re as convinced of Salesforce Flow’s power and flexibility as I am. It becomes tempting to want to use it for ALL automation on the Salesforce platform. I want to caution you here, though. Flow isn’t the only tool Salesforce is working on, and for good reason.
If we think about the simple use case of creating a form for users to fill in that streamlines the creation of a record, this is definitely something Flow can do… but should it always? Salesforce has another tool that may be better suited for this, depending on the scenario: Quick Actions.
Another slightly more complex scenario you may be faced with is an integration with an external tool. Yes, Flow supports the ability to post HTTP Callouts and be triggered on Platform Events, but this may not be the best approach. Apex exists for a reason, and can handle the more complex processing requirements for your org.
With that said, by learning and adopting Flow, you are able to help your business beyond what a declarative Salesforce Admin would have been able to do before. This means you can bring value faster to your business, without the need for expensive developers.
Summary
There you have it! You’re now well-versed in the fundamentals of Salesforce Flow, its features, how it can be called, and when it is a good time to use it.
As you can see, Salesforce Flow is a powerful tool that empowers admins to build complex business solutions, possibly the most powerful tool that a Salesforce Admin has at their disposal! The use cases for Flow are endless, and its capabilities are growing with every Salesforce release.
That said, with great power comes great responsibility! There are a number of best practices that need to be followed to ensure your Flows are future-proof and scalable.
Comments: