Assume you've been leading a team of three developers and two admins who have been working for weeks to implement the most sought after new features of the latest Salesforce release. You finish testing all of their changes in a sandbox and leave for the night, knowing you are ready for the next step in your release cycle. The next morning, you log in to the sandbox and realize that someone accidentally refreshed the sandbox. All of your work is lost. Panic ensues.
Now your team will need to rebuild everything that was lost. While everyone feels terrible, the impact goes deeper than just a hit on morale. The business cost of losing all of this work is real. You can calculate the cost by multiplying those employees’ hourly rates by the number of hours it takes to redo all of the work. And that doesn’t even include the opportunity cost of the lost time and loss in user productivity caused by delaying the new feature releases.
The lesson? Before deploying Salesforce changes, it’s critical to have a backup and recovery solution with the ability to roll back any changes you make in case something goes awry. In the example above, the sandbox refresh cleared all existing configuration files and updated them with the current production metadata. With a complete metadata backup, the team could’ve restored specific metadata objects and rebuilt the underlying code.
This article will take a closer look at metadata and why it’s crucial to your Salesforce org’s day-to-day functionality. We’ll also outline what to look for in a metadata backup and recovery solution.
What is Metadata, Exactly?
If you’re a Salesforce developer, admin, or architect, you likely already know what metadata is. You work with it every day. But for everyone else, it might be an unfamiliar term.
Put simply, metadata is the data that describes the configuration and automations that you make in Salesforce.
Some common types of metadata include:
- Data: the core components of the data structure on which you build customization. E.g., custom objects & fields, value sets, and custom apps.
- Automation: workflows, processes, flows, Apex, etc.
- Presentation: customization of the user interface. E.g., reports, dashboards, components, Visualforce, and Lightning pages.
Bottom line: if it isn't your data (accounts, contacts, etc.) or system data (Chatter, sharing, field history, etc.), and it configures something about how your Salesforce org behaves, it’s probably metadata.
The Case For Backing up Your Salesforce Metadata
Most Salesforce admins would agree that protecting Salesforce data is critical. Losing records that your business relies on, such as opportunities, accounts, contacts, and leads, can have a devastating impact on revenue, productivity, and reputation alone. In addition, records like these are often subject to data regulations like GDPR, CCPA, or HIPAA, making them even more important to safeguard to avoid non-compliance fines.
However, since metadata does not contain actual customer information and doesn't fall under data regulations like the ones mentioned above, it’s often considered not as important when it comes to protecting it.
In reality, this couldn’t be further from the truth. Metadata is just as important to back up as your actual data is because it is so integral to the way users interact with the platform. Like we explained earlier, Salesforce metadata controls the shape and behavior of your Salesforce environment. Because of this, your organization’s metadata becomes a significant investment and represents years of your team’s development and customization efforts.
Here are three main reasons why metadata backup is so important:
1. Keep data relationships intact
If you’re not backing up your metadata, putting the relationships between your Salesforce data objects back in place can become a painstaking process. For example, if the metadata that describes your fields and objects is lost or corrupted, you won't be able to restore lost records to those fields and objects. That’s why to be confident of restoring any lost data, you should back up your metadata too.
2. Protect your org’s customizations
Salesforce has countless configuration and customization options. Orgs continually evolve by adding and changing metadata to make customizations that meet your company's individual needs. But Salesforce orgs quickly become big and complicated, and no two orgs are the same. Manually rebuilding all of your metadata would be a significant and costly disruption to your company. Backing up your metadata protects you from the risk of unnecessary disruption.
3. Minimize the impact of a data loss or error
As you might remember, on May 17, 2019, a service disruption forced Salesforce to block access to thousands of its customers for just over 15 hours. During that outage, a significant number of companies found that their Salesforce permissions metadata had been corrupted. As a result, every user in their orgs had access to all data. Customers who had comprehensive data AND metadata backup and recovery solutions in place were able to enforce proper access to their data by restoring their permissions model quickly, avoiding the disruption experienced by many other companies.
While the May 17th service disruption certainly garnered a lot of attention, metadata loss can happen in all sorts of ways, big and small. Just as it’s easy to delete records or modify records accidentally, it’s also common for admins or developers to make inadvertent changes to your configuration settings. These changes can impact objects, workflows, permissions, profiles, and custom code. As many of these changes are not reversible, it’s important to have a copy of your metadata to fall back on to restore prior settings.
What To Consider When Backing Up Your Metadata
Like many Salesforce stakeholders, you might assume that your SaaS data is protected because it’s in the cloud. The truth is, though, most SaaS apps like Salesforce require shared responsibility for keeping data safe. These platforms provide reliability and security controls, but customers are ultimately responsible for the errors and corruption they create.
So, where do you begin? Recognizing the importance of backing up your metadata is a great first step. But adding metadata backup to your existing data backup process adds a significant layer of complexity, especially if you're trying to manage all of this manually.
Let’s review your backup options from Salesforce:
- Weekly Export: While Salesforce’s Data Export generates backup files of your data on a weekly or monthly basis, it does NOT contain a backup of your metadata. No metadata backup makes it extremely difficult to recover from a data loss and maintain the relationships between different objects by using the weekly export.
- Package Manager: You can back up your metadata by creating an unmanaged package through Salesforce, but this is a very manual process. Unmanaged packages don’t support all metadata types. And since your metadata changes often, you would need to create a new version of the package regularly.
- DIY Export Using Salesforce APIs: Another option customers use to build their own backup solution using Salesforce APIs. Making certain the export scripts are up-to-date with changes to the API requires serious supervision. More importantly, the exports are typically for very specific data and usually do not include metadata. In addition, there are no notifications to alert you about the corruption to exported data.
Because of these limitations, the best way to back up your metadata is with a partner solution from the AppExchange, as Salesforce recommends.
Eliminate Data (and Metadata) Downtime with OwnBackup
At OwnBackup, we make backing up and recovering both data AND metadata easy. As customers continue to grow, enhance, and customize their Salesforce environment, OwnBackup will automatically detect any changes they’re making behind the scenes and securely backup on their behalf.
Using OwnBackup's Compare tool, you can review data and metadata side-by-side to see additions, deletions, or changes. For example, if you want to compare what changed in your workflows, you can see a side by side comparison in a single click. And you can do this for any of your metadata, such as email templates, layouts, objects, or anything else that shows a change that occurred from one backup to the next. Seeing all of this allows you to avoid scrolling through hundreds of lines of code and quickly identify what happened. The Compare tool is especially valuable if you don’t have a code repository or work in a team environment or with external developers.
Another unique feature that sets OwnBackup apart is our Smart Alerts. Beyond our default notifications that let you know things like a backup has completed, Smart Alerts instantly notify anomalies based on rules that you define or even abnormalities detected by the system. You can set up alerts to monitor and detect changes to any custom or standard object, as well as any type of metadata.
And finally, because the application is outside of Salesforce, customers have 24/7 access to all of their backups. During the May 17th service disruption, for example, OwnBackup customers found out about the corruption and could restore their data and metadata quickly, avoiding the disruption experienced by many other Salesforce users.