{"id":1408,"date":"2026-08-09T19:00:00","date_gmt":"2026-08-09T13:30:00","guid":{"rendered":"https:\/\/swapnilzambare.com\/blog\/salesforce-custom-permissions-guide\/"},"modified":"2026-08-09T19:00:00","modified_gmt":"2026-08-09T13:30:00","slug":"salesforce-custom-permissions-guide","status":"publish","type":"post","link":"https:\/\/swapnilzambare.com\/blog\/salesforce-custom-permissions-guide\/","title":{"rendered":"Salesforce Custom Permissions: Control Features the Smart Way"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Salesforce Custom Permissions let you create your own on and off switches for features in your org. You decide who gets each switch through permission sets. Then validation rules, flows, buttons and code check the switch before they allow something.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In this post, you will learn what custom permissions are, why they beat hard-coded profile names, and how to use them in a validation rule and a flow. This builds on <a href=\"https:\/\/swapnilzambare.com\/blog\/profiles-and-permission-sets-salesforce\/\">profiles and permission sets<\/a> and <a href=\"https:\/\/swapnilzambare.com\/blog\/salesforce-permission-set-groups-muting\/\">permission set groups and muting<\/a>. We will also use <a href=\"https:\/\/swapnilzambare.com\/blog\/salesforce-validation-rules-examples\/\">validation rules<\/a> in the hands-on example.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What are Salesforce Custom Permissions?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A custom permission is a named permission that you create in Setup. On its own, it does nothing. It only becomes useful when something checks it, such as a validation rule, a flow, a formula or Apex code. You give the permission to users through permission sets or permission set groups.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Think of a school staff room key. The key itself does not open anything until a lock checks for it. The principal decides which teachers get a key. Salesforce Custom Permissions are those keys, and your rules and flows are the locks.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Why Salesforce Custom Permissions Matter<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Many orgs check profile names inside rules, such as &#8220;Profile.Name = &#8216;Sales Manager'&#8221;. This breaks when someone renames a profile or creates a new one. Salesforce Custom Permissions fix that problem. Here is how they help Bright Path Tutors.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>First, only finance users may change a course fee after the course starts.<\/li>\n\n<li>Also, only senior trainers may mark a course as &#8220;Featured&#8221; on the website.<\/li>\n\n<li>Next, a support lead can bypass a validation rule during data clean-up.<\/li>\n\n<li>A new screen flow button should appear only for pilot users.<\/li>\n\n<li>Finally, admins want one place to see who has each special ability.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">So custom permissions make access rules clear, flexible and easy to audit.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How Salesforce Custom Permissions Work<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Salesforce Custom Permissions follow a simple pattern. First, you create the custom permission in Setup. Next, you add it to a permission set. Then you assign that permission set to users. After that, a validation rule, flow or formula checks the permission with the $Permission global variable. Finally, Salesforce allows or blocks the action based on the result.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"640\" src=\"https:\/\/swapnilzambare.com\/blog\/wp-content\/uploads\/2026\/10\/salesforce-custom-permissions-guide-diagram-1-1024x640.png\" alt=\"Salesforce Custom Permissions diagram showing create, add to permission set, assign, check, allow and block steps\" class=\"wp-image-1406\" srcset=\"https:\/\/swapnilzambare.com\/blog\/wp-content\/uploads\/2026\/10\/salesforce-custom-permissions-guide-diagram-1-1024x640.png 1024w, https:\/\/swapnilzambare.com\/blog\/wp-content\/uploads\/2026\/10\/salesforce-custom-permissions-guide-diagram-1-300x188.png 300w, https:\/\/swapnilzambare.com\/blog\/wp-content\/uploads\/2026\/10\/salesforce-custom-permissions-guide-diagram-1-768x480.png 768w, https:\/\/swapnilzambare.com\/blog\/wp-content\/uploads\/2026\/10\/salesforce-custom-permissions-guide-diagram-1-1536x960.png 1536w, https:\/\/swapnilzambare.com\/blog\/wp-content\/uploads\/2026\/10\/salesforce-custom-permissions-guide-diagram-1-2048x1280.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">How a custom permission controls a validation rule.<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">The $Permission Variable<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Formulas, validation rules and flows read custom permissions with $Permission. For example, $Permission.Edit_Started_Course_Fee returns true when the user has that permission. It returns false when they do not.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Permission Sets and Groups<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">You never assign a custom permission directly to a user. Instead, you add it to a permission set or a permission set group. This keeps all access in the same model you already use.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Required Custom Permissions<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A custom permission can require another custom permission. For example, &#8220;Approve Refunds&#8221; can require &#8220;View Refunds&#8221;. Salesforce then makes sure the second one is also enabled wherever you enable the first.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Custom Permissions vs Profile Checks<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The table below compares custom permissions with checking profile names in rules.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Feature<\/th><th>Profile name check<\/th><th>Custom permission<\/th><\/tr><\/thead><tbody><tr><td>Survives profile rename<\/td><td>No, the rule breaks<\/td><td>Yes<\/td><\/tr><tr><td>Works for many profiles<\/td><td>Needs long OR lists<\/td><td>One check covers all<\/td><\/tr><tr><td>Grant to one extra user<\/td><td>Change their profile<\/td><td>Assign a permission set<\/td><\/tr><tr><td>Easy to audit<\/td><td>Hard, spread across rules<\/td><td>Yes, in permission sets<\/td><\/tr><tr><td>Fits the permission set model<\/td><td>No<\/td><td>Yes<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">When to use which is simple. Avoid profile name checks in new work. Use a custom permission whenever a rule or feature should apply to a specific group of users.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"640\" src=\"https:\/\/swapnilzambare.com\/blog\/wp-content\/uploads\/2026\/10\/salesforce-custom-permissions-guide-diagram-2-1024x640.png\" alt=\"Salesforce Custom Permissions diagram comparing profile name checks and custom permissions\" class=\"wp-image-1407\" srcset=\"https:\/\/swapnilzambare.com\/blog\/wp-content\/uploads\/2026\/10\/salesforce-custom-permissions-guide-diagram-2-1024x640.png 1024w, https:\/\/swapnilzambare.com\/blog\/wp-content\/uploads\/2026\/10\/salesforce-custom-permissions-guide-diagram-2-300x188.png 300w, https:\/\/swapnilzambare.com\/blog\/wp-content\/uploads\/2026\/10\/salesforce-custom-permissions-guide-diagram-2-768x480.png 768w, https:\/\/swapnilzambare.com\/blog\/wp-content\/uploads\/2026\/10\/salesforce-custom-permissions-guide-diagram-2-1536x960.png 1536w, https:\/\/swapnilzambare.com\/blog\/wp-content\/uploads\/2026\/10\/salesforce-custom-permissions-guide-diagram-2-2048x1280.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Profile name check vs custom permission.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">How to Use Salesforce Custom Permissions Step by Step<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Let&#8217;s use Salesforce Custom Permissions at Bright Path Tutors. Once a course has started, only finance users should be able to change its fee.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 1: Create the Custom Permission<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Go to Setup and type &#8220;Custom Permissions&#8221; in Quick Find.<\/li>\n\n<li>Click New.<\/li>\n\n<li>Enter the values from the table below.<\/li>\n\n<li>Then click Save.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">The table below shows the values for this permission.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Field<\/th><th>Value<\/th><\/tr><\/thead><tbody><tr><td>Label<\/td><td>Edit Started Course Fee<\/td><\/tr><tr><td>Name<\/td><td>Edit_Started_Course_Fee<\/td><\/tr><tr><td>Description<\/td><td>Lets finance change the fee after a course starts<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Step 2: Add It to a Permission Set<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Open the &#8220;Finance Team&#8221; permission set.<\/li>\n\n<li>Click Custom Permissions, then Edit.<\/li>\n\n<li>Next, move Edit Started Course Fee to Enabled Custom Permissions.<\/li>\n\n<li>Then click Save and assign the permission set to Meera Iyer in finance.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Step 3: Check It in a Validation Rule<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Go to Object Manager &gt; Course &gt; Validation Rules &gt; New.<\/li>\n\n<li>Name the rule &#8220;Fee_Locked_After_Start&#8221;.<\/li>\n\n<li>Paste the formula below and set an error message.<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>AND(\n  ISCHANGED(Fee__c),\n  Start_Date__c &lt;= TODAY(),\n  NOT($Permission.Edit_Started_Course_Fee)\n)<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">This rule fires when someone changes the fee on a course that has started. However, it skips users who have the custom permission. Use the error message &#8220;Only finance can change the fee after a course starts.&#8221;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 4: Check It in a Flow<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">You can also use Salesforce Custom Permissions in Flow. In a decision element, add a condition with the resource $Permission.Edit_Started_Course_Fee equals True. For screen flows, you can also use it in component visibility, so only permitted users see certain fields.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 5: Test It<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>First, log in as Asha Mehta, a sales rep, and try to change the fee on a started course.<\/li>\n\n<li>Confirm the error message appears.<\/li>\n\n<li>Next, log in as Meera and make the same change.<\/li>\n\n<li>Then confirm the save works.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Bypass Permissions for Data Loads<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A common use of custom permissions is a bypass switch. For example, create &#8220;Bypass Course Validations&#8221; and check it in every Course validation rule. Then assign it only to the integration user or to an admin during a data migration.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This keeps rules strict for everyone else. Also, remove the permission set after the load, so the bypass does not stay open by mistake.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Finding Who Has a Custom Permission<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Admins often need to answer &#8220;Who can do this?&#8221; Open the custom permission in Setup and check which permission sets include it. Then view the assignments of each permission set. Developers can also check permissions in Apex with the FeatureManagement.checkPermission method, which we will cover in the developer series.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Common Mistakes with Salesforce Custom Permissions<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Creating the permission but never adding it to a permission set.<\/li>\n\n<li>Checking profile names in new rules instead of using a custom permission.<\/li>\n\n<li>Leaving bypass permissions assigned after a data load.<\/li>\n\n<li>Using vague names, such as &#8220;Special Access&#8221;, that nobody understands later.<\/li>\n\n<li>Forgetting to write a description that explains where the permission is used.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Best Practices for Salesforce Custom Permissions<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Name each permission after the action it allows, such as &#8220;Edit Started Course Fee&#8221;.<\/li>\n\n<li>Write in the description which rules and flows check it.<\/li>\n\n<li>Assign through permission sets or groups, never through profiles.<\/li>\n\n<li>Use one bypass permission per object for data loads.<\/li>\n\n<li>Review assignments every quarter with your security team.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Practice Task<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Create a custom permission called &#8220;Mark Course Featured&#8221;. Then build a validation rule that blocks changes to an Is Featured checkbox unless the user has it. Hint: use ISCHANGED with the checkbox field and NOT with $Permission.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Most Asked Interview Questions on Salesforce Custom Permissions<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Questions on Salesforce Custom Permissions are common, because they show you know modern access design. Here are the ones asked most.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Basic Questions on Salesforce Custom Permissions<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Q1. What is a custom permission?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It is a permission you create in Setup to control access to a feature or rule. It works only when something checks it, such as a validation rule or flow.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Q2. How do you assign a custom permission?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Add it to a permission set or permission set group, then assign that to users. You can also enable it in a profile, but permission sets are the better choice.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Q3. How do you check a custom permission in a formula?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Use the $Permission global variable, such as $Permission.Edit_Started_Course_Fee. It returns true or false.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Q4. What is a required custom permission?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It is a custom permission that another custom permission depends on. Salesforce enables the required one wherever you enable the main one.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Practical Questions on Salesforce Custom Permissions<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Q5. Why use a custom permission instead of a profile check?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Profile checks break when profiles change and need long lists. A custom permission is one clear check that works across any profile.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Q6. How do you let an integration user skip validation rules?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Create a bypass custom permission, check it in each rule with NOT($Permission&#8230;), and assign it only to the integration user.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Q7. Can you use custom permissions in Flow?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Yes. Use $Permission in decision conditions, formulas and screen component visibility.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Q8. How do developers check custom permissions?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In Apex, they use FeatureManagement.checkPermission with the permission&#8217;s API name.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Official Resources<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=platform.custom_perms_create.htm&amp;type=5\" target=\"_blank\" rel=\"noopener noreferrer\">Create Custom Permissions (Salesforce Help)<\/a><\/li>\n\n<li><a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=sf.perm_sets_custom_perms.htm&amp;type=5\" target=\"_blank\" rel=\"noopener noreferrer\">Enable Custom Permissions in Permission Sets (Salesforce Help)<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Quick Recap<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Salesforce Custom Permissions are switches you create for features and rules.<\/li>\n\n<li>Assign them through permission sets or permission set groups.<\/li>\n\n<li>Check them with $Permission in formulas, validation rules and flows.<\/li>\n\n<li>They replace fragile profile name checks.<\/li>\n\n<li>Use bypass permissions carefully and remove them after loads.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">What&#8217;s Next?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Custom permissions control who can act. Next, we make record pages smarter. Read our guide to <a href=\"https:\/\/swapnilzambare.com\/blog\/salesforce-dynamic-related-lists\/\">Salesforce Dynamic Related Lists<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Salesforce Custom Permissions let you create your own on and off switches for features in your org. You decide who gets each switch through&hellip;<\/p>\n","protected":false},"author":1,"featured_media":1405,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_swapz_level":"","_swapz_series_part":0,"_swapz_hide_toc":false,"_swapz_hide_featured":false,"_swapz_description":"","footnotes":""},"categories":[8,13],"tags":[26,91,18,7,14,17],"swapz_series":[],"class_list":["post-1408","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-salesforce","category-salesforce-admin","tag-intermediate","tag-interview-questions","tag-permission-sets","tag-salesforce","tag-salesforce-admin","tag-security"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Salesforce Custom Permissions Explained Simply<\/title>\n<meta name=\"description\" content=\"Salesforce Custom Permissions explained simply: create them, assign with permission sets, use them in validation rules and flows, plus interview questions.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/swapnilzambare.com\/blog\/salesforce-custom-permissions-guide\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Salesforce Custom Permissions Explained Simply\" \/>\n<meta property=\"og:description\" content=\"Salesforce Custom Permissions explained simply: create them, assign with permission sets, use them in validation rules and flows, plus interview questions.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/swapnilzambare.com\/blog\/salesforce-custom-permissions-guide\/\" \/>\n<meta property=\"og:site_name\" content=\"Swapnil Zambare - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-09T13:30:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/swapnilzambare.com\/blog\/wp-content\/uploads\/2026\/10\/salesforce-custom-permissions-guide-featured.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2400\" \/>\n\t<meta property=\"og:image:height\" content=\"1260\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Swapnil Zambare\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Swapnil Zambare\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/salesforce-custom-permissions-guide\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/salesforce-custom-permissions-guide\\\/\"},\"author\":{\"name\":\"Swapnil Zambare\",\"@id\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/#\\\/schema\\\/person\\\/922ac0131aaa7088c78c2cb1700e0c9a\"},\"headline\":\"Salesforce Custom Permissions: Control Features the Smart Way\",\"datePublished\":\"2026-08-09T13:30:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/salesforce-custom-permissions-guide\\\/\"},\"wordCount\":1537,\"publisher\":{\"@id\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/salesforce-custom-permissions-guide\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/salesforce-custom-permissions-guide-featured.png\",\"keywords\":[\"Intermediate\",\"Interview Questions\",\"Permission Sets\",\"Salesforce\",\"Salesforce Admin\",\"Security\"],\"articleSection\":[\"Salesforce\",\"Salesforce Admin\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/salesforce-custom-permissions-guide\\\/\",\"url\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/salesforce-custom-permissions-guide\\\/\",\"name\":\"Salesforce Custom Permissions Explained Simply\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/salesforce-custom-permissions-guide\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/salesforce-custom-permissions-guide\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/salesforce-custom-permissions-guide-featured.png\",\"datePublished\":\"2026-08-09T13:30:00+00:00\",\"description\":\"Salesforce Custom Permissions explained simply: create them, assign with permission sets, use them in validation rules and flows, plus interview questions.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/salesforce-custom-permissions-guide\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/salesforce-custom-permissions-guide\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/salesforce-custom-permissions-guide\\\/#primaryimage\",\"url\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/salesforce-custom-permissions-guide-featured.png\",\"contentUrl\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/salesforce-custom-permissions-guide-featured.png\",\"width\":2400,\"height\":1260,\"caption\":\"Salesforce Custom Permissions featured image: title card with four key ideas\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/salesforce-custom-permissions-guide\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Salesforce Custom Permissions: Control Features the Smart Way\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/\",\"name\":\"Swapnil Zambare - Blog\",\"description\":\"Salesforce &amp; Tech Guides\",\"publisher\":{\"@id\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/#organization\",\"name\":\"Swapnil Zambare - Blog\",\"url\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/site-icon-512.png\",\"contentUrl\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/site-icon-512.png\",\"width\":512,\"height\":512,\"caption\":\"Swapnil Zambare - Blog\"},\"image\":{\"@id\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/in\\\/theSwapnilZambare\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/#\\\/schema\\\/person\\\/922ac0131aaa7088c78c2cb1700e0c9a\",\"name\":\"Swapnil Zambare\",\"sameAs\":[\"https:\\\/\\\/swapnilzambare.com\\\/blog\"],\"url\":\"https:\\\/\\\/swapnilzambare.com\\\/blog\\\/author\\\/swapnil-zambare\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Salesforce Custom Permissions Explained Simply","description":"Salesforce Custom Permissions explained simply: create them, assign with permission sets, use them in validation rules and flows, plus interview questions.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/swapnilzambare.com\/blog\/salesforce-custom-permissions-guide\/","og_locale":"en_US","og_type":"article","og_title":"Salesforce Custom Permissions Explained Simply","og_description":"Salesforce Custom Permissions explained simply: create them, assign with permission sets, use them in validation rules and flows, plus interview questions.","og_url":"https:\/\/swapnilzambare.com\/blog\/salesforce-custom-permissions-guide\/","og_site_name":"Swapnil Zambare - Blog","article_published_time":"2026-08-09T13:30:00+00:00","og_image":[{"width":2400,"height":1260,"url":"https:\/\/swapnilzambare.com\/blog\/wp-content\/uploads\/2026\/10\/salesforce-custom-permissions-guide-featured.png","type":"image\/png"}],"author":"Swapnil Zambare","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Swapnil Zambare","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/swapnilzambare.com\/blog\/salesforce-custom-permissions-guide\/#article","isPartOf":{"@id":"https:\/\/swapnilzambare.com\/blog\/salesforce-custom-permissions-guide\/"},"author":{"name":"Swapnil Zambare","@id":"https:\/\/swapnilzambare.com\/blog\/#\/schema\/person\/922ac0131aaa7088c78c2cb1700e0c9a"},"headline":"Salesforce Custom Permissions: Control Features the Smart Way","datePublished":"2026-08-09T13:30:00+00:00","mainEntityOfPage":{"@id":"https:\/\/swapnilzambare.com\/blog\/salesforce-custom-permissions-guide\/"},"wordCount":1537,"publisher":{"@id":"https:\/\/swapnilzambare.com\/blog\/#organization"},"image":{"@id":"https:\/\/swapnilzambare.com\/blog\/salesforce-custom-permissions-guide\/#primaryimage"},"thumbnailUrl":"https:\/\/swapnilzambare.com\/blog\/wp-content\/uploads\/2026\/10\/salesforce-custom-permissions-guide-featured.png","keywords":["Intermediate","Interview Questions","Permission Sets","Salesforce","Salesforce Admin","Security"],"articleSection":["Salesforce","Salesforce Admin"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/swapnilzambare.com\/blog\/salesforce-custom-permissions-guide\/","url":"https:\/\/swapnilzambare.com\/blog\/salesforce-custom-permissions-guide\/","name":"Salesforce Custom Permissions Explained Simply","isPartOf":{"@id":"https:\/\/swapnilzambare.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/swapnilzambare.com\/blog\/salesforce-custom-permissions-guide\/#primaryimage"},"image":{"@id":"https:\/\/swapnilzambare.com\/blog\/salesforce-custom-permissions-guide\/#primaryimage"},"thumbnailUrl":"https:\/\/swapnilzambare.com\/blog\/wp-content\/uploads\/2026\/10\/salesforce-custom-permissions-guide-featured.png","datePublished":"2026-08-09T13:30:00+00:00","description":"Salesforce Custom Permissions explained simply: create them, assign with permission sets, use them in validation rules and flows, plus interview questions.","breadcrumb":{"@id":"https:\/\/swapnilzambare.com\/blog\/salesforce-custom-permissions-guide\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/swapnilzambare.com\/blog\/salesforce-custom-permissions-guide\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/swapnilzambare.com\/blog\/salesforce-custom-permissions-guide\/#primaryimage","url":"https:\/\/swapnilzambare.com\/blog\/wp-content\/uploads\/2026\/10\/salesforce-custom-permissions-guide-featured.png","contentUrl":"https:\/\/swapnilzambare.com\/blog\/wp-content\/uploads\/2026\/10\/salesforce-custom-permissions-guide-featured.png","width":2400,"height":1260,"caption":"Salesforce Custom Permissions featured image: title card with four key ideas"},{"@type":"BreadcrumbList","@id":"https:\/\/swapnilzambare.com\/blog\/salesforce-custom-permissions-guide\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/swapnilzambare.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Salesforce Custom Permissions: Control Features the Smart Way"}]},{"@type":"WebSite","@id":"https:\/\/swapnilzambare.com\/blog\/#website","url":"https:\/\/swapnilzambare.com\/blog\/","name":"Swapnil Zambare - Blog","description":"Salesforce &amp; Tech Guides","publisher":{"@id":"https:\/\/swapnilzambare.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/swapnilzambare.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/swapnilzambare.com\/blog\/#organization","name":"Swapnil Zambare - Blog","url":"https:\/\/swapnilzambare.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/swapnilzambare.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/swapnilzambare.com\/blog\/wp-content\/uploads\/2026\/09\/site-icon-512.png","contentUrl":"https:\/\/swapnilzambare.com\/blog\/wp-content\/uploads\/2026\/09\/site-icon-512.png","width":512,"height":512,"caption":"Swapnil Zambare - Blog"},"image":{"@id":"https:\/\/swapnilzambare.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/in\/theSwapnilZambare"]},{"@type":"Person","@id":"https:\/\/swapnilzambare.com\/blog\/#\/schema\/person\/922ac0131aaa7088c78c2cb1700e0c9a","name":"Swapnil Zambare","sameAs":["https:\/\/swapnilzambare.com\/blog"],"url":"https:\/\/swapnilzambare.com\/blog\/author\/swapnil-zambare\/"}]}},"_links":{"self":[{"href":"https:\/\/swapnilzambare.com\/blog\/wp-json\/wp\/v2\/posts\/1408","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/swapnilzambare.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/swapnilzambare.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/swapnilzambare.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/swapnilzambare.com\/blog\/wp-json\/wp\/v2\/comments?post=1408"}],"version-history":[{"count":0,"href":"https:\/\/swapnilzambare.com\/blog\/wp-json\/wp\/v2\/posts\/1408\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/swapnilzambare.com\/blog\/wp-json\/wp\/v2\/media\/1405"}],"wp:attachment":[{"href":"https:\/\/swapnilzambare.com\/blog\/wp-json\/wp\/v2\/media?parent=1408"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/swapnilzambare.com\/blog\/wp-json\/wp\/v2\/categories?post=1408"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/swapnilzambare.com\/blog\/wp-json\/wp\/v2\/tags?post=1408"},{"taxonomy":"swapz_series","embeddable":true,"href":"https:\/\/swapnilzambare.com\/blog\/wp-json\/wp\/v2\/swapz_series?post=1408"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}