Salesforce Set Custom Permissions in Flow: Complete How-To Guide
Managing user access and ensuring secure, flexible permissions is critical in Salesforce. An effective method to refine this control is by leveraging Salesforce set custom permissions in Flow. Whether you’re building screen flows for guided wizards or automating access via record-triggered flows, custom permissions offer precise control over who can do what—without touching user profiles.
In this post, you’ll learn how to use Salesforce Flows to set and evaluate custom permissions, explore real-world use cases, and see how this setup boosts both admin agility and security compliance.
Table of Contents
- What Are Custom Permissions in Salesforce?
- Why Use Custom Permissions in Flow?
- How to Set Custom Permissions in a Salesforce Flow
- Example 1: Using Custom Permissions in a Screen Flow
- Example 2: Custom Permissions in a Record-Triggered Flow
- Tips and Considerations
- More Resources
- Conclusion
What Are Custom Permissions in Salesforce?
Custom Permissions allow admins to define access to custom processes or UI components. Unlike standard permission sets, custom permissions provide more granular control—perfect for toggling visibility, bypassing validation rules, or granting access to automation paths.
They’re especially helpful in orgs that follow a “minimum profile, maximum permission set” strategy.
Why Use Custom Permissions in Flow?
Flows are central to Salesforce automation. Using custom permissions in Flow lets you:
- Dynamically control flow paths without hardcoding User IDs
- Gate components or actions behind permission checks
- Avoid cluttering profiles with one-off permissions
- Make your automation declarative and scalable
You can reference custom permissions directly in Flows using the global variable $Permission.Permission_API_Name.
How to Set Custom Permissions in a Salesforce Flow
Step 1: Create the Custom Permission

- Navigate to Setup → Custom Permissions.
- Click New Custom Permission.
- Add a Label, API Name, and a clear description (used later in flows or validation rules).
Example:
- Label:
FlowAccess - API Name:
FlowAccess - Description:
Grants access to advanced Flow paths
Step 2: Add It to a Permission Set


- Go to Permission Sets in Setup.
- Create a new permission set (e.g., “Automation User”).
- Under Custom Permissions, add the one you created.
Step 3: Assign the Permission Set

Assign the permission set to any users or roles needing access. This avoids changes to profiles and keeps things modular.
Step 4: Reference in Flow with $Permission
Use a Decision element or Formula in Flow:
$Permission.FlowAccess == True
This checks if the current user has the custom permission.
Example 1: Using Custom Permissions in a Screen Flow
We are going to update our Job Application flow that we created in out earlier blog article on Try Catch in Salesforce Flow

As you can see, we have introduced a decision element in the flow which checks if the current user has the Custom Permission (Automation Process Access) assigned.
If yes then we proceed with the next execution steps, else we show a screen element saying “You don’t have access to perform this operation” and stop the process.
Example 2: Custom Permissions in a Record-Triggered Flow
Just like a Screen Flow, you can do similar checks on a Record-Trigger flow, that will prevent the current user from performing the execution if they don’t have access.
Though in this scenario we cannot add a screen element to show user the message, we can add an Apex class instead which will throw a custom error message for the user to see. I will write another article to handle this scenario.
Tips and Considerations
- Avoid Hardcoding: Always use custom labels for showing messages in the Screen Element, or any UI related layouts.
- Keep Expiration in Mind: Expired permission set assignments don’t show up in SOQL unless queried with
ALL ROWS. - Debug Smartly: Test your flow paths with both permissioned and non-permissioned users, this will guarantee that the custom permission check mechanism is working.
- Document Usage: Include descriptions on permissions and permission sets for future clarity.
More Resources
- Salesforce Docs: Custom Permissions
- Official Blog: Assign Permission Sets Using Flow
- How to Use Validation Rules with Custom Permissions
- Flow Best Practices
Conclusion
With the power of Salesforce set custom permissions in Flow, you can build smarter, safer, and more scalable automation. Whether you’re showing a component to a specific user group or streamlining permission set assignments, custom permissions are your new best friend.
If you find this blog article useful, do share it in your network by clicking the the social media icons provided.
Feel free to drop in your questions or suggestions on using Custom Permission in Flow.
Related Posts
How to Use Dynamic Custom Labels in FLOW
How to Compare Flow Versions in Salesforce: A Complete Guide for Admins
Try Catch in Salesforce Flow: How to Handle Errors Gracefully
About Author
gouravrocks247
Founder of SFDCRocks247. I love coding and building products which can enhance the user experience, reduce efforts and give better insights into underlying data. www.iamgourav.com
One Comment