Project task approval workflow errors after changing project role hierarchy

We recently restructured our project role hierarchy to add an additional approval layer for senior project managers. Since making this change in our Workday R1 2023 environment, our task approval workflows are throwing errors and tasks are stuck in pending status. The error we’re seeing is:


Error: Approver assignment failed - Role not found
at WorkflowEngine.assignApprover(line 243)
Unable to resolve approval chain for task ID: TSK-2847

The project role hierarchy changes included adding a ‘Senior PM’ role between ‘Project Manager’ and ‘Program Director’. We updated the organizational structure but the workflow approver assignment logic isn’t recognizing the new hierarchy. Tasks that previously routed to Program Directors are now failing because the workflow can’t find the intermediate Senior PM role. Has anyone dealt with workflow approver assignment issues after modifying role hierarchies?

You’re dealing with a complete workflow reconfiguration scenario. Here’s the comprehensive solution addressing all three aspects:

Project Role Hierarchy: The error you’re seeing occurs because your workflow has cached references to the old organizational structure. When you added the Senior PM role, Workday created new role IDs and hierarchy relationships, but your workflow is still looking for the old role references. First, verify that your new hierarchy is properly configured in Organization > Roles > Project Roles, and ensure the Senior PM role has the correct supervisory relationships defined (reports to Program Director, supervises Project Manager).

Workflow Approver Assignment: You need to completely reconfigure your approval routing. In Workflow Designer, open your task approval workflow and locate each approval step. Change the assignment type from ‘Specific Role’ to ‘Supervisory Organization’. For tasks originating from project team members, set the assignment to ‘Supervisor at level 1’ (Project Manager), then add a second approval step with ‘Supervisor at level 2’ (Senior PM), and a third with ‘Supervisor at level 3’ (Program Director) if needed. This dynamic approach means future hierarchy changes won’t break the workflow.

Critically, you also need to add conditional logic to handle scenarios where the Senior PM role might not exist for certain projects. Add a condition: ‘If Supervisor at level 2 exists, route to level 2, else route to level 3’. This prevents the ‘Role not found’ error.

Notification Logic: Your notification configuration has the same static role references. Edit the notification settings for each approval step. Change from ‘Notify Role: Program Director’ to ‘Notify: Assigned Approver’. Then add secondary notifications using dynamic references: ‘Notify: Supervisor of Assigned Approver’ to keep the next level informed. Update all notification templates to use dynamic placeholders like {Approver_Name} instead of hardcoded role names.

Implementation steps: 1) Edit workflow approval steps to use Supervisory Organization assignment with level offsets, 2) Add conditional routing logic for missing roles, 3) Update all notification configurations to use dynamic approver references, 4) Go to System Administration > Business Process > Refresh Approval Routing Cache, 5) For stuck tasks, use Workflow Administration > Reassign Tasks in Bulk, filter by status ‘Error’, and manually reassign to the appropriate Senior PM or Program Director.

Test thoroughly with a pilot project before rolling out to all projects. This dynamic configuration will make your workflows resilient to future organizational changes.


This draft is based on general Workday knowledge. It has not been verified against your specific version and environment. Practitioners: verify the steps and share your experience below.

When you modify role hierarchies, the existing workflows don’t automatically update their approval routing logic. You need to manually edit each affected workflow and update the approver assignment rules to include the new Senior PM role. Check your workflow configuration and look for hardcoded role references that might be pointing to the old hierarchy structure.

I’ve encountered this multiple times. The issue is that your workflow is likely using static role assignments rather than dynamic hierarchy-based routing. You need to change your approver assignment from explicit role names to hierarchical position references. Instead of ‘assign to Program Director’, use ‘assign to supervisor at level 2’ or similar dynamic references. This way, when you add intermediate roles, the workflow automatically adjusts. Also check if your notification logic has similar hardcoded role references.

That makes sense about dynamic references. I checked our workflow and we are using explicit role assignments. However, I’m confused about how to configure the hierarchical position references in Workflow Designer. Is there a specific syntax or configuration option for this? Also, should I be concerned about existing in-flight tasks that are already stuck?

Confirmed this resolves the stale role reference issue—after validating the Senior PM supervisory relationship in Organization > Roles > Project Roles, our task approval workflow routed correctly.

For the hierarchical references, in Workflow Designer go to the approval step configuration and select ‘Supervisory Organization’ as the assignment type instead of ‘Role’. Then specify the level offset - in your case, you’d want ‘Supervisor at 2 levels up’ to reach the Senior PM or Program Director depending on the task originator. For existing stuck tasks, you’ll need to manually reassign them using the workflow administration console. There’s no automatic fix for in-flight items unfortunately.

One thing to add - after you update the workflow configuration, you also need to refresh the approval routing cache. This is often overlooked but critical. Go to System Administration > Business Process > Refresh Approval Routing Cache. Without this step, workflows continue using the cached old hierarchy even after you’ve updated the configuration. This could explain why your changes aren’t taking effect immediately.

I updated the workflow to use supervisory organization assignment, but now I’m getting a different error about notification routing. It seems the notification logic also needs updating.