Handling Unanswered Approval Requests: Set a business deadline with local time and owner details.; Use one rule: accept decisions only if before expiry instant.; Platform timeouts don't mean request expired — track separately.
Image: Workflow Automation Guide

Error Handling

Part of Human approvals in technical workflows

Expiring an approval request that receives no response

Set a business deadline, close an unanswered approval through a controlled transition and prevent late responses from authorising an action.

Set a business deadline when an approval is created. At that deadline, close the unanswered request under a recorded rule and block the action it would have authorised.

A reminder or a timed-out workflow run does not prove the approval request itself has closed.

For a purchase needed before a supplier cut-off, record the deadline, its time basis and the owner of unanswered work. A platform's maximum wait is a technical limit, not the business expiry rule.

Set the deadline and next route

Keep the request ID, issue time, expiry instant, assignee and state. Show the deadline to the approver in an unambiguous local time zone, and store an instant suitable for comparisons.

Define whether no response leads to cancellation, escalation, a new request or manual review. Silence must not become consent by default.

A reminder should refer to the same open request. If escalation gives another person authority, decide whether the original request is reassigned or closed and replaced. Two live requests must not each be able to release the same action.

Resolve the deadline race

Use one authoritative acceptance rule: accept a decision only when its recorded acceptance time is before the expiry instant. At the deadline, change awaiting_decision to expired only if the request is still open.

The response handler should likewise accept a decision only if the request is open and within that time rule. Use a conditional write or equivalent controlled transition so expiry and response cannot each claim the same request.

If the decision wins, the expiry job leaves it unchanged. If expiry wins, retain any late response as an attempted response without authorising the action. Close or cancel remaining wait and notification routes where the selected platform supports that, and leave the business request with its next owner.

Key Metrics for Approval Expiry Management

Expiry Enforcement Method
Conditional write or controlled transition
Request State After Expiry
`expired` (if open), no action authorised

Treat platform timeouts separately

Microsoft's approvals known-issues page says an approval flow can wait for 28 days. If the wait exceeds that, the flow fails while the approval continues to exist in the action centre. A failed wait therefore does not prove the request disappeared or that its business state became expired.

In supported AWS Step Functions Standard Workflow callbacks, a task can wait for a token. Check the selected workflow type and configuration against the intended deadline. The workflow route still has to update the separate business approval record.

An expired request needs a clear next step: close the business request, escalate it under a defined rule or create a new approval for current terms. Give any new request its own ID and deadline. Keep the earlier request's expired state so a delayed response cannot be mistaken for the current decision.

Platform Handling of Approval Timeouts vs Business Expiry

  • Microsoft Power AutomateFlow can wait up to 28 days; failure does not mean approval expired. Approval remains in Action Centre.
  • AWS Step FunctionsTask can wait for a token; timeout depends on workflow configuration. Business record must still be updated independently.
  • Business RuleExpiry is governed by business deadlines, not technical limits. Must be enforced via controlled transitions.

More from Error Handling