Going back in a flow, don’t take it away from your users. Join us today as we show you a quick and easy flow trick to help save your picklist values should your users use that handy back button.

Our Use Case: Users Going Back in a Flow

Hey Trailblazers, welcome back. We’re here today with an amazingly easy trick to allow your users to use that Back button in a flow without losing everything they entered on the screen. Our use case came specifically from a group that was struggling with users selecting dependent picklist values only to select the Back button and get frustrated at having to enter the values all over again when they get back to the screen. As requested we are demonstrating this as working with dependent picklists and haven’t checked it with other field types. If you would like us to, leave us a comment or drop us a mail. 

Assignment Node

Salesforce Still Checks Assignment Nodes When Going Back

Our initial theory started with the idea that in a flow nodes are checked as they are accessed, whether going back or going forward. This gives us a chance to use an Assignment node just before our screen to quickly save the value before it is lost as we move away.



Lets Start Building

For this flow we first needed our three dependent picklists. Ours were created on the Account object and were named: 

Picklist 1 (Picklist_1__c)

Picklist 2 (Picklist_2__c)

Picklist 3 (Picklist_3__c)


Setting Up the Flow

In our flow we then created 3 variables:




These are used to store the flows current version of the value and keep it handy.

Now there are two different items to configure, while counterintuitive to start with the second node it does make things a bit easier. So to start we are going to work on our screen that holds are dependent picklist. We are configuring it as follows:


Object API Name Account
Picklist 1 API Name Picklist_1__c
Picklist 2 API Name Picklist_2__c
Picklist 1 Label Picklist 1
Picklist 1 Value {!varPicklist1Value}
Picklist 2 Label Picklist 2
Picklist 2 Value {!varPicklist2Value}
Picklist 3 API name Picklist_3__c
Picklist 3 Label Picklist 3
Picklist 3 Value {!varPicklist3Value}

We have left all of the required options blank for this example and have named it dpPicklist. Once all values are configured we are ready to create our assignment node. 

Configuring the Assignment Node

Next up we have the assignment node which we setup by mapping our variables to the value of the picklist on screen. The first time we go through the assignment there is nothing to set as the flow has not been accessed. However, when a user is going back, the assignment node can reference the screen and store the value as a variable. When the screen is accessed again the previously stored values is prepopulated. 

Going Back

Finishing Up and Going Back

Now that our nodes are made we just make sure our assignment node is set to just before our picklist screen. Users can go back and forth as many times as they wish and their last screen values will be stored for reference.

We just wanted a welcome screen in our flow so we had something to go back and forth to, no need to add in yours.   

Hopefully you enjoyed this article. Let us know if there are any other field types you want us to check on, other articles you would like to see or just how your Salesforce journey is going. Don’t forget to check out our Groups  to meet other members of the Salesforce Ohana and as always we hope to see you on the trails.