{"id":13046,"date":"2026-07-20T06:01:31","date_gmt":"2026-07-20T06:01:31","guid":{"rendered":"https:\/\/www.greytrix.com\/blogs\/salesforce\/?p=13046"},"modified":"2026-07-20T06:01:32","modified_gmt":"2026-07-20T06:01:32","slug":"how-to-bypass-validation-rules-in-salesforce-flow-using-custom-permissions","status":"publish","type":"post","link":"https:\/\/www.greytrix.com\/blogs\/salesforce\/2026\/07\/20\/how-to-bypass-validation-rules-in-salesforce-flow-using-custom-permissions\/","title":{"rendered":"How to Bypass Validation Rules in Salesforce Flow Using Custom Permissions"},"content":{"rendered":"\n<p>Validation Rules are one of Salesforce&#8217;s most powerful declarative features for maintaining data quality. They ensure that users enter complete and accurate information by preventing records from being saved when business rules are violated.<\/p>\n\n\n\n<p>However, not every update originates from a user. Modern Salesforce implementations rely heavily on Record-Triggered Flows, Scheduled Flows, Platform Events, and integrations to automate business processes. These automated processes often need to update fields that users are intentionally restricted from editing.<\/p>\n\n\n\n<p>For example, an integration may need to update an Opportunity that has already been marked as Closed Won, or a Scheduled Flow may need to populate renewal information on records that are otherwise locked by Validation Rules.<\/p>\n\n\n\n<p>The challenge is enabling trusted automation to perform these updates without weakening the Validation Rules that protect data quality for end users.<\/p>\n\n\n\n<p>In this blog, we&#8217;ll explore a secure, scalable, and reusable approach using Custom Permissions to selectively bypass Validation Rules for Salesforce automation.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">Business Scenario<\/mark><\/strong><\/h2>\n\n\n\n<p>Consider a technology company that uses Salesforce to manage its sales pipeline.<\/p>\n\n\n\n<p>To maintain the integrity of completed deals, the Salesforce Administrator has implemented a Validation Rule that prevents users from editing a Closed Won Opportunity.<\/p>\n\n\n\n<p><strong>Business Rule<\/strong><\/p>\n\n\n\n<p>Once an Opportunity reaches Closed Won, users should not be able to modify important business fields such as:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Opportunity Name<\/li>\n\n\n\n<li>Amount<\/li>\n\n\n\n<li>Close Date<\/li>\n\n\n\n<li>Contract Start Date<\/li>\n<\/ul>\n\n\n\n<p>This rule works perfectly for sales users.<\/p>\n\n\n\n<p>However, the company introduces a Record-Triggered Flow that automatically updates renewal information after the Opportunity is won.<\/p>\n\n\n\n<p>The Flow needs to:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Calculate the Renewal Date<\/li>\n\n\n\n<li>Populate the Renewal Owner<\/li>\n\n\n\n<li>Update Contract Status<\/li>\n\n\n\n<li>Generate Renewal Reminders<\/li>\n<\/ul>\n\n\n\n<p>When tested, the Flow fails because the Validation Rule blocks the update.<\/p>\n\n\n\n<p>The business now faces three options:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Disable the Validation Rule and risk poor data quality.<\/li>\n\n\n\n<li>Rewrite the automation in Apex.<\/li>\n\n\n\n<li>Implement a controlled Validation Rule bypass mechanism.<\/li>\n<\/ul>\n\n\n\n<p>The third option provides the best balance between automation and governance.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">Solution Overview<\/mark><\/strong><\/h2>\n\n\n\n<p>Instead of disabling the Validation Rule, we&#8217;ll allow only trusted automation users to bypass it using Custom Permissions.<\/p>\n\n\n\n<p><strong>Step 1: Create a Custom Permission<\/strong><\/p>\n\n\n\n<p>Navigate to:<\/p>\n\n\n\n<p><strong>Setup \u2192 Custom Permissions<\/strong><\/p>\n\n\n\n<p>Create a new Custom Permission.<\/p>\n\n\n\n<p><strong>Example:<\/strong><\/p>\n\n\n\n<p>Bypass_Opportunity_Validation<\/p>\n\n\n\n<center><a href=\"https:\/\/www.greytrix.com\/blogs\/salesforce\/wp-content\/uploads\/2026\/07\/imageblog.1.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" class=\"size-full\" style=\"border: 1px solid #A9A9A9; padding: 2px; margin: 2px; align: center;\" src=\"https:\/\/www.greytrix.com\/blogs\/salesforce\/wp-content\/uploads\/2026\/07\/imageblog.1.png\" alt=\"Create Custom Permission\"><\/a><\/center><font size=\"2\"><center><i>Create Custom Permission<\/i><\/center><\/font> \n\n\n\n<p><strong>Step 2: Create a Permission Set<\/strong><\/p>\n\n\n\n<p>Navigate to:<\/p>\n\n\n\n<p><strong>Setup \u2192 Permission Sets<\/strong><\/p>\n\n\n\n<p>Create a new Permission Set.<\/p>\n\n\n\n<p><strong>Example<\/strong>:\u00a0 <\/p>\n\n\n\n<p>Automation User Permissions<br>Add the newly created Custom Permission to the Permission Set.<br><br>Assign this Permission Set only to trusted users such as:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Integration User<\/li>\n\n\n\n<li>Automation User<\/li>\n\n\n\n<li>Middleware User<\/li>\n<\/ul>\n\n\n\n<p><strong>Important:<\/strong> Do not assign this Permission Set to regular business users.<\/p>\n\n\n\n<center><figure><a href=\"https:\/\/www.greytrix.com\/blogs\/salesforce\/wp-content\/uploads\/2026\/07\/imageblog.2.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" class=\"size-full\" style=\"border: 1px solid #A9A9A9; padding: 2px; margin: 2px; align: center;\" src=\"https:\/\/www.greytrix.com\/blogs\/salesforce\/wp-content\/uploads\/2026\/07\/imageblog.2.png\" alt=\"Permission Set Configuration\"><\/a><\/figure><\/center>\n\n\n\n<p><strong><\/strong><strong>Step 3: Modify the Validation Rule<\/strong><\/p>\n\n\n\n<p>Suppose your existing Validation Rule prevents users from editing Closed Won Opportunities.<\/p>\n\n\n\n<p><strong>Before<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>AND(<br>ISPICKVAL(StageName,\"Closed Won\"),<br>ISCHANGED(Amount)<br>)<\/code><\/pre>\n\n\n\n<p>This rule blocks everyone.<\/p>\n\n\n\n<p><strong>After<\/strong><\/p>\n\n\n\n<p>Update the Validation Rule to check for the Custom Permission.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>AND(<br>ISPICKVAL(StageName,\"Closed Won\"),<br>ISCHANGED(Amount),<br>NOT($Permission.Bypass_Opportunity_Validation)<br>)<\/code><\/pre>\n\n\n\n<p>Now the Validation Rule behaves intelligently.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>If the running user does not have the Custom Permission \u2192 the Validation Rule executes normally.<\/li>\n\n\n\n<li>If the running user has the Custom Permission \u2192 the Validation Rule is skipped.<\/li>\n<\/ul>\n\n\n\n<center><a href=\"https:\/\/www.greytrix.com\/blogs\/salesforce\/wp-content\/uploads\/2026\/07\/imageblog.3.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" class=\"size-full\" style=\"border: 1px solid #A9A9A9; padding: 2px; margin: 2px; align: center;\" src=\"https:\/\/www.greytrix.com\/blogs\/salesforce\/wp-content\/uploads\/2026\/07\/imageblog.3.png\" alt=\"Updated Validation Rule\"><\/a><\/center><font size=\"2\"><center><i>Updated Validation Rule<\/i><\/center><\/font> \n\n\n\n<p><strong>Step 4: Configure Your Flow<\/strong><\/p>\n\n\n\n<p>Create a Record-Triggered Flow that performs the required updates.<\/p>\n\n\n\n<p>Since the Flow runs using a user with the Custom Permission, it can successfully update the record without being blocked by the Validation Rule.<\/p>\n\n\n\n<center><a href=\"https:\/\/www.greytrix.com\/blogs\/salesforce\/wp-content\/uploads\/2026\/07\/imageblog.4.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" class=\"size-full\" style=\"border: 1px solid #A9A9A9; padding: 2px; margin: 2px; align: center;\" src=\"https:\/\/www.greytrix.com\/blogs\/salesforce\/wp-content\/uploads\/2026\/07\/imageblog.4.png\" alt=\"Flow Configuration\"><\/a><\/center><font size=\"2\"><center><i>Flow Configuration<\/i><\/center><\/font>\n\n\n\n<center><a href=\"https:\/\/www.greytrix.com\/blogs\/salesforce\/wp-content\/uploads\/2026\/07\/imageblog.5.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" class=\"size-full\" style=\"border: 1px solid #A9A9A9; padding: 2px; margin: 2px; align: center;\" src=\"https:\/\/www.greytrix.com\/blogs\/salesforce\/wp-content\/uploads\/2026\/07\/imageblog.5.png\" alt=\"Flow Configuration\"><\/a><\/center><font size=\"2\"><center><i>Flow Configuration<\/i><\/center><\/font>\n\n\n\n<center><a href=\"https:\/\/www.greytrix.com\/blogs\/salesforce\/wp-content\/uploads\/2026\/07\/imageblog.6.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" class=\"size-full\" style=\"border: 1px solid #A9A9A9; padding: 2px; margin: 2px; align: center;\" src=\"https:\/\/www.greytrix.com\/blogs\/salesforce\/wp-content\/uploads\/2026\/07\/imageblog.6.png\" alt=\"User vs Automation Behaviour Comparison\"><\/a><\/center><font size=\"2\"><center><i>User vs Automation Behaviour Comparison<\/i><\/center><\/font>\n\n\n\n<h2 class=\"wp-block-heading\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\"><strong>Benefits of This Approach<\/strong><\/mark><\/h2>\n\n\n\n<p>Using Custom Permissions to bypass Validation Rules offers several advantages:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Secure and controlled access to bypass Validation Rules.<\/li>\n\n\n\n<li>No Apex code required.<\/li>\n\n\n\n<li>Reusable across multiple Validation Rules.<\/li>\n\n\n\n<li>Easy to maintain and scale.<\/li>\n\n\n\n<li>Preserves data quality for business users.<\/li>\n\n\n\n<li>Allows trusted automation and integrations to run without interruption.<\/li>\n\n\n\n<li>Aligns with Salesforce security and governance best practices.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\"><strong>Conclusion<\/strong><\/mark><\/h2>\n\n\n\n<p>Validation Rules and automation should complement each other\u2014not compete.<\/p>\n\n\n\n<p>While Validation Rules protect the quality and consistency of Salesforce data, automated business processes often need the flexibility to update records that users cannot modify.<\/p>\n\n\n\n<p>Using Custom Permissions provides a secure, declarative, and scalable way to selectively bypass Validation Rules without compromising security or maintainability. By granting bypass access only to trusted automation and integration users, organizations can maintain strong data governance while ensuring that Flows and integrations continue to operate reliably and efficiently.<\/p>\n\n\n\n<p>By following the above blog instructions, you will be able to learn \u201c<strong>How to Bypass Validation Rules in Salesforce Flow Using Custom Permissions<\/strong>\u201c. If you still have queries or any related problems, don\u2019t hesitate to contact us at <a href=\"mailto:salesforce@greytrix.com\" target=\"_blank\" rel=\"noreferrer noopener\">salesforce@greytrix.com<\/a>. More details about our integration product are available on <a href=\"https:\/\/www.greytrix.com\/salesforce-cloud-services\/\" target=\"_blank\" rel=\"noreferrer noopener\">our website<\/a> and <a href=\"https:\/\/appexchange.salesforce.com\/appxListingDetail?listingId=a0N30000000psM5EAI\" target=\"_blank\" rel=\"noreferrer noopener\">Salesforce AppExchange<\/a>.<br>We hope you may find this blog resourceful and helpful. However, if you still have concerns and need more help, please contact us at <a href=\"mailto:salesforce@greytrix.com\" target=\"_blank\" rel=\"noreferrer noopener\">salesforce@greytrix.com<\/a>.<\/p>\n\n\n\n<p style=\"text-align: justify\"><b>About Us<\/b><\/br>\n<p><a href=\"https:\/\/www.greytrix.com\/\">Greytrix<\/a> \u2013 a globally recognized and one of the oldest Sage Development Partner and a Salesforce Product development partner offers a wide variety of integration products and services to the end users as well as to the Partners and Sage PSG across the globe. We offer Consultation, Configuration, Training and support services in out-of-the-box functionality as well as customizations to incorporate custom business rules and functionalities that require apex code incorporation into the Salesforce platform.<br><br> Greytrix has some unique solutions for Cloud CRM such as <a href=\"\">Salesforce Sage integration<\/a> for <a href=\"https:\/\/www.greytrix.com\/sage-x3-erp\/integration\/\">Sage X3<\/a>, <a href=\"https:\/\/www.greytrix.com\/salesforce-cloud-services\/sage-100-integration\/\">Sage 100<\/a> and <a href=\"https:\/\/www.greytrix.com\/salesforce-cloud-services\/sage-300-integration\/\">Sage 300 (Sage Accpac)<\/a>. We also offer best-in-class Cloud CRM <a href=\"https:\/\/www.greytrix.com\/salesforce-cloud-services\/crm-development\/\">Salesforce customization and development services<\/a> along with services such as Salesforce <a href=\"https:\/\/www.greytrix.com\/salesforce-cloud-services\/data-migration-support\/\">Data Migration<\/a>, <a href=\"https:\/\/www.greytrix.com\/salesforce-cloud-services\/crm-development\/\">Integrated App development<\/a>, Custom App development and Technical Support business partners and end users. Salesforce Cloud CRM integration offered by Greytrix works with Lightning web components and supports standard opportunity workflow. Greytrix GUMU&#x2122; integration for Sage ERP \u2013 Salesforce is a 5-star rated app listed on <a href=\"https:\/\/appexchange.salesforce.com\/appxListingDetail?listingId=a0N30000000psM5EAI\" target=\"_blank\" rel=\"noopener\">Salesforce AppExchange<\/a>.<br> The GUMU&#x2122; Cloud framework by Greytrix forms the backbone of cloud integrations that are managed in real-time for processing and execution of application programs at the click of a button.<br><br> For more information on our Salesforce products and services, contact us at <a href=\"mailto:salesforce@greytrix.com\">salesforce@greytrix.com<\/a>. We will be glad to assist you.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Validation Rules are one of Salesforce&#8217;s most powerful declarative features for maintaining data quality. They ensure that users enter complete and accurate information by preventing records from being saved when business rules are violated. However, not every update originates from a user. Modern Salesforce implementations rely heavily on Record-Triggered Flows, Scheduled Flows, Platform Events, and\u2026 <span class=\"read-more\"><a href=\"https:\/\/www.greytrix.com\/blogs\/salesforce\/2026\/07\/20\/how-to-bypass-validation-rules-in-salesforce-flow-using-custom-permissions\/\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[1866,3501,62,2342,3502,3494,3498,3504,3508,2646,1381,3497,3506,3496,1402,3493,1711,3490,367,2467,3418,1709,3511,3516,2457,3507,3228,2048,3500,3517,2507,3083,392,1712,2469,3513,2570,397,3514,3505,882,3518,3510,3515,1984,2329,3512,3503,2108,3495,2111,2918,3491,3489,2136,2138,2645,1241,3509,3499,3492],"class_list":["post-13046","post","type-post","status-publish","format-standard","hentry","category-gumu-salesforce","tag-automation","tag-bypass-validation-rules","tag-crm","tag-crm-automation","tag-custom-permissions","tag-custompermissions","tag-declarativedevelopment","tag-flow-automation","tag-flow-best-practices","tag-flowautomation","tag-flowbuilder","tag-lowcode","tag-no-apex","tag-nocode","tag-permission-sets","tag-permissionsets-2","tag-record-triggered-flow","tag-recordtriggeredflow","tag-salesforce","tag-salesforce-admin","tag-salesforce-architecture","tag-salesforce-automation","tag-salesforce-automation-tips","tag-salesforce-automation-user","tag-salesforce-best-practices","tag-salesforce-business-automation","tag-salesforce-configuration","tag-salesforce-crm","tag-salesforce-custom-permissions","tag-salesforce-data-validation","tag-salesforce-declarative-automation","tag-salesforce-developer","tag-salesforce-development","tag-salesforce-flow","tag-salesforce-flow-builder","tag-salesforce-flow-tutorial","tag-salesforce-governance","tag-salesforce-integration","tag-salesforce-integration-user","tag-salesforce-low-code","tag-salesforce-permission-sets","tag-salesforce-productivity","tag-salesforce-record-update","tag-salesforce-record-triggered-automation","tag-salesforce-security","tag-salesforce-security-best-practices","tag-salesforce-tutorial","tag-salesforce-validation-rules","tag-salesforceadmin","tag-salesforcearchitecture","tag-salesforceautomation","tag-salesforcebestpractices","tag-salesforcedeveloper","tag-salesforceflow","tag-salesforceintegration","tag-salesforcesecurity","tag-salesforcetips","tag-screenflow","tag-validation-rule-bypass","tag-validation-rules","tag-validationrules"],"_links":{"self":[{"href":"https:\/\/www.greytrix.com\/blogs\/salesforce\/wp-json\/wp\/v2\/posts\/13046","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.greytrix.com\/blogs\/salesforce\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.greytrix.com\/blogs\/salesforce\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.greytrix.com\/blogs\/salesforce\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.greytrix.com\/blogs\/salesforce\/wp-json\/wp\/v2\/comments?post=13046"}],"version-history":[{"count":9,"href":"https:\/\/www.greytrix.com\/blogs\/salesforce\/wp-json\/wp\/v2\/posts\/13046\/revisions"}],"predecessor-version":[{"id":13061,"href":"https:\/\/www.greytrix.com\/blogs\/salesforce\/wp-json\/wp\/v2\/posts\/13046\/revisions\/13061"}],"wp:attachment":[{"href":"https:\/\/www.greytrix.com\/blogs\/salesforce\/wp-json\/wp\/v2\/media?parent=13046"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.greytrix.com\/blogs\/salesforce\/wp-json\/wp\/v2\/categories?post=13046"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.greytrix.com\/blogs\/salesforce\/wp-json\/wp\/v2\/tags?post=13046"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}