Maximizing Efficiency in Salesforce Data Recovery

When planning for potential Salesforce data recovery scenarios, you should always be as thorough as possible. However, before starting my journey with CapStorm, I had yet to learn just how complex a data recovery situation could get or how much planning and strategy are required to minimize downtime and mitigate the impact on critical business processes.
Bright white clouds filling up the sky.

The general process seems simple: some critical data was lost due to several potential reasons (Salesforce infrastructure failure, internal mistake/miscommunication, etc.), and the data needs to be recovered to the state it was in before the incident as quickly as possible. Unfortunately, many of us realize that the process is not simple after it’s too late and the incident has already happened.

Manage Your Automation With CS:Restore 

Apex triggers, validation rules, flows, restricted picklists, and even legacy workflow rules are crucial to consider as part of a Salesforce data recovery process. If you do not adequately manage automation features when restoring data with CS:Restore, you can easily experience undesirable effects. For example, one of your sales reps accidentally deleted an Opportunity. Upon inserting an account record, your Salesforce org has an apex trigger that will initiate notifications for Opportunities larger than $50,000. Therefore, you should disable this automation before recovering the lost data in a data recovery situation. 

Another example: Say you have lost some historical data and need to recover it. Your validation rules have changed over time, and much of that historical data will not pass the current validation rules. In this scenario, you must disable these rules to recover the data correctly. But wait, what if you have tons and tons of automation, and it would take way too long to disable and re-enable it all manually? What if you aren’t aware of all the relevant automation, and it would take too long to dig into your Salesforce data model to discover it all? Or, what if you forget to keep a list of which rules need to be turned on again after the completion of the restore?

In comes CS:Restore to the rescue! CS:Restore has built-in functionality to manage your automation when recovering data automatically. It will automatically discover all relevant automation when restoring a record, disable it before pushing the record, and then promptly re-enable it. This can all be done by simply checking the “Enable Automatic Management” checkbox within the application’s “Advanced” tab. In addition, there is a checkbox for each of the various Salesforce automation features to manage them individually.

Special Permissions Offer  Peace of Mind for Your Data Recovery

What if some of the automation related to the relevant restore set is crucial to my business processes? What if I can’t afford to disable them, even temporarily? No problem, we can do better with some planning and proactive design! When architecting your Salesforce automation for Salesforce data recovery, it is recommended that you also create a special permission set that can bypass all automation. This will require a bit of work as you need to modify all automation to ignore actions taken by a user with this particular permission set, but it’s worth the effort! Once you’ve done this, you must assign the permission set to the Salesforce user you provide to CS:Restore, and voila! Now, you do not even have to think about automation in a data recovery situation. You can safely proceed with recovery without worrying about triggering an accidental email blast or having to hunt down restricted picklist issues. 

Proper Planning Can Streamline Recovery

We understand how stressful a Salesforce data recovery situation can be. Depending on how critical this lost data is for your business or how much time has passed since you detected the loss event, the acceptable timeline for resolution can vary wildly. However, more work done ahead of time and proactively creating a Salesforce disaster recovery plan to make your recovery process as straightforward as possible means less stress on the inevitable judgment day when data is lost or corrupted. Not to mention how happy your boss will be when you have very quickly put out that production fire on a Friday afternoon!

If you are interested in speaking with one of CapStorm’s experts, click here to submit an inquiry or here to book a demo of this technology.  


  • How do I bypass an Apex trigger with a custom permission?
      • You will need to implement some logic within the Apex trigger execution code that will check against the custom permission and fail early if it is present. You may find the checkPermission method of the FeatureManagement class helpful.
  • How do I bypass a Salesforce Flow with a custom permission?
      • Essentially, you will need to modify the start element entry condition formula of your flow to have the following line:
        •  NOT ( {!$Permission.} )
      • You may find this article helpful as well.
  • Where can I learn more about automatic Salesforce automation management within CS:Restore?
Brayden Richardson

Brayden Richardson

Brayden supports the CapStorm Research and Development team by identifying and fixing defects within our products and pursuing new technologies and development strategies to meet our customer needs with the solutions we provide.

About CapStorm

CapStorm is the most technologically advanced Salesforce data management platform on the market. Billions of records per day flow through CapStorm software, and our solutions are used in every industry from credit cards, telecom providers, insurance agencies, global banks and energy providers.

Recent Posts

Follow Us

Become a CapStorm Insider

Become a CapStorm Insider

Subscribe to the CapStorm Forecast

This field is for validation purposes and should be left unchanged.