I have a flow that guides users through a manual lead conversion, when converting to an opportunity they are able to select the opportunity record type that they want to create. However the flow will give them the option of every available opportunity record type, not just the ones they have permissions for. Is there a declarative solution to this , to only show the ones they have permissions for, without using an apex class?
#Flow #Record Types #Permissionset
Hi Carolyn - the catch is that RecordType is metadata every user can read, so a Get Records or Record Choice Set on RecordType always returns them all, regardless of who is assigned. There is no native 'filter record types by assignment' in Flow. Two routes that need no Apex you write or maintain:
1. UnofficialSF's 'User-Aware Record Type Picker for Flows' - a free installable screen component built for exactly this; it shows only the record types the running user is actually assigned. Cleanest option if you are OK installing a component.
2. Pure-native with Custom Permissions - create one Custom Permission per opportunity record type (or per group), assign each on the same permission set that grants that record type, then set each choice's component visibility (or a Decision) on the running user having that permission via Permission.YourCustomPermission. 100% declarative; the trade-off is you maintain the mapping, so it fits best when the record-type count is small.
Tip: also run the screen flow in User Mode so field/record access is enforced - just note User Mode will not filter the record-type list itself, since that is assignment, not record access.
If this helps, please mark it as the Best Answer so it helps the next person - thanks :)
