How to Fix INSUFFICIENT_ACCESS_OR_READONLY Error in Salesforce

What Is INSUFFICIENT_ACCESS_OR_READONLY in Salesforce?

The INSUFFICIENT_ACCESS_OR_READONLY error occurs when a user tries to create, update, or delete a record without the required access.

Salesforce blocks the action to enforce:

  • Object-level security
  • Field-level security
  • Record-level sharing

This is one of the most common permission-related errors faced by Salesforce Admins.

Common Error Messages

You may see one of the following:

INSUFFICIENT_ACCESS_OR_READONLY

or

You do not have the appropriate permissions to perform this action

or during automation:

Update failed. First exception on row 0; first error: INSUFFICIENT_ACCESS_OR_READONLY

 

Where This Error Commonly Occurs
  • While editing or deleting records in the UI
  • During record-triggered flows
  • While running data imports
  • During Apex-triggered updates
  • During integrations using a limited-access user
Why INSUFFICIENT_ACCESS_OR_READONLY Happens

 

1. Missing Object Permissions

The user does not have Create, Read, Edit, or Delete access on the object.

2. Field-Level Security Restrictions

Even if the user can edit the record, a restricted field can block the save.

3. Record Ownership or Sharing Issues

The user may:

  • Not own the record
  • Lack role hierarchy access
  • Be blocked by sharing rules
4. Automation Running in User Context

Flows and Apex sometimes run in user context, meaning user permissions still apply.

5. Read-Only Records

Some records are locked due to:

  • Approval processes
  • Closed status
  • Managed package restrictions
How to Fix INSUFFICIENT_ACCESS_OR_READONLY (Admin Steps)

 

✅ Step 1: Identify the Affected User

Check:

  • Who is getting the error
  • Whether it’s a UI user, flow user, or integration user
✅ Step 2: Verify Object Permissions

Go to:

Setup → Profiles / Permission Sets → Object Settings

Ensure the user has the required access.

✅ Step 3: Review Field-Level Security

Confirm that all fields being updated are editable for the user.

✅ Step 4: Check Record Ownership & Sharing

Verify:

  • Record owner
  • Role hierarchy
  • Sharing rules
  • Manual shares
✅ Step 5: Review Automation Context

For flows:

  • Confirm “Run in system context” settings
  • Check which user is executing the automation

For integrations:

  • Ensure the integration user has full required access
How to Prevent This Error
  • Use permission sets instead of profile changes
  • Create dedicated integration users
  • Document automation execution context
  • Test flows using real user profiles
  • Avoid hard dependencies on record ownership
Who Should Handle This Error?

 

Primary Role
  • 👩‍💼 Salesforce Admin

Admins control:

  • Profiles
  • Permission sets
  • Sharing rules
  • Automation access
Secondary Role
  • 🧠 Salesforce Architect (for org-wide security design)
Admin Quick Checklist
  • ✔ Confirm user permissions
  • ✔ Review field-level security
  • ✔ Validate sharing settings
  • ✔ Check automation execution context

 

Get the latest tips, news, updates, advice, inspiration, and more….

Need help fixing this in your org?

Our Salesofrce experts can debug and resolve this issue quickly.