Update: December 11, 2018: Salesforce is hosting a webinar called Data Governance: Capture the Full Lifecycle of Your Data with Field Audit Trail. The link will allow you to register. If you can't make the webinar or it fills up, a recording will be posted after the webinar here.
We wanted to bring to your attention, a very important change that will be occurring over the next several months now that Salesforce Winter 19 has been released.
Salesforce has always guaranteed to retain your field history data for up to 18 months through your org, and up to 24 months via API; however up until now, it hasn’t really been enforced. As of Winter ‘19, Salesforce is enforcing these retention periods and plans to roll out a sweeping mass delete of history objects with Salesforce Spring 19.
Details can be found here, but we wanted to expand on how this could impact your company.
What is Field History Tracking?
Field History Tracking allows you to track changes that occur for up to 20 fields per object. Salesforce will, in some cases, track the old value of the field and the new value (what the field was changed to).
This is all managed at the custom object level through Set History Tracking as seen below.
Clicking on Set History Tracking, takes you to a page where you select which fields you want to track.
Additionally, a Related List can be added so you can see the changes per object (if the list has been exposed as it has been here).
This data that’s retained as part of Field History Tracking is kept in a corresponding object’s history file.
For example, our Incident object is technically BMCServiceDesk__Incident__c. The __c indicates that this is a custom object. It’s corresponding Field History Tracking object is:
The __c is replaced with __History. This will be important information to know later as we talk about what you need to do now and how you plan for the future.
Starting with Salesforce Winter 19, you can access data older than 18 months, but only in a limited fashion via either the Data Loader or the Salesforce API. When Salesforce releases Spring 19, you will be able to access field history data for up to 24 months old via the Data Loader or the API, however, Salesforce will begin the process of removing field history data older than 24 months!
Additionally, once field history data reaches the 18-month limit, Salesforce retains it for 6 more months, but the data is only accessible via Data Loader or the API. This behavior is ongoing behavior, even after Spring ’19. Once Salesforce deletes data, you can’t use the getDeleted() API to retrieve it.
Why the Change?
Salesforce wants to ensure high availability of data and accommodate the fast-growing data needs of their customers, so this change is being implemented at this time.
What do I need to do now and how?
There are several options which we’ll describe below. Select the option that might work best for your company in the short term (before the mass delete action that will happen sometime in February or March of 2019). This is particularly important if you need this data for compliance or audit purposes. Additionally, we talk about longer term options that may be a better fit for your organization.
Salesforce Data Loader
If you’re not familiar with Data Loader, it’s a tool built on the Salesforce API that allows you to import, update, delete or export data from Salesforce.
Within Salesforce, in the Quick Find box, type Data Loader. It’ll be under Data Management. From this page you can download the EXE and install it on your workstation.
Once you run the Data Loader, select Export All. Do NOT select Export because that will not get all the data that could be in your History objects. Export All exports archived activity records and soft-deleted records.
Select Password Authentication and provide your Username and Password. Remember if you have IP Restriction enabled on your Salesforce Org, you may also need to provide your Security Token in addition to the password.
Once you’ve logged into the Data Loader, click Next.
In Step 2, there’s some very important information. First, you MUST select “Show all Salesforce objects”.
Secondly, you’ll navigate down to where the entry starts with “History:”. In this example, we’re interested in the History: Incident (BMCServiceDesk__Incident__History) object; however, depending on which objects you’re tracking, you’ll have to go through this process for each history object where you need to keep your data.
Lastly select a directory and file name for the resulting CSV file.
In Step 3, click on “Select all fields” so that everything is exported. Once that’s done, you can click on Finish and the data will be exported.
If you have a savvy Salesforce developer on staff, they may be able to use the Salesforce API to get access to the history data and back it up for you. This could be a one-time event, or they could set something up to occur on a regular basis. See the following for additional details:
Another option on the API front is Pentaho Kettle. You can use the Salesforce Input to access the Org and run the query against the history objects mentioned earlier and port that data out to an Excel or CSV file.
Special Note about CMDB
A special note about Remedyforce CMDB and Assets. The Base Element object has the same 20 field restriction just as any other custom object. However, a while back we implemented our own history tracking capability since we knew users of Asset management would need the ability to track a larger number of fields.
Details of our CMDB/Asset Tracking History can be found here. Observe that the CMDB/Asset history data is held in our own Remedyforce custom object called BMCServiceDesk__CMDB_Auditing__c. This object is not impacted by the Salesforce changes outlined here.
However, the same document we just referenced for CMDB/Asset Tracking History, mentions that if you’re tracking less than 20 fields, that you should use the Salesforce Field History Tracking…which in that instance, you would be impacted based on our earlier example of Incident. We would suggest you move to our Remedyforce Asset Tracking capability so as not to lose data (however, you should still backup your BMCServiceDesk__BMC_BaseElement__History object).
The above is just a couple of suggestions to get to your data before the purge coming with Salesforce Spring ’19 (tentatively scheduled for or around February 9, 2019). If you are in a highly regulated industry and must have this data available and accessible for longer periods of time, then Salesforce’s recommendation is that you plan on purchasing Field Audit Tracking (FAT).
Field Audit Tracking is an additional cost; however, it allows you and your organization to decide how long to keep your data (up to 10 years) and you can raise the number of fields that are being tracked from 20 to up to 60 fields. Additional information about FAT can be found here.
If you decide against purchasing Field Audit Tracking, then you will need to determine how often you need to export your concerned History objects in order not to lose the field tracking data that will roll every 18 to 24 months as described previously.
If you are interested in Field Audit Tracking and would like pricing information, please reach out to your BMC Account Rep or your BMC Relationship Manager.