Note: The Insufficient Access event type is disabled by default. You can enable this event type for a period of 24 hours by contacting Salesforce Customer Support.
Insufficient Access events contain details about errors relating to insufficient account, case, contact, and opportunity record access, so that you can troubleshoot and resolve access issues for your users. The following error scenarios are currently logged:
In this article, we look at example event log files for these insufficient record access errors. Note that these errors can occur through manual operations as well as if the operation is triggered by flows or Apex code.
For descriptions of the Insufficient Access Event Type fields, see the Object Reference topic. For details about event monitoring, see the Trailhead Event Monitoring module (which includes info on querying event log files) or REST API Developer’s Guide.
We recommend that you review the ACTUAL_LOGGED_IN_USER_ID, USER_ID, RECORD_ID, ENTITY_TYPE, ACCESS_ERROR, REQUESTED_ACCESS_LEVEL, and ERROR_DESCRIPTION fields, as they are the most helpful in troubleshooting errors. You can use fields like REQUEST_ID, ERROR_TIMESTAMP, and USER_ID to confirm that you’re looking at the correct access error.
Edwin is the owner of Case C1, but isn’t the owner of the case’s parent account, Account A1. Edwin has edit access to Account A1 and is not above the account’s owner in the role hierarchy. Edwin attempts to share Case C1 with a team member, but Edwin sees an error and can’t complete the operation. After Edwin sees the error, the admin can query the event log file. The admin sees that there are two logs with the same REQUEST_ID. The admin focuses on these values:
Log 1:| Field | Value |
| EVENT_TYPE | InsufficientAccess |
| USER_ID | 005XXXXXXXXXXX1 (Edwin) |
| RECORD_ID | 001XXXXXXXXXXX2 |
| ENTITY_TYPE | Account |
| ACCESS_ERROR | NO_ACCESS |
| REQUESTED_ACCESS_LEVEL | FULL |
| ERROR_DESCRIPTION | User 005XXXXXXXXXXX1 doesn't have full access for the record 001XXXXXXXXXXX2. |
| ACTUAL_LOGGED_IN_USER_ID | 005XXXXXXXXXXX1 (Edwin) |
| Field | Value |
| EVENT_TYPE | InsufficientAccess |
| USER_ID | 005XXXXXXXXXXX1 (Edwin) |
| RECORD_ID | 500XXXXXXXXXXX3 |
| ENTITY_TYPE | Case |
| ACCESS_ERROR | NO_ACCESS |
| REQUESTED_ACCESS_LEVEL | READ |
| ERROR_DESCRIPTION | Can’t share record 500XXXXXXXXXXX3 to the user 005XXXXXXXXXXX4. |
| ACTUAL_LOGGED_IN_USER_ID | 005XXXXXXXXXXX1 (Edwin) |
Note that this same error can occur for contact or opportunity records that are children of accounts.
Anand is the owner of Contact C1, but isn’t the owner of the contact’s parent account, Account A1. Because he owns Contact C1, Anand has implicit read access to Account A1. Anand tries to transfer ownership of Contact C1 to his teammate Ciara, but Anand sees an error and can’t complete the operation. After Anand sees the error, the admin can query the event log file. The admin sees that there are two logs with the same REQUEST_ID. The admin focuses on these values:
| Field | Value |
| EVENT_TYPE | InsufficientAccess |
| USER_ID | 005XXXXXXXXXXX2 (Ciara) |
| RECORD_ID | 001XXXXXXXXXXX4 |
| ENTITY_TYPE | Account |
| ACCESS_ERROR | NO_ACCESS |
| REQUESTED_ACCESS_LEVEL | READ |
| ERROR_DESCRIPTION | User 005XXXXXXXXXXX2 doesn't have read access for the record 001XXXXXXXXXXX4. |
| ACTUAL_LOGGED_IN_USER_ID | 005XXXXXXXXXXX3 (Anand) |
| Field | Value |
| EVENT_TYPE | InsufficientAccess |
| USER_ID | 005XXXXXXXXXXX3 (Anand) |
| RECORD_ID | 001XXXXXXXXXXX4 |
| ENTITY_TYPE | Account |
| ACCESS_ERROR | NO_ACCESS |
| REQUESTED_ACCESS_LEVEL | FULL |
| ERROR_DESCRIPTION | User 005XXXXXXXXXXX3 doesn't have full access for the record 001XXXXXXXXXXX4. |
| ACTUAL_LOGGED_IN_USER_ID | 005XXXXXXXXXXX3 (Anand) |
Note that this same error can occur for case or opportunity records that are children of accounts.
Edwin is the owner of Opportunity O1, but isn’t the owner of the opportunity’s parent account, Account A1. A teammate, Charlie, is granted edit access to Opportunity O1 through a manual share. Charlie tries to change the parent account on Opportunity O1 to Account A2. Note that Charlie isn’t the owner of Account A2 (he has only edit access and is below the account owner in the role hierarchy) and Edwin doesn’t have access to Account A2. Charlie sees an error and can’t complete the operation. After Charlie sees the error, the admin can query the event log file. The admin sees that there are two logs with the same REQUEST_ID. The admin focuses on these values:
| Field | Value |
| EVENT_TYPE | InsufficientAccess |
| USER_ID | 005XXXXXXXXXXX1 (Edwin) |
| RECORD_ID | 001XXXXXXXXXXX4 |
| ENTITY_TYPE | Account |
| ACCESS_ERROR | NO_ACCESS |
| REQUESTED_ACCESS_LEVEL | READ |
| ERROR_DESCRIPTION | User 005XXXXXXXXXXX1 doesn't have read access for the record 001XXXXXXXXXXX4. |
| ACTUAL_LOGGED_IN_USER_ID | 005XXXXXXXXXXX2 (Charlie) |
| Field | Value |
| EVENT_TYPE | InsufficientAccess |
| USER_ID | 005XXXXXXXXXXX2 (Charlie) |
| RECORD_ID | 001XXXXXXXXXXX4 |
| ENTITY_TYPE | Account |
| ACCESS_ERROR | NO_ACCESS |
| REQUESTED_ACCESS_LEVEL | FULL |
| ERROR_DESCRIPTION | User 005XXXXXXXXXXX2 doesn't have full access to the record 001XXXXXXXXXXX4. |
| ACTUAL_LOGGED_IN_USER_ID | 005XXXXXXXXXXX2 (Charlie) |
000396437

We use three kinds of cookies on our websites: required, functional, and advertising. You can choose whether functional and advertising cookies apply. Click on the different cookie categories to find out more about each category and to change the default settings.
Privacy Statement
Required cookies are necessary for basic website functionality. Some examples include: session cookies needed to transmit the website, authentication cookies, and security cookies.
Functional cookies enhance functions, performance, and services on the website. Some examples include: cookies used to analyze site traffic, cookies used for market research, and cookies used to display advertising that is not directed to a particular individual.
Advertising cookies track activity across websites in order to understand a viewer’s interests, and direct them specific marketing. Some examples include: cookies used for remarketing, or interest-based advertising.