I have added a value to a picklist that is dependent on the value of another picklist. I have added the same value to a different picklist. It is added for particular record types.

When the user of a certain role clicks the proper record type for Opportunity I want that value to be shown in the dependent picklist. Same with the other non-dependent picklist.

When a user is not a certain role I want only the other values to be available in the dependent picklist when clicking this particular record type for Opportunity where I have added the additional value. Same with the other non-dependent picklist.

How do I limit this with roles?

I'd assume I could use a permission set if this was based on profiles.

Can I create a validation rule where if the role equals 'A', 'B', or 'C' show this value?

2 Answers 2


Picklists can only be controlled by Record Types but not by Profiles or Roles. If you are using Record types, you can then configure what picklist options are visible for each record type. If you are not using the Record Types, you can use Validation Rules to ensure Users with specific Profile can only select 2 out of the 5 values.

  • Is there a way when specifying which record types the value will appear in the picklist I can make it so that only particular roles that choose that record type when creating an opportunity can see the value?
    – Cara Cini
    Mar 7, 2019 at 15:17
  • 1
    Not by now using out of the box tools. You could use custom visualforce pages / lightning components to manage visibility, but it involves custom development. This idea has been published in success.salesforce.com/ideaView?id=08730000000BrnO
    – Dahn
    Mar 7, 2019 at 15:25

There is not a way thru Record Type to restrict Picklist values based on Roles (only by Profile).

What you can do?

Use a formula field and the $UserRole.DeveloperName variable to test the Role Name.

If you want to code, you can create a custom VF or a Lightning component.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .