How to Bypass Salesforce Flows Using Custom Permissions

Bypass Salesforce Flows during a data migration without deactivating your automation. When you’re importing records into Salesforce, record-triggered Flows can run automatically and perform actions that may not be appropriate for your migration data.

In this tutorial, you’ll learn how to create a permission-based Flow bypass using a Custom Permission and Permission Set. This allows you to keep the Flow active for regular users while preventing it from running for the specific user performing the data migration.

🎯 What You’ll Learn

By the end of this tutorial, you’ll know how to:

  • 🔐 Create a Custom Permission called Bypass Flows
  • 🛡️ Create a Permission Set and add the Custom Permission
  • 👤 Assign the Permission Set to your migration user
  • ⚙️ Modify a record-triggered Flow to check for the bypass permission
  • 🚫 Prevent the Flow from running for users with the bypass permission
  • 🧪 Test the Flow to confirm the bypass works correctly

The goal is simple: keep your Salesforce Flow active while giving your migration user a controlled way to bypass it during data imports.

⚠️ Why Bypass a Salesforce Flow During Data Migration?

When you're importing new data into Salesforce, you don't always want your record-triggered Flows to run. A Flow that is useful for everyday Salesforce activity can sometimes create unwanted automation during a data load.

In the tutorial example, there is an active Flow that runs when a record's status changes to Active. When that condition is met, the Flow automatically sets the Client Start Date to today's date.

⚡ Before the Bypass

The Flow is active and automation runs normally.

Normally, this is exactly what we want. But during a migration, the user importing records may need to prevent that automation from running.

Record
Status changes to Active
Active Flow
Flow is triggered
Automation
Client Start Date = Today
💡 The idea behind the bypass

Instead of deactivating the Flow, we'll add an additional condition that checks whether the running user has the Bypass Flows permission. If the user does not have the permission and the record meets the normal entry criteria, the Flow runs. If the user does have the permission, the Flow is bypassed.

🔐 How to Set Up the Salesforce Flow Bypass

The setup has four main parts. First, we'll create the permission, then connect it to a Permission Set, assign that Permission Set to the migration user, and finally use the permission inside the Flow.

Step 01 Create Custom Permission
Step 02 Create Permission Set
Step 03 Assign the Permission
Step 04 Update the Flow
01
Permission Setup

Create a Custom Permission Called "Bypass Flows"

The first step is to create the Custom Permission that Salesforce will use to identify users who should be allowed to bypass the Flow.

In Salesforce, go to the area for Custom Permissions and create a new permission.

Salesforce Setup
Custom Permissions
New
Bypass Flows
Keep the name simple. The tutorial uses Bypass Flows because this permission will specifically identify the user who should be allowed to skip the Flow during the migration.
02
Permission Set

Create a "Bypass Flows" Permission Set

Once the Custom Permission is created, create a new Permission Set. Give it the same logical name:

Bypass Flows

For this setup, you do not need to assign a license type. The Permission Set will simply provide a controlled way to give the appropriate user access to the Custom Permission.

🛡️ Why use a Permission Set? It lets you control exactly which Salesforce users receive the Flow bypass instead of making the exception available to everyone.
03
User Assignment

Add the Custom Permission to the Permission Set

Open the new Bypass Flows Permission Set and scroll down to the Custom Permissions section.

Bypass Flows
Custom Permissions
Add Bypass Flows

Modify the Custom Permissions section so you can add the Bypass Flows permission you created in Step 1, then save the Permission Set.

💾 At this point, the Permission Set contains the bypass permission. The next step is to give that Permission Set to the user who will perform the data migration.
04
Assign the Bypass

Assign the Permission Set to Your User

From the Bypass Flows Permission Set, open Manage Assignments and choose Add Assignment.

Manage Assignments
Add Assignment
Select User
Assign

Select the user who will be performing the migration and click Assign.

Permission setup complete.
Your migration user now has the Bypass Flows permission. The next step is to modify the Flow so it can recognize that permission.
🧠 Migration Guide

Best Practices When You Bypass Salesforce Flows

A Flow bypass gives you control during a data migration, but it should be used carefully. The goal is not to permanently turn automation off — it's to create a controlled exception for the user performing the migration.

01

Keep the Flow Active

Don't deactivate the Flow just because you don't want it to run during an import. The bypass allows the Flow to remain active while preventing it from running for the designated migration user.

02

Limit the Permission

Assign the Bypass Flows Permission Set only to the user who actually needs to perform the migration. Avoid giving regular users unnecessary bypass access.

03

Test Before Importing

Test the Flow with a user who has the bypass permission and another user who does not. This confirms that the automation behaves differently for each user as intended.

