How to enable more than 20 fields for Field History tracking?
While using Salesforce Field History tracking feature for auditing field value updates, sometimes the 20 field limit applied by Salesforce can be challenging. If you had a reason to add 2 more fields needed by your organization business need, you will have to prioritize out of the given 22 which are the highest so you have to choose the most important ones for tracking and make a unwanted decision.
The only way which most developers or consultants would imagine would be to write a trigger and track the changes in a new object. For several reasons it is an unacceptable solutions. First, it requires writing code which would need maintenance and second it would mean extra storage space.
In this document, we will see how Field History Tracking can be done for more than 20 fields without writing code or needing custom object. This however is not a setting, but a series of configuration steps.
This approach uses a custom Text field which stores values of multiple other individual fields. Then enabling field history tracking of this field would allow you to track changes for multiple sets of other individual fields. Thus even though remaining within the count limit 20, yet track changes of more than 20 fields.
Let us in this example take “Incident” object and apply the steps to track change in Urgency, Impact, Priority and Due Date all together.
Step 1: Add a new custom field.
Setup -> Create -> Objects-> Incident
Create a new Text (255) field “Track UIPD” (Or give any other name of your choice.
Step 2: Create a workflow on Incident object with the following:
Event: On Create/Update
Criteria: On any change of Urgency, Impact, Priority
Action: Field Update
Set Track UIPD = Formula (Urgency: <urgency> + Impact: <impact> + Priority: <priority>)
Step 3: Enable Field History tracking for this combined field “Track UIPD”.