
Serpent Team

Andrew Hanna

Short answer: back-promotion is the merge that carries a production change back down to every lower branch and org in your pipeline. You need it because a hotfix applied straight to production exists nowhere else, so the next ordinary release quietly overwrites it. The safe way to automate it is a cascading merge, one environment at a time, opened as a pull request rather than pushed by a script.
A normal promotion moves a change up the chain: dev to
integration to uat to main. Back-promotion
moves in the opposite direction, taking what already exists in a higher environment
and merging it downward so the lower environments match.
Two things need to travel, and most teams only do the first:
Because a hotfix breaks the assumption your pipeline is built on: that production only ever receives what came up the chain. Break that assumption and three failures follow.
Out-of-band changes are not only hotfixes. A page layout edited in production during an incident, a picklist value added for support, a field created to unblock a user: they all need the same route home.
This is the part most guides skip. Back-promotion goes wrong in predictable ways, and five rules prevent nearly all of it.
main into uat, then uat into
integration, then integration into dev.
Merging main straight into dev leaves the skipped branches
to conflict later.
Back-promotion is not a deployment problem. It is a branch hygiene problem that shows up as a deployment problem three weeks later.
main, never from dev, so the fix carries nothing
unreleased with it.
main. The pipeline
opens a back-promotion pull request into the next branch down, automatically.
No, and treating it as one is a common and expensive mistake. A refresh replaces the sandbox with a copy of production, which does bring the hotfix down, and destroys every unreleased change in that sandbox on the way. Refreshes are also rationed: a Full sandbox can only be refreshed every 29 days (Salesforce Help), so it is a scheduled event, not an incident response.
Use refreshes to reset data and long-term drift. Use back-promotion to keep source and orgs aligned in between. Most Salesforce DevOps platforms support this shape in some form, Copado, Gearset, AutoRABIT, Flosum, Blue Canvas and Salto included. What varies is whether the cascade is automatic, and whether it arrives as a reviewable pull request.
What is the difference between promotion and back-promotion?
Promotion moves a change up the pipeline toward production. Back-promotion moves an existing higher-environment change downward, so the lower environments stop drifting.
Should back-promotion be fully automatic?
The trigger and the pull request should be. The merge itself should still be approved, because a conflict resolved without review is how a hotfix gets undone twice.
How do we handle a conflict during back-promotion?
Resolve it in the back-promotion branch, in favour of production behaviour, and have the person who wrote the hotfix confirm it. Never resolve by taking the lower branch wholesale.
Do we still need back-promotion if nobody edits production directly?
Yes, though less often. Long-lived release branches, reverted releases and package patch versions all put changes into higher environments that the lower ones do not have.
More step-by-step pipeline playbooks live in the SF Guides library. If your pipeline does not open the cascade for you today, start with rule two: one hop at a time, in order. Back-promotion stops being the job nobody wants.
Commitment free!