Wherefore art Thou Salesforce Picklist Field History?
A client requested to update the picklist values for the Lead Source field on the Leads Object. They had a lovely spreadsheet of the picklist values they wanted to delete and the new picklist values they wanted to add. In addition, they wanted to migrate the old Lead Source value on the record to the custom Lead Source Detail text field. This added task meant exporting the values of Lead Source and importing them to the Lead Source Detail text field through the Data Loader. New to the job, I was ready for the task at hand.
D-Day arrives; I back up the Leads Object and perform the data export and import of Lead Source to Lead Source Detail field. Then I go to Setup-> Leads->Fields->Lead Source and delete the old picklist values, selecting the new picklist field to replace the deleted value.
It’s done! I confirmed with the client and they were pleased
with the results. I was on top of the world. A few weeks later, the client asked to retain the old Lead Source values in the Lead Source Detail field on the Opportunity Object as well. But wait! I didn’t back up the values on the opportunity. Since Lead Source on the Leads Object maps to Lead Source on the Opportunity Object, the update changed the values on all Opportunities as well. No fear, I will use Track History to retrieve the old value.
I went to Reports -> New Report -> Opportunities Field History and created a report to retrieve picklist field edits performed on the day. I ran the report I came up with 0 results. What!
It turns out that making the changes to the picklist values in Setup does not meet the criteria of editing a record for field tracking. I made the changes on the back end, which technically did not edit the records. Thus, was not able to retrieve the old values through Field Tracking.
Field Tracking only recognizes edits that updates on the record level. For example, one cannot set Field Tracking on a formula field. The value of the field is derived from other values and thus is not editable. But if you have a workflow that updates a field when the record is created, every time it’s edited and created, or any time it’s edited to subsequently meet criteria, that field can be tracked.
Always remember, making picklist value updates in setup removes the ability to use Field History for those changes!