Resources

From business evidence to a controlled action

A workflow needs to explain why an action was appropriate, who could authorise it and what happened when execution did not complete cleanly.

Evidence record

v7 becomes v8.

The proposal relied on an order awaiting dispatch. The current observation records cancellation.

Decision record

Return P-21 to review.

Keep the original approval and its evidence reference. Reassess the proposal against the changed condition.

Execution record

Not submitted.

The priority queue change is withheld. Approval does not override the source precondition.

The target must support the required precondition and authorization checks. A changed source state returns the proposal to review.

Separate evidence, decision and execution

A workflow often begins with an observation, such as an inventory shortage or an overdue receivable. That observation is evidence, not an instruction. A decision interprets the evidence under business rules and authority constraints. Execution then changes a system or initiates work. Keeping these stages distinct makes it easier to review why an action was proposed and whether it was actually completed.

Represent each stage with an identifiable record. Capture the evidence used, the decision outcome and the execution status separately. A recommendation may be rejected, expire before approval or fail during execution. Treating all of these as one generic workflow status obscures both user expectations and the information an operator needs to recover safely.

Make business rules inspectable

Business rules can depend on thresholds, calendars, contractual terms and organisational roles. State the inputs and expected outputs explicitly, then version the rule definition. OMG’s Decision Model and Notation provides a standard for modeling decisions, while Business Process Model and Notation describes process behavior. These standards can help teams separate decision logic from the sequence of tasks that surrounds it.

Do not hide consequential policy choices in an unreviewed prompt or a collection of scattered conditionals. Maintain representative examples for normal, boundary and conflicting conditions. Have the business owner review what happens when required evidence is missing. The right result may be a request for more information rather than an automatic choice between incomplete alternatives.

Define who can approve which action

The ability to view evidence is different from authority to approve a change. Establish approval requirements according to the action, its scope and the user’s role. A person may be permitted to investigate a contract but unable to accept a commercial amendment. A service identity may be allowed to create an internal task while being prohibited from changing a financial record.

Evaluate authorization when the action is requested and again where execution crosses a trust boundary. OWASP’s authorization guidance emphasises access checks on every request and a default denial posture. Include separation of duties where required by the business process. Record the approver and applicable authority without assuming that a previous sign in grants indefinite permission to every future operation.

Recheck evidence before committing a change

A decision can become obsolete while waiting for approval. Inventory may arrive, an invoice may be settled or a customer may change an order. Record the source versions or conditions that justified the proposal and check them before execution. Define what happens if those preconditions no longer hold: cancel, recalculate or return the decision for review.

Use a concurrency mechanism appropriate to the target system where one is available. An expected record version or conditional request can help prevent overwriting a newer change. If the target cannot support such a check, document the remaining race and choose a narrower operation or human confirmation where needed. The interface should show that an approved proposal is still subject to execution conditions.

Proposal P-21 was approved against order O-21 version 7 at 10:05. A cancellation in version 8 at 10:08 causes the 10:10 precondition check to return the proposal to review without submission.
A later cancellation invalidates the execution condition while the original approval and its evidence remain recorded.

Design retries around business consequences

Execution can fail after the target system has accepted a request but before the workflow receives confirmation. A blind retry may duplicate the action. Preserve an operation identifier, inspect the target’s supported idempotency behavior and reconcile uncertain outcomes. A timeout should produce an unknown execution state until evidence establishes whether the action occurred.

Plan compensating actions where a process spans multiple systems, but do not assume that every business effect can be reversed. Sending an external notification and transferring a physical item have different recovery properties. Document which steps are retryable, which require investigation and which need a new approved action to compensate. Operators need this information before an incident occurs.

If a request was submitted, what does the response prove?

Timeout after submission

Outcome unknown. The target may have acted before confirmation was lost. Preserve the operation reference and reconcile target state before deciding whether to retry.

202 Accepted

Accepted for processing, not completed. Follow the target's documented confirmation mechanism to establish the eventual business result.

Verify the operational result

A completed API request is not always the business outcome. The target may process work asynchronously, reject it later or require additional review. Track the resulting status through the appropriate confirmation mechanism and connect it to the original decision. Let users distinguish submitted, accepted, completed and failed states without requiring them to interpret infrastructure logs.

Review decisions that were overridden, expired or repeatedly failed. Use those cases to refine rules, evidence requirements and approval routing. Preserve enough lineage to reconstruct the action without collecting unnecessary sensitive content.