If you haven’t heard that Flow is the future of Salesforce automation (direct quote), then I guess we should start there.
The days of workflow rules & process builders are starting to move behind us. This may not mean much if you’re new to the platform, but if you’ve been admin-ing your org’s instance for a while, that reality might hit different.
Which I get. As great as Flows are, and despite how much they’ve improved in recent years, they’re still a giant learning curve! Not exactly ideal for the ambitious, already-time strapped data team/person.
My Flow Learning Journey
I first used Flow a few years ago, back when it looked VERY different. (I wasn’t kidding when I said they’ve done a lot to improve the experience)
At the time, I had a use case that neither Process Builder nor Workflow Rules (the other automation tools) could meet. I read about Flows, saw a Youtube video for how to use the Cloud Flow Designer above, and got to work.
Shortly after that decision, Salesforce completely redesigned the Flow interface. (I should’ve waited 2 more weeks to train myself, but didn’t know how to check the release notes back then 😩). So I adjusted and got up to speed on the new Lightning interface.
Once I started to hear whispers that Salesforce Flow would become the primary automation bae, I made the choice to start using it for my org’s new automation needs.
That wasn’t always the expedient choice. Some use cases took longer to build when I was just starting out. But it was a consequence I knew my org should afford, if we were taking a long-term approach to our Salesforce development.
Since then, the bulk of my learning has come from hands-on practice. But I give TONS of credit to the generous pros throughout the ecosystem, who are eager to share their wisdom: across Salesforce-related forums, through user group meetings, in the #Ohana Slack, on social, through videos & other content, and even 1:1.
How to Get Started Learning Flows
Flows are like an extension (or maybe a breakdown?) of coding. It lets us use point & click tools to perform advanced tasks, that may have been previously reserved for written lines of Salesforce code.
Even though there’s ample technical learning involved with Flows, this last piece (in my opinion) is the biggest mental hurdle. Flows just exercise a way of thinking that may look different from how you’d approach workflow rules or process builder.
Getting used to that thought process comes with practice. But if you’re feeling overwhelmed by the technical learning too, below are areas that are helpful to focus on first.
p.s. I’ve started to share short Flow lessons on Youtube channel, which you’ll see linked throughout (along with other learning resources at the very end)
1. Understand the different Flow Types available
To tie your use case to the right solution, you need to know your options in the Flow Builder. There are tons of videos & blogs out there, but the short version:
- Record-Triggered Flows are launched when something happens to a record – like when it’s updated, created, or deleted – and run in the background. See it here
- Schedule-Triggered Flows are launched at a specific date/time & frequency. They also run in the background, for each relevant record based on your selected object. See it here
- Screen Flows are launched from a specific place or “thing”, like a button. Since these involve having users interact with Screens (you can think of them like forms), this Flow type does not run in the background. See it here
- Autolaunched Flows can be launched by a user, or by another event/thing in your system. These Flows do not support screens, and so run in the background. See it here
There are more options, like Record-Triggered Orchestration & Platform Event-Triggered Flows. You can choose to dive into these, but the 4 above are probably the best place to start
P.s. Keep in mind that certain Flow types will have different elements available (see #5)
2. Spend time learning all about variables
There’s really no Flow without variables! So they’re are an essential piece to the learning puzzle.
If you don’t know, variables are the means through which you store data in Flow. (Think of them like data containers.) The good news is if you’re familiar with object field types, those pretty much mirror the different variable data types available…with a few notable exceptions, like record variables and collections. See below.
💡 For a quick explanation on variables, check out this 6 minute video
3. Learn to distinguish between variables & collection variables
Collection variables are a type of variable, capable of storing more than one value. So for example, a number variable could have a value of “3”. A number collection could have values of “3″, “9”, “21”, “407” and much more.
Important: collections only store values of a single data type. You’ll never see a text value and number value in the same collection variable
Collections have a different configuration from plain old variables, so how you reference/manipulate them is going to look very different. For example:
- The Sort & Filter elements specifically only work on collections
- To update individual values within a collection – more often than not, you’ll need to use a combo Loop (to iterate/process each individual value) & Assignment (to manipulate each value). More on these in #5
If that sounds complicated, no worries. This can become second nature with enough practice.
💡 For more on collections, check out this quick overview (6 min)
4. Get cozy with record variables
Salesforce records can serve as variables within a Flow, too. An individual record variable is capable of storing a single record – like x account – whereas collection record variables can store multiple records for the same object.
Record variables are kind of the best, and you’re pretty much guaranteed to have at least one in every Flow (yes, even that $Record variable you see in schedule and record-triggered Flows).
💡 To preview how record variables work, I’ve got a few video explanations below + examples for how to use each:
▶️ Record Variables Explained – 6 min
▶️ Record Collection Variables Explained – 5 min
▶️ $Record (Global Record Variable) Explained – 5 min
5. Familiarize yourself with the different Flow Elements
Within each Flow canvas, there are many Flow elements to choose from. These elements perform a wide range of tasks: from searching Salesforce for records, updating/creating records, calling other Flows, and more.
Again, these become more obvious with practice. But generally speaking
- Use data elements (all the pink Create/ Update/ Get/ Delete/Roll Back Records elements) to determine what your Flow does with records in your Salesforce instance
- Use logic elements (all the orange Assignment, Decision, Loop, Sort & Filter elements) to determine whether something needs to happen, or how to manipulate data
- Use interaction elements (like Screen, Action and Subflow) to have your Flow interact with users in some way
For more of a walkthrough, check out the Flow Builder Trailhead Module from Salesforce
Wrapping Up : Where to Go for Flow Training
Fortunately for us, there are tons of resources out there for learning Flow these days:
- The Build Flows with Flow Builder Module is one of many, free Trailhead learning modules provided by Salesforce
- Youtube is another great place for learning about Flows for free, either in small snippets (like the links above from the EFG channel) or via long form, instructional videos. Some course-like options to get you started:
- The Salesforce Apex Hours Lightning Flow playlist has information separated into different learning days
- Salesforce Geek’s Flow for Beginners playlist has video content separated by the different elements
- Salesforce Break’s Learn Flows playlist is also geared towards beginners
- If speed is the name of your game, Salesforce Ben has a 1 hour video for a Flow Crash Course.
- If you’re looking for paid options, check out e-course sites like Udemy or PluralSight, this list of options by Salesforce-Flowsome, or by searching on your own. (I don’t have any specific recommendations, and am mindful that there’s a giant universe of course creators out there)
Ultimately, the bulk of your Flow learning is going to come from doing. So start getting hands on (ideally in your sandbox!), migrate a few of those workflow rules/process builders manually, and hopefully have some fun along the way.
Share your thoughts!