From what I understand you want some approval process/system which have multiple level of approvals, that can be customise. I have two suggestions for this problem:
1. Power Automate Approval Flows (Fully Configurable)
> You can use Power Automate Approvals with a configuration table in Dataverse.
> Instead of hardcoding the approval levels, you maintain an Approval Matrix Table where:
- Each record defines a step in the approval hierarchy.
- The client can add more stages dynamically.
> The Power Automate flow reads from this table and dynamically routes the approval requests.
> Supports parallel approvals, custom escalation, and reassignments.
Pros:
- No redeployment required for new approval stages. [ User can add stage in the Approval matrix table for more levels]
- Can integrate with Teams, Outlook, and external systems.
- Works across different record types in Dynamics 365.
Cons:
- Limited UI customization in Power Automate Approvals.
- Requires handling of delegation rules manually (e.g., reassignment).
2. Custom Approval Engine Inside Dataverse
> Instead of relying on Business Process Flows, create a custom Approval Engine inside Dataverse with:
- Approval Stages Table → Defines dynamic approval levels.
- Approval Requests Table → Stores each request and its current stage.
- Approval Actions Table → Tracks responses from approvers.
> A Power Automate flow or custom plugin can process approvals based on these tables.
Pros:
- Supports multi-entity approvals.
- Dynamic without redeployment.
- Can integrate with external approval systems.
Cons:
- More development effort initially.
---
Hope this answer helps you.
If you find this answer helpful, consider approving.