In this blog I will be talking about the newest features that Salesforce Flow Builder has to offer in the Winter ‘21 and Spring ‘21 releases. Some of them are great, some of them need a little more work.
All in all it would be fair to say that Salesforce has made the development of Flows into a mature and business-ready product a top priority. As they should! Because Flows are truly the place where admins and developers can meet in the middle to provide the users with the best experience without the need for code, yet still providing plenty of possibilities to handle even the most complex business cases. Even if the limits of Flow were to be reached, expanding existing logic with Apex Actions is ridiculously easy and user-friendly.
The flashiest new feature added to Flow Builder in Winter ‘21 is clearly Auto-Layout. It allows you to automatically organize all elements in your flows in a vertical fashion to ease your eyes.
Providing you automatically with options for the next element in the structure and clearly structured paths after every Decision element. Now that’s a welcome change!
While Auto-Layout is definitely a huge improvement to having no set structure whatsoever, like before, it does still have a couple flaws.
Just because we’re happy with this upgrade, doesn’t mean we can’t look forward to more to come. Personally I am hoping for a grid-structure, a sort of light version of Auto-Layout.
Auto-Layout features: the good and the somewhat less good
This is something I have been avidly using in more complex flows. The best option will always be to prevent bad things from happening but sometimes that is just not realistic.
Try to find the golden mean by not covering all possible scenarios, but making sure they are handled properly in the end by showing the user their errors in a friendly manner. This can be done by using a fault path.
Upon an error, the fault path is followed and a fault message is stored in the dedicated flow variable. Then, the fault message can be processed to look presentable, possibly in a subflow.
Elements are not freely movable
Elements are now locked in their own little spot in a Flow, which means everything looks very organised and the structure of multiple flows will look and feel more cohesive.
A slight inconvenience though is that moving elements freely along the path flow is no longer possible. What I mean by this is that you can’t just take an element and move if a couple steps forward or backward.
As a small little workaround to achieve this nonetheless, there are three methods:
- Switch to Freeform, change the paths manually, switch back to Auto-Layout
- This one is quite ‘hacky’ but effective
- Copy the element, delete it, and paste it elsewhere
- This method cannot be used if the element is used somewhere else, because then you can’t delete it
- Copy the element, paste it elsewhere
- This method will make all API names in the element be appended with ‘_0’ to make them unique
The only direction a flow progresses visually is in a vertical way, which is good for flows that have lots of branches. Of the two possible layouts (vertical and horizontal) this is probably the best one, but I, and many others, would like to see the option to switch to a horizontal layout.
For mainly one-directional flows (few decisions and alternative paths) this vertical layout is not optimal, as on most displays the most real estate is available from left to right. This is just a minor inconvenience though, overall this structure is a major improvement to a freehanding a large flow layout.
Access data from related records
Say you were developing a flow where you handle a Contact record and you want to access fields on the parent Account, you would have to fetch that parent Account in a separate element. Well that’s no longer the case! Since the Winter ‘21 release, fields from parent records are dynamically retrieved by Flow, which means you can just choose a field and Flow will do all the heavy lifting, as if you were configuring a Formula field.
Record-Triggered Flows for deletions
Record-Trigger Flows have shown a lot of promise since they were introduced and they keep getting better and better. This includes the ability to launch Flows based on record deletions. Something that was previously only available through Apex Triggers as Process Builder is also not capable of this action. This feature has many use cases such as reporting on the deletion of important records.
Prior-value in Record-Triggered Flows
Another great new feature for Record-Triggered Flows is the access to prior values of updated records. This time around this was already available in Process Builder. But as Flow will and should encompass all of Process Builder’s functionality in the future, this is another step in the right direction.
A possible use for this feature would be to expand on History Tracking by saving a copy of records for auditing purposes every time an important field is changed. Another use case would be to block updates all-together by just reverting the value (if a simple Validation Rule wouldn’t be a possibility of course).
A feature that was already available for Workflow Rules and Process Builder, Time-Based Actions were definitely going to be added at some point. For Record-Triggered Flows there is now the option to schedule an action to execute at a later time. This includes the possibility of adding Decision elements to further refine when the scheduled action should be executed. Sadly, this feature cannot be combined with Auto-Layout.
Well, these were some of the newest and most exciting features for Flow. It is clear Flow is receiving plenty of attention and care from Salesforce and it is proving to be worth it. From Record-Triggered Flows to Screen Flows, configuring custom scenarios has never been easier and more user-friendly than now. Code is slowly but surely becoming less of a necessity and more of an option for complex use cases, which allows more time to be spent on the important stuff. I’m looking forward to the next release and the one after that to find out what other exciting features Flow has in store for us.
If you have any questions about Flow, feel free to contact us!