Time and attendance approval workflow not respecting manager delegation settings

We’re experiencing an issue with our time and attendance approval workflow in 24a. When managers delegate their approval authority to another user, the workflow still routes time cards to the original manager instead of the delegate.

The delegation configuration looks correct in the system:

<Delegation>
  <DelegateFrom>MGR_001</DelegateFrom>
  <DelegateTo>MGR_BACKUP</DelegateTo>
  <EffectiveDate>2025-05-01</EffectiveDate>
</Delegation>

The workflow routing logic doesn’t seem to be checking for active delegations before assigning approvers. This is causing delays because the original managers are out of office and time cards pile up in their queue. Has anyone encountered this delegation-aware approver lookup issue? We need the workflow to respect manager delegation settings properly.

We had this exact problem after upgrading to 24a. The issue was that our custom workflow routing logic was bypassing the delegation framework entirely. We were using a direct database query to find the manager instead of using the HCM approval APIs. Once we switched to the proper delegation-aware lookup methods, everything worked correctly. The delegation configuration you showed looks fine - the problem is definitely in how your workflow queries for approvers.

Check the workflow task definition as well. There’s a specific attribute that controls whether the task respects delegations. In our environment, we found that the ‘EnableDelegation’ flag was set to false on the time card approval task. Even though delegations were configured correctly in the system, the workflow ignored them because of this task-level setting. Navigate to the task configuration and verify this flag is enabled.

Thanks everyone - the issue was definitely in our custom routing logic. We were using direct supervisor lookups instead of the delegation-aware APIs.

I’ll provide a comprehensive solution covering all three aspects of this delegation routing issue.

Manager Delegation Configuration: Your XML configuration structure is correct, but ensure delegations are created through the proper HCM interface (Absence Management > Delegation) rather than direct data manipulation. Verify the delegation includes ‘Time Card Approval’ in the task type list and that status is ‘Active’.

Workflow Routing Logic Fix: The core issue is using direct manager queries instead of delegation-aware lookups. Replace your current approver assignment with:

<ApproverLookup>
  <Service>HCMDelegationService</Service>
  <Method>getEffectiveApprover</Method>
  <TaskType>TimeCardApproval</TaskType>
</ApproverLookup>

This ensures the workflow calls the delegation service before assigning approvers. The service automatically handles the delegation chain and returns either the original manager or active delegate based on effective dates.

Delegation-Aware Approver Lookup Implementation: Modify your workflow task definition to enable delegation support. In the task properties, set EnableDelegation=‘true’ and DelegationScope=‘All’. This tells the workflow engine to check delegations before routing. Additionally, ensure your approver query passes the correct context date - use the workflow initiation timestamp rather than the time card period date for delegation evaluation.

For custom workflows, implement a pre-routing validation step that queries active delegations for the calculated approver before task assignment. This prevents routing to unavailable managers and ensures delegation chains are properly followed.

Test thoroughly with various delegation scenarios: single-level delegations, delegation chains, overlapping date ranges, and task-type-specific delegations. The workflow should correctly identify the final effective approver in all cases while maintaining proper audit trails showing both the original and delegated approver paths.

Another thing to check is the effective dating on your delegation records. The delegation service is date-sensitive, and if your workflow is evaluating approvers based on a different date context than the delegation effective date, it won’t find the active delegation. Make sure the workflow is passing the correct as-of date when querying for delegations. I’ve seen cases where the workflow used the time card period end date instead of the current date for delegation lookups.

The delegation-aware approver lookup requires specific API calls. Your workflow needs to invoke the delegation service before assigning the approver. Standard time and attendance workflows should handle this automatically, but if you’ve customized the approval routing, you need to add the delegation check manually. Also verify that the delegation record has the correct task type associated with it - time card approvals need to be explicitly included in the delegation scope.