Assigning a permission set to a user creates one PermissionSetAssignment record. The quickest path for one or a few users is the Setup UI; for large batches use Data Loader or the API against the PermissionSetAssignment object.
- Open the permission set
From Setup, enter Permission Sets in the Quick Find box and select it, then click the permission set (or permission set group) you want to grant.
- Start a new assignment
Click Manage Assignments, then Add Assignment. Select the checkbox next to each user who should receive the access and click Next.
- Choose an expiration option
Select No expiration date for a permanent grant, or Specify the expiration date and pick a timeframe such as 30 days or a custom date and time zone. This requires the expiration feature enabled in User Management Settings.
- Save the assignment
Click Assign. Salesforce writes the PermissionSetAssignment record and the user immediately gains the permissions in the set.
Lookup to the User who receives the grant. Set at creation and not editable afterward.
The permission set, or permission set group, being granted. One assignment references one of these.
Optional. The date the grant is removed automatically, at 11:59 PM in the time zone you choose.
- The user must already hold any permission set license the set requires, or the assignment fails on insert.
- Guest, Self-Service, integration, and system users do not appear in Manage Assignments. Assign them through the PermissionSetAssignment API object instead.
- AssigneeId and the permission set reference are not updatable. To move access, delete the assignment and create a new one.
- Expired assignments are not returned by plain SOQL. Use the ALL ROWS clause to retrieve expired or soft-deleted rows.