Inspired by a number of great people in the community who wrote about Workflow Approvals using Power Automate in the past I wanted to use this in a prototype based on requests that I have seen in the field. This idea is translated into the use case I have used in previous articles: Padel Vamos.
Because of the growth of the company, the number of quotes that are sent to clients is increasing rapidly. The number of quotes that go out that should not have gone out in the way they were sent did increase massively, which is causing missing revenue. They are now looking for a solution where there is more control and validations in place. The different countries where Padel Vamos is operating have different backgrounds and have different thoughts on how to operate when it comes to the approval of quotes that are sent out.
The requirements are defined as follows:
- On the user level needs to determine what kind of approval is required, this allows flexibility
- Approval should be triggered automatically
- Three types of approvals
- Auto Approve, no approval is needed
- Manager, the manager of the quote submitter needs to approve
- Value Range, per user a range of values is set with each a different approver
- Once approved the Quote can be marked Won

New approval settings on the user record
The user record is extended with an option to manage what kind of approval needs to take place, either Auto Approve, Manager, or Values Ranges. In the case of Value Ranges, there is an option to provide ranges that are stored in a separate new table called User Approval Value Ranges. This is something you could even further automate of course when you have a certain Site, Territory, or Position to apply standard value ranges for example.

When creating a new quote the Type of Approval field will be set on the Quote. If you apply column security profiles (if you don’t know then check out one of my previous posts: New Column Security Profile experience – JScheper.com) you could even decide if some users should be able to override the type of approval but for now, it is fixed.
Workflow approvals using Power Automate
The complete Power Automate flow you will see below and after that I will highlight all the steps that are worth mentioning. If you do have questions about the things I have not explained then feel free to comment the post and I am more than happy to answer those.

The trigger of the flow When Quote is Activated and not Approved is the first step. Because the request was to automate this process this will only be triggered once the quote gets activated. Setting the Filter Rows will cause the triggering to be right.

Then we get some records (reading) and jump to the Switch statement which is based on the Type of Approval field, which is Value Range, Manager, or Auto-approve (default). The Value Range path I will explain since that seems to be the most “complicated” one.
The next step is to figure out, which value range the quote fits in and who should approve it. In the List Approval Value Ranges action I am doing the following:
- Table = User Approval Values Ranges, this is our new table that is linked to the user record storing the different ranges
- Filter Rows = Filter all records for that specific user and the Above Value should be less than the total amount.
- Sort By = The sorting will be on Above Value with the descending ordering. This is important since we want to check from high to low values
- Row Count = 1. This is crucial since we only need 1 approver record and we need the highest one. If you check the settings for our use case the first approver for everything above 0 was set to johnking@padelvamos.com. But since we start with the highest value the first one that meets our criteria is angelaracket@padelvamos.com

Then the perhaps most important step in this flow, Start and wait for an approval – Value Range is added.
- Approval Type = First to Respond
Below the documentation from Microsoft about the other types of approvals: Get started with Power Automate approvals – Power Automate | Microsoft Learn

- Title = The Title of the quest
- Assigned To = This is set to be the Approval Email field of my new table List Approval Value Ranges.
- Details = Description with some dynamic data in my example, which you can make a lot nicer than the information that I have put in.
- Item Link = Link to the Quote record in the Team notifications will appear in the Attachment sections.

The new process in action
Below you will see a demonstration step-by-step of the new process with workflow approvals using Power Automate:
- As a preparation, I created a quote which is in Draft state and ready to be sent to the customer. As you can see the user is set up to be using the Value Ranges type of approval and therefore this is set on the quote. The first step will be to select the Activate Quote button from the ribbon.

- This will trigger the new approval process and since the Type of Approval is set to Value Ranges on the quote and because the Total Amount of the quote is 2790,00 US Dollars the approval rule that should take place is: APPVAL-1000 – angelaracket@padelvamos.com.

- A notification is being sent to my Teams, where I can review the request. As you can see I also have the option to go straight to the record since the link of the record is being captured in the Attachments.

A standard message is also generated to my email vox.

- Once the approval request is either Approved or Rejected, the Power Automate flow will continue to run again. In this case, I will Approve the request
- The quote record will be updated to Status = Approved and I have provided some details of the approval request in the description.
- As an addition, which I have not done in this flow, you could also send an email to the request with the result of you approval request.

Nicely done!!