Every Config Manager workflow runs as a sequence of stages. While a workflow is running, four controls let you act on it from the Config Manager UI: Approve, Reject, Retry, and Terminate. This guide covers what each one does, when to use it, and — for terminate in particular — what state the device is left in.
For per-workflow specifics, follow the link in each workflow’s guide; this page is the cross-cutting reference for the lifecycle itself.
The Approve / Reject / Retry buttons live on the stage details panel for the selected stage. The Terminate button lives at the top of the workflow details panel, next to the workflow status badge.
Use when a PENDING_APPROVAL stage is showing you the right diff or the right plan and you want the workflow to continue. Approve sends a signal to that specific stage; the workflow records the approver in its audit log and the next stage starts.
If a workflow has multiple approval stages (Multi-Deploy fans out one per batch), each child’s approval is independent.
Use when a PENDING_APPROVAL stage shows a diff or plan that should not be applied. Reject marks every downstream stage as UNREACHABLE and the workflow exits cleanly. The device is not touched.
Common reasons to reject:
After fixing the upstream cause, start a new workflow — there is no way to “un-reject” an existing one.
Use when a single stage failed in a way you believe is transient (network blip, momentary device unreachability) and you want to re-run just that stage rather than starting the whole workflow over. The stage’s state must be FAILED, and the stage itself must be marked retryable.
Retry is not appropriate when:
ConfigSyntaxException, DiffChangedException, FirmwareUpgradeException). These are deliberate fail-closed conditions — fix the underlying cause and run a new workflow.Terminate stops the entire workflow at the Temporal layer. The button is at the top of the workflow details panel and is only enabled while the workflow’s status is RUNNING.
What termination actually does:
terminate to the Temporal workflow handle. Temporal moves the workflow to a terminal TERMINATED status.When termination is the right move:
When it’s not: if the workflow is still at an approval stage, reject instead — rejection exits cleanly and leaves nothing for you to clean up.
What you need to do post-terminate depends on which stage was in flight at the moment of termination. The pattern below applies to the major workflows:
If you’re not sure what stage was running at the time of termination, open the workflow’s stage list in the UI — every stage shows its state at the moment the workflow stopped. The last stage in IN_PROGRESS (or the one most recently transitioned to FAILED) is what was active when terminate landed.
Every Approve / Reject / Retry / Terminate is logged in the workflow’s history. Open the workflow detail page to see who did what and when. For deeper investigation, the underlying Temporal history is accessible via the Temporal API or Temporal CLI.