All posts

Let users resume a paused Flow Interview from an associated record

Sometimes users need to step away in the middle of a flow—whether it’s to join a meeting, gather missing information, or just deal with real life…

Sometimes users need to step away in the middle of a flow—whether it’s to join a meeting, gather missing information, or just deal with real life. Wouldn’t it be great if they could come back later and pick up exactly where they left off?

Good news: Salesforce has native support for pausing and resuming flow interviews. But the official documentation leaves a few gaps, especially around how to make this work cleanly on a record page. This guide fills in those blanks and walks you through a working setup using platform settings and a simple custom component.

Why this matters

Giving users the ability to pause a flow and return later can transform the user experience for long, multi-step processes. Think onboarding checklists, complex case intake, or anything where people might need to step away and come back.

Instead of losing their place—or worse, having to start over—users can resume with full context, right from the record they started on. Enabling pause-and-resume for certain workflows can be a “make or break” feature.

Step-by-Step: How to Let Users Resume Flow Interviews

1. Set the “Current Record” inside your Flow

When launching a flow from a record page, Salesforce passes the recordId variable automatically. Use an Assignment element to set the flow’s CurrentRecord system variable early in the flow so that paused interviews are properly associated with the correct record. This is what links a specific Flow Interview with a specific record, and this is required for the Flow Interview retrieval in Apex in a later step to work.

Flow.Interview > CurrentRecord = {!recordId}

2. Enable users to pause Flows

Go to: Setup > Process Automation Settings, and enable the checkbox labeled “Let users pause flows”.

In addition to this org-wide setting, you also need to ensure the “Pause” button is on the screen elements where you want users to be able to pause the interview. Without this, users won’t see the option to pause the flow even if the global setting is enabled. When it’s added to the screen, it will appear on the bottom-left corner of the screen.

3. Grant access to FlowInterview records

Paused flows are stored as FlowInterview records—but by default, most users can’t see them.

You’ll need to give users read access to the FlowInterview object using one of the following:

  • Public Read Org-Wide Defaults
  • Sharing Rules based on user role or record access

Write access isn’t needed unless users will be modifying interviews directly (which they shouldn’t be).

4. Deploy and Add the Custom Component

Salesforce has a sample Aura component on their Help site, but it’s a bit barebones.I built a slightly modified version of it, which you can download with the .zip below. The UI is basic (and could use a redesign in LWC down the line), but it gets the job done.

interviewsByRecordController.zip

This Aura component:

  • Can be dragged onto any Lightning record page
  • Queries paused Flow Interviews related to the record
  • Displays the retrieved paused Flow Interviews in a table
  • Allows the user to resume or delete using the dropdown in the right-most column of the table

A couple of important notes:

  • I’ve had a hard time getting full test class coverage on this Apex class because Apex cannot create or delete FlowInterview records. If you have any advise on how to correctly structure a test class to get full test coverage here, please let me know! I’d love to learn from you.
  • The dropdown on the right edge of the table is awkwardly cut off. One day, I’d like to rebuild this using an LWC framework and make the UI better as well as the columns configurable by the LWC metadata fields. It’s on my Projects list.

5. Expose the Apex Controller

The custom component in step 4 uses Apex to query the FlowInterview records. You must grant access to this Apex class via Profile or Permission set for any Users who will be using the component, otherwise it will not work.

Here’s how:

  • Open Setup > Profiles (or Permission Sets)
  • Select the relevant Profile or Permission Set
  • Scroll to Apex Class Access section
  • Click Edit, then add the class: resumePausedFlowInterviewsController (or whatever the name of your component is — this is just what I named it.)

When to Use This

This setup is perfect for flows that:

  • Are long or multi-step
  • Require input from multiple systems or people
  • Are used in service processes, customer onboarding, or intake forms

Basically, any time a user might reasonably say, “I’ll finish this later.”

Final Thoughts

Adding pause-and-resume to your flows might not seem flashy, but it can significantly improve usability—especially for business-critical processes that can’t always be completed in one go.

Salesforce gives us the tools to support this, but it takes a bit of know-how to wire everything together. Once set up, though, it becomes a seamless part of the user experience. No lost progress, no frustration—just workflows that adapt to how people actually work.

If you’re building complex flows, this should absolutely be part of your toolkit.