Skip to main content
How to deploy Picklist changes on Standard and Custom Fields

How do you deploy new picklist values on Standard and Custom Fields?

Kevin Boyle avatar
Written by Kevin Boyle
Updated over 2 weeks ago

Sometimes the metadata used to represent a change made in Salesforce doesn't quite line up with what the Salesforce UI would lead you to believe. An example of this is picklist values on Standard Fields - for instance, the values of the Account Source field on the Account standard object.

The Salesforce UI makes it look as if the field actually stores the value, but the reality is that the values are stored in another metadata type called a Standard Value Set.
โ€‹
And the actual field definition for Account Source is only a reference to the Standard Value Set.

How to find changes made in picklists

To find changes to your picklists, run a comparison that includes these 3 metadata types in your custom filter:
- Standard Value Set, Global Value Set and Custom Object

You can then filter the comparison results, and find the changes you're interested in.

Note on deleting picklist values:
It's a documented limitation of the Metadata API deletions of picklist values aren't supported by Salesforce Metadata API.

Instead, the value become inactive when you deploy their deletions from the source environment.
โ€‹
This behavior is the same for Custom Fields - it's because the Metadata API treats Standard and Custom Fields as one type.

Did this answer your question?