04

Check the Entry Criteria

When modifying the Flow, make sure the original business condition still works. The bypass should be added to the logic without accidentally changing when the Flow normally runs.

05

Use a Dedicated Migration User

When possible, use a dedicated user for your data-loading process. This makes it easier to identify which records were imported with automation bypassed.

06

Review the Imported Data

Bypassing a Flow does not automatically make the imported records correct. Review the results afterward and confirm that any information normally created or updated by the Flow is handled appropriately.

💡 Remember the purpose of the bypass The bypass is a controlled migration tool — not a replacement for Salesforce automation. Keep the Flow active, restrict the permission, test the behavior, and review your imported records after the migration.

✅ Migration-Ready Checklist

Before you start the data import, check each item below.

The Bypass Flows Custom Permission has been created.
The Custom Permission has been added to the Bypass Flows Permission Set.
The Permission Set has been assigned to the migration user.
The Flow entry criteria has been updated to recognize the bypass permission.
The Flow has been tested with both a bypass user and a normal user.
The imported records will be reviewed after the migration.
Migration readiness 0 / 6
🧩 Interactive Logic Challenge

Can You Build the Salesforce Flow Bypass?

Before moving on, test your understanding of the Flow entry criteria. The goal is simple: the Flow should run when the record meets the normal condition, but not when the running user has the Bypass Flows permission.

Flow condition Status = Active
Bypass condition User does NOT have Bypass Flows

🎯 Your challenge: Which condition belongs in the blank so that users with the bypass permission do not trigger the Flow?

AND(
  Status = "Active",
   ??? Choose below ???
)
🎉 Correct! Using NOT($Permission.Bypass_Flows) means the Flow can run only when the running user does not have the bypass permission.
Not quite. Think about what we want the Flow to do when the user has the Bypass Flows permission.

💡 The Flow should run only when the user does NOT have that permission.
Here's the logic:
If the record has Status = Active AND the running user does not have the Bypass Flows permission, the Flow runs. AND( Status = "Active", NOT($Permission.Bypass_Flows) )
🧠

🎯 Will the Salesforce Flow Run?

You've built the Bypass Flows permission. Now test whether you understand how the bypass actually works.

Question 1 of 4 Score: 0/4
Scenario 01

🎉

Nice work!

✦ FLOW BYPASS GUIDE

Frequently Asked Questions About Bypassing Salesforce Flows

Need a quick answer? Open a question below to understand how a Custom Permission, Permission Set, and Flow entry criteria work together to bypass automation for specific users.

Yes. You can bypass a Salesforce Flow for specific users without turning the Flow off.
The basic idea: Create a Custom Permission, place it inside a Permission Set, assign that Permission Set to the appropriate user, and have the Flow check whether that permission exists.
The Flow remains active for users who do not have the bypass permission.
The setup uses four main pieces:
Custom Permission Permission Set Migration User Flow Entry Criteria

Once the permission is assigned, modify the Flow's entry criteria so the Flow can recognize whether the current user should bypass it.

A Custom Permission can be used as a permission-based flag that Salesforce can check when deciding whether a user should have access to specific functionality.
In this tutorial, the Custom Permission is named Bypass Flows. The Flow uses it to determine whether the current user should bypass the automation.
A Permission Set gives you a controlled way to assign the bypass capability to specific users without changing their profiles.
Assign the bypass only to users who actually need to skip the Flow.

After the migration, you can also remove the Permission Set from the user when the bypass is no longer required.

Yes. The Flow remains active.
The bypass does not deactivate the automation. Instead, the Flow's entry criteria are updated so that users with the appropriate permission can skip it.
Users without the permission continue to trigger the Flow normally when the other entry criteria are met.
Yes. This approach can be useful during controlled Salesforce data imports or migrations when you do not want existing automation to modify the records being loaded.
Migration scenario: The migration user receives the bypass permission, while regular users continue to work with the active Flow.
Yes.

Once the migration is complete, you can remove the Bypass Flows Permission Set from the migration user.

After the permission is removed, the Flow can run normally for that user again.
No. When the bypass is configured correctly, it is permission-based.
User has Bypass Flows Flow can be bypassed
User has no permission Flow runs normally
The bypass is limited to users who have been given the appropriate permission.
Keep Learning Salesforce

🚀 Ready to Go Beyond Flow Bypasses?

You've learned how to keep a Salesforce Flow active while giving a specific user a controlled way to bypass it. Now take the next step and build stronger skills in Salesforce administration, automation, and data migration.

Explore Salesforce Masterclass

One Response

Discover more from SMC Migrations

Subscribe now to keep reading and get access to the full archive.

Continue reading