Patterns
intermediateapproval

Delegation on Absence

Automatically reroute approval tasks to a designated delegate when the primary approver is out of office. Prevents process stalls during vacations, sick leave, and travel.

Views28
BPMN 2.0
On this page

Visual Flow

Rendering diagram…

When to Use This Pattern

Use delegation on absence when:

  • Approvers regularly go on leave, travel, or are otherwise unavailable
  • Pending approvals stall for days whenever someone is out of office
  • You want to avoid the heavy-handed approach of auto-approving after a timeout
  • Your organisation has a culture of backup/delegate responsibilities

How It Works

StepWhat Happens
1Workflow is about to assign an approval task
2Check if the approver has an active delegation rule (OOO calendar, delegation table, or Exchange status)
3If OOO → route the task to the designated delegate instead
4Notify the original approver that the task was delegated
5Delegate completes the approval on behalf of the original approver
6Audit trail records both the original approver and the delegate

Implementation Guide

Step 1: Build a Delegation Registry

Create a central place where employees register their delegates:

FieldExample
Employeejane.smith@company.com
Delegatebob.jones@company.com
Start Date2025-03-15
End Date2025-03-22
ScopeAll approvals / Specific types only
StatusActive

Options for the registry:

  • A SharePoint list with a self-service form (simplest)
  • Exchange/Outlook OOO detection via Microsoft Graph API
  • A database table managed by HR when leave is approved
  • Automatic — when a leave request is approved, create the delegation entry
Step 2: Check Delegation Before Assigning

Before every task assignment:

target_approver = resolve_approver(request)

delegation = lookup_delegation(target_approver, today)

IF delegation exists AND delegation.is_active:
    actual_assignee = delegation.delegate
    delegation_flag = true
ELSE:
    actual_assignee = target_approver
    delegation_flag = false

assign_task(actual_assignee, delegation_flag)
Step 3: Add Context to Delegated Tasks

When a task is delegated, the delegate needs extra context:

  • "You are acting on behalf of Jane Smith" — prominently displayed
  • Original approver's typical approval criteria (if documented)
  • Delegation scope — ensure this type of approval is within scope
  • Escalation path — who to contact if the delegate isn't sure
Step 4: Handle Edge Cases
ScenarioSolution
Delegate is also OOOCheck delegate's delegation → chain up to 2 levels, then escalate to manager
Delegation expired mid-taskIf task is already assigned, keep it with the delegate. Don't yank tasks mid-review.
Approver returns earlyOptionally reassign pending delegated tasks back. Or let the delegate finish.
No delegate configuredFall back to the Escalation with SLA Timeout pattern
Step 5: Audit Trail

Every delegated decision must record:

  • Original approver name
  • Delegate name
  • Delegation reason (leave type, dates)
  • Decision made by delegate
  • Timestamp

Tips & Best Practices

Important

Never allow open-ended delegation (no end date). Always require an end date and send a reminder to the employee to confirm their return or extend the delegation.

  • Require delegate acceptance. Before the delegation takes effect, send the delegate a confirmation task. They should agree to take on the responsibility.
  • Limit delegation depth. Don't allow A → B → C → D chains. Cap at 2 levels (delegate's delegate) then escalate to management.
  • Separate approval authority. Some approvals (>$50k, legal contracts) may not be delegatable. Flag these in the routing matrix and escalate instead.
  • Automate from leave requests. The smoothest UX: when a leave request is approved (see the Leave Request templates in the Gallery), automatically create the delegation entry.

Related patterns