Modernizing a multi-year approval workflow
- Mar 5
- 2 min read
Updated: Mar 22
Overview
The team manages 50–100 specialized technical tools used across multiple teams. Each tool repair request requires a four step approval process, and requests often remain active for several years before approvals are complete. The legacy system was built on InfoPath from with 5 form views, SharePoint 2010 impersonation workflow and 2013 workflows. Item level permission breaking, creating a fragile environment that was difficult to maintain.

The goal of this project is to modernize the entire workflow using Power Apps, SharePoint Online, and Power Automate, while eliminating the dependency on legacy technologies and reducing administrative work.
Pain Points
Multi year approvals that outlive the technology
Item level permission breaking for every request
Every submitted request breaks inheritance and assigns permissions based on the tool being requested.
This model used:
2 SharePoint groups per tool
100–200 groups total
Constant maintenance as users changed roles
Frequent permission breakage
InfoPath and 2013 workflows are end of life
User experience was inconsistent and difficult to navigate
Solution
SharePoint Online, Power Apps and Power Automate: Role & Status Driven System
Sub lists used to organize technical system data, teams, and admins. The primary team access list will replace the use of 100s of Permission Groups by leverage Power Automate to streamline the process and save the team time and maintenance nightmare issues.
Access list broken down by:
Tool, Teams, with one team that will be based off workload selection and will auto populate to save the site owner data entry time. This allows the system to dynamically display:
who can see each request
who can approve each stage
who receives notifications
who has admin privileges
Status driven workflow instead of Power Automate approvals
Each button:
updates the Status field
stamps the approver and timestamp
triggers a Power Automate flow to send HTML email notifications
The form dynamically shows or hides:
sections
fields
approval buttons
admin tools by using Power FX and status values, as well as User values.
This creates a clean, intuitive experience for every participant

Power Automate
On the backend of this system it is using 3 flows:
On new item creation the permissions are broken and the users associated with the tool are granted edit permissions.
On new item creation of the technical tool and the associated teams, 1 of the teams is consistently 1 of 2 groups depending on what tool is selected, Power Automate tests that and will assign the correct team.
The final flow is when the item is created or modified, it will check the status value and contact the appropriate teams with a clear HTML email that provides a link to the item for approval. There are 5 status based emails and 1 based off of the admin team pinging the correct to review the information again, as the workflows are multi-year approvals.



Comments