Flow Studio
Auto-Decision on Timeout
AutoApprove and AutoReject inject a synthetic actor decision when the timeout fires. The workflow continues on the approved or rejected port as if a human had responded — with a clearly marked auto-decision flag in the audit trail.
How Auto-Decision Works
public async Task DecideAsync(SuspendedExecution suspension, CancellationToken ct)
{
var decision = suspension.TimeoutBehavior == "AutoApprove"
? ApprovalDecision.Approved
: ApprovalDecision.Rejected;
var syntheticResponse = new ApprovalOutput
{
Decision = decision,
Comment = $"Auto-{decision.ToString().ToLower()} after timeout. No response received.",
ActorId = "SYSTEM:AutoDecide",
DecidedAt = DateTimeOffset.UtcNow,
IsAutoDecided = true
};
// Write synthetic decision to audit table
await _decisionRepo.InsertAsync(new ApprovalDecision
{
ExecutionId = suspension.ExecutionId,
NodeId = suspension.SuspendedNodeId,
ActorId = "SYSTEM:AutoDecide",
Decision = decision,
IsAutoDecided = true,
DecidedAt = DateTimeOffset.UtcNow
}, ct);
// Inject response and continue execution
await _resumeService.ContinueWithAsync(suspension, syntheticResponse, ct);
}
Audit Trail Entry for Auto-Decision
// What appears in the approval audit trail for an auto-decision:
{
"actorId" : "SYSTEM:AutoDecide",
"actorName" : "System (Auto-Decision on Timeout)",
"decision" : "Approved",
"comment" : "Auto-approved after timeout. No response received.",
"isAutoDecided": true,
"decidedAt" : "2026-05-25T18:00:00Z"
}
Compliance Note
For regulated industries (finance, healthcare, legal), auto-decisions may need explicit approval from your compliance team. Check your regulatory requirements before using AutoApprove in workflows that trigger regulated actions (e.g., payment disbursements, medical record changes).
Use Cases
| Scenario | Recommendation |
|---|---|
| Employee onboarding form — optional manager review | AutoApprove — no response means no objection |
| Expense claim — manager must approve or it expires | AutoReject — no response means claim denied, resubmit required |
| Contract approval — high-value, must have a human | Escalate or Fail — do not auto-decide |