How to Build Custom Flow Approval Submission Related Lists
In the Spring ’25 release, Salesforce introduced Flow Approvals to replace the legacy approval processes. This approval platform was based on the orchestration functionality. I recorded and released two videos and posts to share this functionality on Salesforce Break. The videos saw great interest from the community, they are about to reach 20K views soon. So, why is everyone talking about flow approvals?
There are multiple reasons:
This is why I decided to create more content in this area, starting with:
Here is the first post detailing a solution filling one of the gaps.
Flow Approvals Don’t Provide Sufficient Detail In The Related Lists
Here is the first point I would like to address: Flow approvals don’t provide good detailed information in the related lists of the object record like the legacy approvals did.
Solution: Build a screen flow with reactive data tables to show the approval submission records and their related records. Add the screen flow to a tab on the record page.
Salesforce provided a component that can be added to the record page. It is called the Approval Trace component. This provides some information about the approval process, but is not customizable. I asked myself how I can go beyond that, and decided to build a reactive screen flow with data tables to fill this functionality gap.
To build and deploy this flow, you need to follow these steps:
If you have never built a screen flow with screen actions before, let me be the first one to tell you that step one and two are not really completed in sequence. You go back and forth building these two flows.
Let’s get started.
Build the Flow Approval Submission Screen Flow
What I usually do, when building these flows is that I first get the screen flow started. Then I build the autolaunched flow, and go back to the screen flow to build out the rest of the functionality. The reason is that the screen flow data tables will need the outputs from the autolaunched flow to be fully configured.
This is what the screen flow looks like, once it is completed.
For now, you can just ignore the loop section. This is there to ensure that there is a default selection for the first data table, when the flow first runs.
This is the structure of the flow excluding that part:
Here is what this screen looks like:
After you build, test, and activate the autolaunched flow, configure the screen action under the screen properties as shown below.
How the Loop Section Works
The first data table has an input parameter that determines the default selection, when the flow first runs. This is a record variable representing one of the members of the collection record variable that supplies the data. You need to loop the collection of records to get to the record variable. Follow these steps:
This loop always runs once, setting the default selection to the most recent approval submission. This populates the related data tables when the flow first runs.
Build the Screen Action Autolaunched Flow for Related Lists
The autolaunched flow receives a single approval submission recordId as input. Then it gets the related records and data the screen flow needs, and returns the data as output.
Here is a screenshot of the autolaunched flow.
This flow executes the following steps:
Final Deployment Steps
After testing and activating the autolaunched flow, you need to add the flow to the screen flow as the screen action. The flow input will be fed from the selection of the first data table. You will see that this step will make all the outputs of the autolaunched flow available for the screen flow. Using these outputs build the additional two data tables and configure the conditional visibility.
After testing and activating your screen flow, add the flow to the record page on a dedicated new tab (or to a section on an existing tab). Select the checkbox to pass the recordId to the flow. Note that this flow will work with any record for any object.
Limitations and Suggested Improvements
While this screen flow provides a lot of detail and customization options it has two limitations:
HYPERLINK("/" & Id, Name, '_self')While I wanted to make these additions to these flows, I did not want to add custom fields to the objects. It should be your decision whether you want to do that or not.
Install the Package to Your Dev Org
Here is the second generation unprotected package for these two flows that you can install in your Dev Org:
For a more visual walk through of how these flows are built, watch the Salesforce Break YouTube video below.
With Salesforce phasing out legacy approvals, mastering Flow Approvals is essential to keep your org’s processes modern, flexible, and future-ready. Gain the confidence to handle any approval challenge with solutions that work seamlessly in real-world Salesforce environments HERE.
Explore related content:
Supercharge Your Approvals with Salesforce Flow Approval Processes
When Your DMLs Have Criteria Conditions Other Than Id
Start Autolaunched Flow Approvals From A Button
Get Ready for the New Time Data Type – Summer ‘25 Flow Goodness
#AutolaunchedFlow #FlowApprovals #FlowBuilder #Salesforce #SalesforceAdmins #SalesforceDevelopers #SalesforceTutorials





