I am all about screen flows but sometimes its even better to be able to avoid using screens. The day before Dreamforce I am sitting in my hotel room, having flown out a day early to be available for a project, with a new puzzle in front of me. We needed some data to “default” on a record. However having it default after the fact with a process builder would not work because it would also be driving filters on other required selections. We had tried going down the road of a full blown screen flow and while it was functional, it was a bit clunky. However, the requirements had changed and I had things had to be rebuilt to meet these new requirements so at the same time I set out to revise the user experience.
Recently, I fell in love with this flow Action. It was an answer to so many of my frustrations with flows. I can’t tell you how often I have lamented the level of effort required to navigate to a record at the end of a flow. You had to set up a custom button with parameters to redirect the flow at the end of the record. It wasn’t as simple as plopping that flow into a quick action. Or if you went with putting that screen flow onto a Lightning Page, it redirected you back to the beginning of the flow after the flow completed. I had a flow at one point that left the user in that exact experience. (as an aside if you prefer they head over to a related list there is an action for that too.) Additionally you could not navigate to the edit screen for the record. Wouldn’t that be awesome? Walk through the flow and then land on a record in edit? Well now you can.
I am obsessed with the resources on the Unofficial Flow website but the Navigate to Salesforce sObject is by far my favorite. This action let’s you end your flow on a record and you can even end it on the edit screen. Game Changer!!!! So for our scenario, we looked up a couple of records to gather some data before creating our goal record, populating some of the fields with our gathered data. However, because we were in flow, we did not have to populate all of the page layout required fields during the creation. We placed the user onto the edit screen for the record. They then had to finish off the record creation, populating the required fields before clicking save. This keeps the user experience very similar for the user while at the same time, pre-populating some of the information we were able to gather using the flow itself.**
We brought this whole solution together in a quick action that we added to the page layout. Don’t forget when dealing with quick actions, you can pass the record ID from the record where the Quick Action is to the flow with the variable recordId. The key here is that case matters. It’s Id, not ID. And finally, if you are going the route that we were, where we change the path to creating a new record, do not forget to remove the new button from related lists and list views so that users do not end up creating records without going through your flow.
**The only down side to this path is that the record is already created at the point when the user is shown the edit screen. If they decided during their time on that screen, they do not wish to create the record, it will have to be deleted by an admin. For this record, general uses do not have permission to delete these records.