Merging Salesforce org is a common occurrence in the world of Salesforce administration. However, as with any major change, it’s essential to have a plan in place to address any issues that may arise during the merge process. One critical component of any good merger plan is a rollback plan.
A rollback plan is essentially a contingency plan for if something goes wrong during the merge process. It outlines the steps that need to be taken to revert the merge and restore both orgs to their pre-merge state. Here are the key components you should consider while creating a rollback plan for org merges using Salesforce:
Metadata Rollback
Metadata changes are an essential part of any Salesforce org merge. To ensure the metadata is rolled back correctly, you should commit all metadata changes to source control, leverage CI tools like Copado or Gearset that have in-built capabilities, and take snapshots of metadata in your backup solution. Here is the sequence of activities that you need to plan for in a Metadata rollback.
Create a golden copy with an environment that has a working version with all metadata changes committed to your release management tool.
Once you back up the golden copy, you need to plan for loading data on the following.
Custom Metadata
Custom settings
Custom Labels
Any custom objects which has config data in it.
Moreover, some metadata types are not supported by the metadata API, and you should create a run book to manually populate them.
Data Rollback
During an org merge, data is the most crucial element to consider, and you need to identify the system of source for all objects in Salesforce. You should also create a data sequence plan of which objects need to be populated first, second, and end. Identifying objects with external ids that have links to external objects is essential, and you should work with backup vendors to repopulate all data from your backup solution.
Before you start on a data rollback plan, you need to do the following.
Identify all objects and Identify system of records for every object.
Create record mastering rules for specific fields on each object.
Identify rules to create conflicts which will include which system will have the final say, rules for overwriting and how do you handle conflicts.
You can see the below screenshot for examples of the scenarios.
Here are key considerations to be followed when you plan for a data rollback plan.
Identify records that have date impacts like orders, shipping, and price books, and have a plan for date mitigation.
Identify working days, holidays, and weekend data population impacts on external systems and inbound systems.
Identify any month-end, fiscal year-impacted records like currency configurations and have the plan to update them.
Create a sequence plan to load the data in a specific order.
Security Impact
During the rollback process, identifying record owners for all objects in Salesforce is crucial. You should also identify the impact of record owners for all major objects with respect to access and permissions, such as leads, accounts, cases, opportunities, and contacts.
Additionally, you should identify users who have been terminated, or out of the office, and have a plan for alternate users to ensure record access. Furthermore, you should identify any profiles, permission sets, and role changes during rollback, do an impact assessment, and restore changes manually. You should also identify users modified with profiles, roles, permission sets, and rollback after impact only.
Integration Rollback
Identifying the system of source for all objects in Salesforce is vital during the rollback process. You should also identify integrations inbound to Salesforce and integrations outbound from Salesforce.
For integration inbound to Salesforce, you should have a plan for sequencing which records from the backup has to be restored first. Additionally, stop integration jobs and rerun them based on the sequence. For integrations outbound from Salesforce, do a sequence impact and identify the right sequence to send data to external systems. Also, stop outbound integrations and execute them manually if needed.
Moreover, you should identify objects that have date dependencies like orders, price books, and opportunities and have a plan for dates based on external system conversation. For real-time integrations, stop real-time integrations and do a sequence impact. Manually run real-time integrations once data is synced between systems. Here are some rules to be followed to keep systems in sync.
Have scripts or reports to identify records that are out of sync.
Create a master copy of records from external systems based on records created or modified based on the date range.
Have a reconciliation process to identify the impact and update records manually.
Points to Consider
Have a record count for all objects created and modified during the rollback date
Have a record count for metadata created or modified during the rollback date.
Work with external systems to create a data restore backup plan
Do an impact analysis for records with date sensitivity
Do not ignore security and ensure records with the right access is restored.
Have a plan for manual reconciliation and have a team dedicated to it.
Plan for system impact during rollback and have weekends and dates on rollback identified.
Have key resources with the RACI chart available during rollback.
As always, feel free to post below for any questions or email me at buyan@eigenx.com for further questions.