UserFieldAccess
Represents the field-level security (FLS) for a specific user on a specific field, such as whether the user can read, create, or update the field.
View-Specific Information
A DurableId value is required to retrieve data from this view. To obtain this value:- Query the FieldDefinition view with a filter by object name or field name to get the relevant DurableId keys. The example below lists all fields on Account:
SELECT DeveloperName, DurableId FROM FieldDefinition WHERE EntityDefinitionId = 'Account'
- Query the standard User object to get the Ids for the users you want to audit:
SELECT Id FROM User
- Query UserFieldAccess by combining the FieldDefinition DurableId and the User Id, separated by a period (for example, FieldDefinition.DurableId + . + User.Id).
For instance, if the FieldDefinition DurableId is 'MyAccount' and the User Id is '0055Y00000AbCdEFG', the query filter is:
SELECT * FROM UserFieldAccess WHERE DurableId = 'MyAccount.0055Y00000AbCdEFG'
Columns
| Name | Type | References | Description |
| Id | String | Unique identifier for the record. | |
| DurableId | String | A composite key combining the field's DurableId (from FieldDefinition) and the User Id (for example, MyAccount.0055Y00000AbCdEF). | |
| UserId | String |
User.Id | Id of the User associated with this record. |
| IsUpdatable | Bool | Indicates whether the record has the Updatable characteristic. | |
| IsCreatable | Bool | Indicates whether the record has the Creatable characteristic. | |
| IsAccessible | Bool | Indicates whether the record has the Accessible characteristic. | |
| EntityDefinitionId | String | Id of the EntityDefinition associated with this record. | |
| FieldDefinitionId | String | Id of the FieldDefinition associated with this record. |
Pseudocolumns
Pseudocolumn fields are used in the WHERE clause of SELECT statements and offer more granular control over the data returned from the data source.
| Name | Type | Description | |
| SOQL | String | Specifies the SOQL query to execute against the Salesforce servers. If this pseudo column is set from the WHERE clause it will take precedence over the original query. | |
| ExternalIdColumn | String | Specifies the external Id column to use if performing an insert. If this value is specified, upsert will be used when the INSERT command is called. | |
| FilterScope | String | Optional scope to limit the records returned from queries. This property can take one of these values: Delegated, Everything, Mine, MineAndMyGroups, My_Territory, My_Team_Territory, or Team. |