Introduction
In this blog, I would like to discuss the Power Automate Approval connector, the different actions it provides, and explore available advanced options.
Flow Approvals
- The Approval action in Power Automate is a built-in action that is used in approval scenarios.
- This action can be easily customized to fit any business requirements
- There are various approval patterns that can be used in different scenarios. Some of these patterns are Sequential approval, Parallel approval, and State machine approval.
- Multiple approval type options are available out of the box as part of this action. These are,
- Everyone must approve
- First to respond
- Wait for all responses
- Wait for the first response
- External users can be added as approvers in the approval process.
Use cases for approval flows
Some of the popular use cases for approvals are as follows:
- Approving documents
- Approving proposals
- Approving vacation time
- Approving expense reports
Types of Approval Actions
Power Automate currently ships with three actions available for approvals. These are as follows:
Create an Approval
This action starts an automated approval process, but does not wait for the approval to complete.
The approval is cancellable.
Wait for an Approval
This action waits for a specified approval to complete.
Start and Wait for an approval
This action starts an automated approval process and then waits for it to complete.
The approval is cancellable.
Start and wait for an approval is the most common of these actions.
The other two options are derived from the “start and wait for an approval” action and provide much more flexibility and customizations.
Start and Wait for an Approval
The first decision is determining what type of approval will be required. There are four options available here:
Approve/Reject First to respond
- This allows the approver to simply approve or reject the request.
- The approval can be sent to one or more approvers. In the “Assigned to” field, you can enter your approver identity in one of the following formats,
- Email id of your approver
- UPN (User Principal Name)
- Azure AD ID of your approver
The following identities cannot be used in “Assigned to” field:
- Azure AD Groups
- O365 groups
The outcome of this action is either “Approve” or “Reject” based upon the action taken by first approver. In other words, if the first approver approves this request, the outcome of this approval action is “Approve”. If the first approver rejects this request, the outcome of this approval action is “Reject”. The image below shows a section of JSON body output of the approval action.
Since a single string value is returned in this case by approval action, it is easy to compare this value against hardcoded “Approve” or “Reject” literal.
Approve/Reject - Everyone must approve
This approval type allows the approval to be sent to one or more approvers. If any of the approvers rejects the request, the outcome of this approval action is “Reject”. The outcome of this approval action will be “Approve” only when all approvers approve this request.
Here is the point to bear in mind. If any of the approvers rejects the request, the outcome of this approval action is “Reject”. Therefore, the action returns one and only one value. However, if all approvers approve, the outcome of this approval action is “Approve,Approve”. Therefore, in order to test the outcome of this approval action, you must check if the outcome contains “Reject”, as shown below:
The option to "approve with edits" or "Deferred" is one example of a common use case for custom responses. For example, the approver may look at the document or proposal, make necessary edits, and then select "Approved, but with edits". Another scenario could be that the approver defers the approval.
When creating a list of custom responses, there are two options available. The first option is you can hard-code available responses, and the second is you can pass in a dynamic list of responses. Dynamically means retrieving the list of response options from a database, Excel file, SharePoint list, or any other location where data may be stored. The idea here is that if the source changes, the list of options available in the workflow will also update. This will result in simplifying the maintenance process. The feature that allows the approval action to create a dynamic list of custom responses is called “Switch to input entire array.”
Even though you are allowed to create any number of custom responses, a good practice is to keep these below 5 as Outlook client does not display more than 5 custom responses.
- Custom Response – Wait for one response
Same as above but the approval action returns as soon the first approval response outcome becomes available.
Markdown Language Support
Markdown is a simple, lightweight language that enables you to add formatting to plain text. This language is available in the approval action so that the approval details can be formatted for a better and cleaner approval representation. Markdown allows you to add line breaks, paragraphs, headers, bolding, bulleted list, links to resources, and more.
When building out the details of your approval, the details section is what is seen by the approver. This section must provide all the necessary information enabling the approver to make decision. You can use Markdown to format different parts of information so that the most important bits stand out.
Advanced Options
Let us explore some advanced options available in Approvals action.
Requestor
By default, the Requestor is the account of the user who created the flow.
Like other configurable properties in Power Automate, dynamic content can be utilized to update the requestor based on the values from triggers or actions upstream.
Disable Notifications
- Currently, notifications arrive via email and the Power Automate app.
- As of now, the ability for customizing the delivery method of approvals does not exist within the approval action.
- You can disable notifications to prevent an excess of emails from being sent via a workflow approval.
- Select “No” for Enable Notifications to turn off notifications.
Reassigning Flows
If the approval request has been directed to the incorrect approver, then the approver receiving the request can reassign the approval request to another individual. This could be anybody in the organization.
The ability to reassign flows is turned on by default but can be disabled in the advanced options section of the approval flow.
In order to do this, first go the approval centre by clicking “Approvals” in the menu on left side.
In the approval centre, select the received approval, click the ellipses on the top to access the reassign option.
The other way to access the same option is to select the received approval, click on the vertical ellipses to access more commands.
Clicking on Reassign will open up the card for you to enter the user to whom this approval needs to be reassigned.
Add Attachments
You can attach one or more attachments along with the approval. This is usually done when approval is required for more than one item.
You would use attachments if you do not want your approvers to switch between different applications. For example, if the document you need approval for resides in SharePoint and you leverage Outlook for approvals, you would not like your approvers to leave Outlook and go to the SharePoint site to open up the document for approval review. For such scenarios, use attachments.
If you leverage Outlook for approvals and want to provide an in-place experience for approvers to be able to view all the artifacts that need approval, attachments are the way to go. Since Outlook provides file preview for Office files, you would like to leverage this feature instead of providing links to one or more approval documents that open in other apps. Be mindful of the file size limits when attaching documents to your approval action as it is not a good idea to attach big files of high-resolution photos as an attachment in your approval action.
Another compelling reason to use attachments is you would like to seek approval for a document in it’s current state. For example, if users request approval for a Document stored in the SharePoint Document library, you would not like users to continue editing the document after an approval request is raised. You would like to lock editing for such documents. In such cases, although different solutions can be developed as per business requirements, one way would be to use attachment so that approvers can approve the document attached in email.
Responding to Approvals
Once an approval has been sent, an approver can respond through:
- The Approval Centre Dashboard in Power Automate portal to view all sent, received & historical requests and actions on approvals
- Directly from the email received in your inbox (actionable messages)
- Power Automate mobile app
- Microsoft Teams
Response Options
When responding to an approval request, the approver has multiple options available:
- If a link to the item requesting approval was provided, then the approver can navigate to the link, review.
- The next step is to approve or reject the approval request. If a custom list of approval options was provided, then the list would include those options in lieu of the standard approve and reject options. Once an approval option has been chosen, the approver can provide any comments or feedback. Keep in mind the approval response and the comments provided will be available for other actions to utilize downstream in the workflow.
In this article, we explored the Power Automate Approval connector and actions.
I hope you liked this article! Please share your valuable comments and feedback with me.
Stay well and happy PowerApping...!