How to Fix the “Can’t Save Skill Assignments” Error in Salesforce
The Problem: Exception Analysis
When a user attempts to modify or add skills to a Service Resource record, the operation fails, and the system throws a toast message or error dialog.
The Exception:
Can’t save skill assignments. Try again later.
While the “Try again later” suggestion implies a temporary server glitch, this is almost always a permanent configuration error related to Field Level Security (FLS) or Object permissions or record level access. The system is preventing the save because the running user lacks the specific authorization to write to the necessary junction objects or fields.
The Resolution: Step-by-Step Fix
To resolve this, you need to update the permissions for the user attempting to make the change (usually a Dispatcher, Resource Manager, or Admin). You can apply these changes via a Profile or, preferably, a Permission Set.
According to Salesforce specifications, the user must meet three specific security criteria.
1. Object-Level Permissions
The user must have Create, Read, and Update (CRU) access to the Service Resource object. Without “Update” rights on the resource itself, they cannot attach related child records (skills).
2. Field-Level Security: Service Resource
On the Service Resource object, ensure the user has specific access to the Active field.
- Required Access: Read Access AND Edit Access.
3. Field-Level Security: Service Resource Skill
This is the most common point of failure. The Service Resource Skill object is the junction object linking a Resource to a Skill. The user needs explicit rights to the following fields:
- End Date: Read and Edit
- Start Date: Read and Edit
- Skill Level: Read and Edit
Note: Even if a user does not intend to set an “End Date” or “Skill Level” manually, Salesforce attempts to write to these fields (or validate them) during the save operation. If Edit access is missing, the save fails.
Summary of Required Configurations
For a quick audit, check the user’s profile or permission set against this table:
| Object | Field / Setting | Required Access |
| Service Resource | Object Permissions | Create, Read, Update |
| Service Resource | Active | Read, Edit |
| Service Resource Skill | End Date | Read, Edit |
| Service Resource Skill | Start Date | Read, Edit |
| Service Resource Skill | Skill Level | Read, Edit |
Recommendations & Best Practices
While the resolution above will fix the immediate error, adhering to Salesforce security best practices ensures your org remains scalable and secure.
1. Use Permission Sets over Profiles
Avoid modifying standard Profiles (like “Standard User”) to fix this. Instead, create a dedicated Permission Set named Field Service - Resource Manager. Add the specific Field Level Security and Object permissions listed above to this set. This allows you to grant this capability only to the specific users who manage resources, adhering to the Principle of Least Privilege.
2. Audit Field Service Personas
Field Service Lightning (FSL) often comes with managed permission sets (e.g., FSL Dispatcher Permissions). Sometimes custom fields or newer standard fields (like Skill Level) are not automatically enabled in cloned custom permission sets. Always compare your custom sets against the standard FSL sets when releases occur.
3. Check for Validation Rules
If you have applied the permissions above and the error persists, check for Validation Rules or Apex Triggers on the ServiceResourceSkill object. A validation rule preventing a specific “Skill Level” range could trigger a generic save error if not properly handled by the UI.
Salesforce Article: