Skip to main content

SF-0229 · Scenario · Medium

Can we bypass validation rules, triggers, workflows etc. while loading the data using a data loader?

✓ Verified by Vikas Singhal · Last reviewed 5/17/2026 · Updated for Spring '26

There’s no “Bypass automation” checkbox in Data Loader. Every operation runs through the standard API, which runs every validation rule, every trigger, every flow, every workflow rule, every duplicate rule, every approval lock — exactly the same as if a user clicked Save in the UI.

That said, bypass is achievable, and most production orgs build for it. You just have to add the bypass in the org’s metadata rather than expecting Data Loader to do it for you.

The standard bypass patterns

1. Custom Permission (best practice)

  1. Create a Custom Permission like Bypass_Account_Validation.
  2. Add it to a permission set, assign that permission set to your data-loading user.
  3. In every validation rule, add to the formula: && NOT($Permission.Bypass_Account_Validation).
  4. In triggers, gate the logic: if (FeatureManagement.checkPermission('Bypass_Account_Triggers')) return;
  5. In flows, evaluate {!$Permission.Bypass_Account_Flows} and route to an early end.

Now your loader user sees a stripped-down automation surface while regular users get the full set.

2. Hierarchy Custom Setting

A Bypass_Settings__c custom setting with checkbox fields (Skip_Account_Triggers__c, Skip_Case_Validations__c) keyed by user or profile. Validation rules and triggers read the setting:

if (Bypass_Settings__c.getInstance().Skip_Account_Triggers__c) return;

Toggling the checkbox for the loader user disables the automation only for them.

3. Profile-based exclusion

For validation rules only, you can add $Profile.Name != 'Integration' to the formula. Crude but effective for small orgs. Doesn’t help with triggers or flows.

What you should not do

  • Don’t deactivate validation rules during the load in production. You’ll forget to switch them back on, and an entirely different user will save bad data through the UI.
  • Don’t disable triggers via Setup → Apex Triggers → Active = false. Production trigger deactivation is a deployment change, not a runtime toggle.
  • Don’t turn off duplicate rules globally for one load. Scope the bypass to your user.

What Data Loader does let you skip

  • Assignment rules — the API has an AssignmentRuleHeader, but Data Loader doesn’t expose it. You can fire them deliberately via Apex, not skip them in Data Loader.
  • Email notifications on Case/LeadEmailHeader.triggerUserEmail = false in the API, again not surfaced in Data Loader’s GUI.
  • For these, use a tool that exposes API headers (Workbench, custom scripts, MuleSoft) or accept the default behaviour.

Decision tree

NeedSolution
Skip validation rule for one loadCustom permission or $Profile.Name in the formula
Skip triggers for an integration userCustom permission read inside the trigger handler
Skip a flow$Permission decision element in the flow
Skip duplicate ruleCustom permission, or scoped duplicate-rule conditions
Skip assignment rulesSwitch to a tool that exposes API headers

Interview-friendly summary

Data Loader runs all automation by default. Bypass is something you design into the org — typically via custom permissions referenced by every rule/trigger/flow. It’s an org-design pattern, not a Data Loader feature.

Verified against: Data Loader Guide, Salesforce Help — Custom Permissions, Metadata API Developer Guide. Last reviewed 2026-05-17 for Spring ‘26 release.