When creating a new Chatter Free user in Salesforce (as we’ve done many times) I am now receiving an error related to the Skuid Apex Trigger on the User. I cannot view the apex code to identify the cause of the error, as this is part of a managed package. I’m stumped at this point, because this is the first time we’ve encountered this error and we have made no changes to our internal setup or user creation processes.
Here is the error:
Error: Invalid Data.
Review all error messages below to correct your data.
Apex trigger skuid.User caused an unexpected exception, contact your administrator: skuid.User: execution of AfterInsert caused by: System.DmlException: Insert failed. First exception on row 0; first error: FIELD_INTEGRITY_EXCEPTION, The user license doesn’t allow Field-Level Security: : Class.skuid.UserUtils.assignPermissions: line 115, column 1
Hi, Jessica. Skuid provides a feature out of the box to automatically assign a license to Skuid and one of our Permission Sets to new users. From the Skuid settings screens, you can customize the logic to be based on criteria like User Profile so that you aren’t assigning licenses to users who won’t be using (or can’t use) Skuid. When we see this error, it’s usually that those rules need to be adjusted to exclude the profile of the user you are creating.
In this case, it looks like your user’s Salesforce license type doesn’t allow for Field-Level Security to be set, but in order to use Skuid, you need field-level security to our objects. When the auto assignment trigger tries to add the Skuid Page Viewer Permission Set, Salesforce returns that error. Does that make sense?
Yes this makes sense, and I will investigate our settings now.
However, this is the first time I’ve encountered this error, yet I have created many Chatter free users over the past year without fail. Any ideas why this error is occurring for the first time today?
I did a quick search through the Salesforce Spring 20 release notes about this, and I didn’t see anything, but could it be that the last time you tried to do this was before your Org got updated to Spring 20? It seems this could be a change on the Salesforce side where this was allowed before, but no longer is. Do some of your older Chatter Free users have the permission set maybe?