The new Approvals application emerged in Microsoft Teams everywhere mid- January 2021. While this version needs to be considered version 1, it always packs great possibilities for organizations to use. Creation of an approval request is very easy and you can also attach documents with it.
Everyday, lightweight, approval requests can be for example to this
- approval to attend an event or purchase something
- work order approvals
- OK to start work on something
- Acknowledgement of NDA/practices/code of conduct
- review of a document / code
- Hours approval
- Approval of blog texts or other materials
- etc.. and there is no limit here but the imagination!
What is really good is that approvals are traceable (who did and when ) and it is not possible to remove the earlier entries from the list. Read about using the Approval app with a business process later in this article. Note: you can only add approvals to your default environment.
Approvals also send an email about the approval so the person doesn’t even have to be in Teams to be able to approve the request. While I like to say “that is not possible” I know in the real world there are lots of people who rely Outlook as their #1 tool. With approvals it is up to the receiver where they approve the request: if approved in email the approval app reflects that and vice versa. I love those updatable adaptive cards!
After opening Approvals app you you also check it’s own entry in Teams Settings – Notifications:
In there it is possible to control what kind of Teams notifications you receive concerning Approvals
It is possible to turn those notifications off as well:
First find the application by going to applications and searching for it
You can then add it to yourself, to a chat or you can add approvals to a team as well.
When you open the App you can see following areas in it:
- You can switch between Received (you are approving something) or Sent (you have created the approval request) approvals.
- The request title : what you should be approving
- The status: is it waiting for approval or has it been resolved already (like in the example)
- Who requested the approval
- Who are receivers (ie: who will be approving the request). There can be just a single approver (like in the example) or several.
6. Filtering the view: You can choose to show only Requested (open) approvals or ones with Custom answers.
The requested filter is very handy: you see only the open approval requests you need to act on – or you have sent out if you are looking at Sent folder – when you click that one on.
7. And finally you can create a new ad-hoc approval by using the button “+ New approval request“.
Creating a new approval request (ad hoc approval)
When the dialogue opens you will see the following (you need to do a bit of scrolling down to see all of it – I have used the copy-paste magic to this picture)
- Give your approval a name (title) that defines the approval need in compact form
- Choose people (type names/emails) who will be approving the request in your organization. Unfortunately you can not use guests here. You can – in fact – add a guest user as approver and the request is sent to them. But since they don’t have access to Power Automate, unless specifically licensed, they will see error when they try to open the approval via notification:
The lesson learned: do not put a guest users as approvers. Guests can not create approvals either. This is something you can err with easily so this is really something that must be instructed to users.
3. If you selected multiple approves this flag controls if you need their all approval or is just the first decision enough.
4. Details to what you are asking approval about. It could be something about the document or additional info to it, some insights or even just a summary of costs you need have approved in advance.
5. You can add attachments. You can only upload new files from your computer in this one. The files will be uploaded to your OneDrive under folder “Approvals Document” and shared automatically with approvers. When the approval is done nothing changes in files.
6. You can define custom responses when Approve and Reject isn’t enough. Basically you enter custom names for those answers so they don’t appear as approved or rejected. You could perhaps give two options (seeking approval for work order to 3 or 5 hours) – of course this would have been discussed beforehand with recipients.
7. Finally you send the Request.
In the example we have a approval request we send to Patrick about our blog post document.
We can see our blog post in the Requested (open).
And the document is loaded to OneDrive
Looking at the sharing link it reveals Approval actually creates a organization-wide sharing link , instead of keying that to a specific person. I can see the use here if we can switch the approval process to another person.
Switching to Patrick’s view we see the received approval
This dialogue is really simple. Patrick can
- open and edit the document
- see the timeline
- write comments
- Reject or Approve the request.
In this post we just Approve it with some comments.
Switching back to the original person we see we have a notification that automatically opens Approvals-app when clicked to view it.
From the app we can see the request was approved (the top area) and in the lower area we can see who approved, when and if there were any comments.
And that’s it on the ad hoc part! Really simple way to create approvals to one or more persons to manage! And since approvals don’t appear just in the notification feed but open the app automatically + all open approvals are easily found via the app it makes perfect sense to start using these for smaller use cases as well that have been earlier managed with chatting or atmentioning a person and asking approval in a free form. This one does have more traceability – older approvals can not be removed.
Approvals in a team
Once Approvals-application is added to a team it can be accessed from message extensions.
Or it can be called upon as a bot
And this one can be used to create new approval requests
The dialog that is opened is just like the one we opened earlier
And even the file upload happens the same way (from requestor’s computer).
What is different is that the approval request is visible in the team:
Patrick approves the request normally.
What is again different is that the approval notification directs directly to the team channel and it shows the approval outcome visibly in the channel.
Other team members can also see the approval in the team channel and they can view details of it.
Approval is also shown in my sent approval requests since I was the one creating it. Other team members don’t find the approval request via their Approval app.
How about using approvals in automatic and structured business processes?
Power Automate has had Approval connector for a long time ( since winter 2020 or longer!). This one has only three actions but you can use them to create approval processes in your flows or processes.
Start and wait for an approval is a simple one: you enter details and it creates the approval and waits until the decision has been made (or Flow expires after 30 days). However using that option doesn’t enable you to act between creation of the approval and the moment of decision. That is why I usually prefer to use Create an approval to create it and then it is possible to update information (request is sent) or be in contact with the backend systems about the status – or even ask for approval using adaptive cards in a Teams channel. One big advantage is to have response URL that enables you to write the direct URL for responses if you need to put to a custom location.
When you create an approval request in Flow you choose first the type:
After that (I recommend you not to change that after choosing it – it is better to delete the action and recreate it as a new one) you enter similar details than in Approval app
However you have two major changes here:
- Define the link for the item. It is an URL to a document, web page, other system. list item, page in SharePoint, .. you name it. And you add any title for that you want to
- Add people directly or via a dynamic value / variable – for example filled with all team members so anyone in the team can approve it
- It is possible to disable/enable reassignments
- Additional attachments can be added as well.
- Notifications (sending email & notification) can be turned off.
After that action the approval ID becomes available – as well as the response link, adaptive card about the approval and many other variables.
It is possible to use these actions in several processes very easily
- Approving a request that has been entered via Forms
- When a new file is uploaded, it needs to be approved before added to a team
- Asking to approve an NDA or contract when joining a team or during onboarding process
- Leave requests
- Travel / expense / purchase approvals
- Team practices approval when person joins a team
- Approval of the team creation
- Approval of confirming a task done
- Approving information before it is sent to the back end
- Enable guests approval processes by entering information to the list and then use triggered flow to ignite the process (check potential licensing)
- combine with numerous triggering and integration capabilities Power Automate or Azure Logic Apps offer.
- .. and again – there is no limit.
After the Wait for an approval completes you can check the outcome, who approved/rejected, comments, dates etc information. And since you are working in the Flow this enables the possibility to act on the document automatically: moving it to a specific location or locking it down with changing permissions
Note: You can not add approvals in Dataverse for Teams bot directly: you need to use a list or some other data storage in a step in a middle and then add a triggered Flow to proceed with approval process!
For more information
Read my earlier blog post about approving files for a Power Automate example.
You should also read my good friend’s , who is also a fellow MVP, Chris Hoard’s posts concerning Approval processes:
Other fellow MVP and friend Amanda Sterner also wrote about Approvals in her blog. Read her post here: Approvals in Microsoft Teams !