Yes, you can roll back a change set, but the method depends on whether it has been deployed

A change set that has not yet been deployed can be deleted from your Salesforce org before it reaches the target environment. A change set that has already been deployed cannot be reversed through a rollback button — instead, you create a new change set that removes or reverts the changes, then deploy that new set to undo the work.

The distinction matters because Salesforce treats deployment as permanent. Once metadata moves from one org to another, the only way to undo it is to push opposite changes back. This is different from version control systems that let you revert a commit; Salesforce requires you to actively remove what you deployed.

Key Takeaways

  • An undeployed change set can be deleted directly from the Outbound Change Sets list in Setup.
  • A deployed change set cannot be rolled back; you must create a new change set that removes the same components and deploy it to the target org.
  • Deleting a change set from the source org does not affect a change set that has already been deployed to the target org.
  • The safest approach is to test change sets in a sandbox environment before deploying to production, so mistakes can be caught and fixed before they reach live users.

Deleting an undeployed change set

If you created a change set but have not yet deployed it, you can remove it entirely. Go to Setup, search for "Outbound Change Sets", and open the list. Find the change set you want to delete and click its name. On the detail page, click the Delete button. The change set is removed and no longer available for deployment.

This action only affects your source org. If you have already deployed the change set to a target environment, deleting it from the source does nothing to the target — the deployed components remain in place. Deletion is useful only when you catch a mistake before you deploy.

Reversing a deployed change set

Once a change set has been deployed to a target org, the only way to undo it is to create a second change set that removes the same components. If the first change set added a custom field, the second change set must delete that field. If it created a custom object, the second set must delete the object.

To do this, go back to your source org and create a new Outbound Change Set. Add the same components that were in the original set, but this time select the action that reverses them — delete instead of add, or modify to restore the previous state. Deploy this new change set to the target org. The target org now reflects the state before the original deployment.

This approach requires you to remember what was in the original change set and to have the information needed to reverse each component. If you deployed a change set weeks ago and do not have detailed notes, you may need to review the target org's setup to understand what needs to be removed.

Why Salesforce does not offer a straightforward rollback

Salesforce does not include a one-click rollback feature for deployed change sets because metadata deployment is not a transaction that can be undone atomically. When you deploy a change set, Salesforce writes the new metadata to the target org's database, updates dependencies, and may trigger automation or data changes. Reversing all of that in one step would require Salesforce to store a complete snapshot of the target org before each deployment, which would consume significant storage and processing power.

Instead, Salesforce requires you to explicitly state what you want to remove or change. This forces you to think through the consequences of the reversal — for example, if the original change set created a field that now contains data, deleting it will destroy that data. By making you create a new change set, Salesforce ensures you understand what you are undoing.

Using sandboxes to avoid the need for rollback

The most practical way to prevent rollback situations is to deploy change sets to a sandbox environment first, test them thoroughly, and only deploy to production once you are confident they work. Sandboxes are copies of your production org that you can modify without affecting live users.

If you deploy a change set to a sandbox and discover a problem, you can delete the sandbox and create a fresh copy from production. This is much faster than creating a reversal change set. For this reason, Salesforce best practice is to always test in a sandbox before deploying to production.

Change sets versus other deployment methods

Change sets are one of several ways to move metadata between Salesforce orgs. The Salesforce CLI and the Metadata API offer more control and can integrate with version control systems like Git, which do support true rollback. If you frequently need to reverse deployments, these tools may be a better fit than change sets.

However, change sets are built into Salesforce and require no additional software or training, which is why many teams use them for smaller, less frequent deployments. Understanding their limitations — including the lack of rollback — helps you decide whether change sets or a more sophisticated deployment tool is right for your workflow.

Frequently Asked Questions

If I delete a change set from my source org, does it disappear from the target org too?

No. Deleting a change set from the source org only removes it from the Outbound Change Sets list. Any components that were already deployed to the target org remain there. You must create a new change set to remove them.

Can I undo part of a change set without undoing all of it?

Not directly. You must create a new change set that addresses the specific components you want to reverse. If the original set added five fields and you only want to remove two, your reversal change set includes only those two fields.

What happens if I deploy a change set that deletes a field containing data?

Salesforce will delete the field and all data in it. The data cannot be recovered. This is why testing in a sandbox first is critical — you can see the impact before it happens in production.

How long does it take to deploy a reversal change set?

Deployment time depends on the number and complexity of components. A straightforward reversal of a few fields might take minutes; a large change set could take hours. Salesforce processes deployments in the background, and you can monitor progress in the Deployment Status page.