Context:
We have a Screen Flow (processType: Flow, API v62.0, no explicit runInMode) that queries a Custom Metadata Type (Mapping_Trade_Media__mdt) using a Get Records element with storeOutputAutomatically=true. The flow then references the Media__c field from that lookup to create a SalesTeam__c record.
Problem:
User A can execute the flow successfully. User B gets the following error at the Create Records step:
What we've verified:
- Both users are on the same Profile
- Both users have the same Permission Sets (User B actually has 2 additional PS)
- Neither user has ViewAllData, ModifyAllData, or CustomizeApplication
- The Custom Metadata Type has visibility: Public
- The field Media__c has fieldManageability: DeveloperControlled
#Custom Metadata
Hi Louise - the CMT read is not the problem (its Public visibility works, which is why User A gets through). 'field is not available for the current user' at Create Records is a field-level security error on a field you are SETTING on the new SalesTeam record - the running user needs Edit (FLS) on every field the Create writes, and User B is missing it on one of them.
Two things that make this click:
1. Run mode will not fix it. Salesforce enforces FLS on record fields even in System context ('system context does not apply to record fields'), so runInMode cannot bypass this - it has to be a field-permission fix.
2. 'More permission sets' is a red herring - what matters is Edit on that one field, not the count. The classic reason someone has MORE permission sets but LESS field access is a Muting Permission Set inside a Permission Set Group they belong to, which mutes that field's Edit. Check every group User B is in for a muting set.
Fastest way to pinpoint it:
- Debug the flow as User B (Flow Debug, 'Run as another user') - the error will name the exact field.
- Check that field's Edit access for User B (Object Manager, the field, Field-Level Security) and look for muting in their permission set groups.
- Compare A vs B on that ONE field's Edit, not their overall permission set list.
Grant User B Edit on that target field (or remove the muting) and it will pass.
If this helps, please mark it as the Best Answer so it helps the next person - thanks :)