
There are several ways to launch Screen Flows in Salesforce, and using an Action button on a record is one of the most common. This method opens the flow in a modal window, creating a seamless user experience. However, if you want to launch Screen Flow in a modal from list view, Action buttons aren’t supported. While you can use a custom URL button to open the flow from a list view, it will open in a new tab instead of a modal. Although Salesforce doesn’t offer a standard way to launch Screen Flow in modal from list view, there’s a simple workaround that makes it possible.
In this simple workaround, we will use a similar approach to the one described in this post. However, instead of using a formula field, we will use a custom button that opens an action.
Steps to Launch Screen Flow in Modal from List View
Let’s say you already have a Screen Flow that creates multiple Task records, and now you want to launch it directly from the Task list view. Here’s how you can set it up to open the flow from the list view.
1- Create an Action on your object (Task). Set the action type to Flow, then select the Screen Flow you want to launch.

This action will open the flow in a modal. However, as mentioned earlier, you can’t add it directly to the list view.
2- Create a URL button on the same object (Task). This button won’t launch the flow directly. Instead, it will open the Action you created in the previous step. Be sure to set the Display Type to List Button.
As you may know, actions automatically pass the record ID to Screen Flows, even if the Flow doesn’t have an input variable named recordId.
Since there’s no specific record ID to pass from the list view, you’ll still need to follow the same logic and include a valid ID value. Here’s the URL format you should use for your button.
/lightning/action/quick/Task.New_Task_Flow?context=RECORD_DETAIL&recordId={!CASESAFEID("00T000000000000")}&backgroundContext=%2Flightning%2Fo%2FTask%2Fhome
You’ll need to replace the bold parts of the URL with your own values. Let’s break down what each part means.
- Task.New_Task_Flow: This part represents the object and the action the URL is launching. In this example, the object is Task, and the action name is New_Task_Flow.
- 00T: As mentioned earlier, you need to pass a valid record ID, but it doesn’t have to be a real one. You can use the object’s key prefix followed by 12 zeros. Since the flow expects an 18-character ID, we use the CASESAFEID function. Just replace the key prefix (00T for Task) with the prefix of your object.
- backgroundContext: This parameter controls the background of the modal. Since the flow is launched from the list view, it’s best to keep the list view visible in the background. To do that, replace "Task" with your object's API name so the pinned list view stays in place.
For example, if you want to apply this logic to the Account object and open an action called New_Account, here’s the URL you should use:
/lightning/action/quick/Account.New_Account?context=RECORD_DETAIL&recordId={!CASESAFEID("001000000000000")}&backgroundContext=%2Flightning%2Fo%2FAccount%2Fhome

3- Lastly, add the button to List View Button Layout.

Here is how it works.

It is important to note that this approach doesn’t allow you to select records from the list view and pass them to the flow.
Leave a Reply