Define the decision

An approval request should tell the reviewer what will happen, where it will happen and which inputs produced the proposal. A generic confirmation button is not enough when the action changes an important record.

Preserve the context

Store the proposed action with the review state. If the underlying data changes before approval, revalidate the proposal instead of executing stale instructions. Separate permission to propose an action from permission to approve it.

Make the pause durable

Long-running workflows need to survive process restarts and delayed responses. Track pending, approved, rejected and expired states explicitly. Design a recovery path for actions whose outcome cannot be confirmed.

01Understand
02Connect
03Evaluate
04Operate
Discuss your system
All engineering notes