Not so long ago we experienced the wrath of an unhappy customer when, with all the good intentions we verified and normalized phone numbers for all contacts in the organization. This particular implementation had sophisticated business processes that kicked in on updates and modified on timestamp was used to calculate some performance metrics. With us barging in as administrators, ploughing through all the records and updating them all, we managed to screw up all the performance metrics business has cared about.
If you are planning any kind of massive batch update, make sure to:
- consult the business to ensure that there are no important metrics hinging on modified on or modified by attributes
- temporarily disable plugins and workflows that do not make sense to trigger on artificial updates
- mitigate some of the metrics “violations” by impersonating either the owner of the record or the last user who updated the record (depending on business expectations)
- consider schema modifications where resulting data (whatever they are in your case, it was sanitized phone numbers in ours) perhaps are better isolated into a separate “extension” entity so that primary record is not affected