Approvals in Microsoft Teams

By Christian Segurado

September 13, 2021


  1. Overview
  2. Internal Educational Assistance Approvals via Teams
  3. D365FO PO approval via Teams Approval Application


Approvals in Microsoft Teams is an simple way to streamline all of an organization’s approval requests and processes. Short, Approvals in Microsoft Teams enables your employees to easily create, manage, and share approvals directly from Teams. The below addresses 2 use cases/scenarios – one is a stand-alone approval scenario for internal educational assistance requests and the second one addresses a PO approval scenario within Microsoft Dynamics 365 for Finance and Operations.

  1. Internal Educational Assistance Approvals via Teams

Log into Teams either via desktop application or browser under Navigate on the left hand side to Approvals and Template management.

Note: To create templates, you will need to be a Teams admin.

Create a new Template from scratch.

For now, we choose “Org wide” template – but keep in mind, you could also create templates just for certain teams or users.

Set up the basic configurations for the template such as category and description.

Set up form design such as adding fields for submitter name and today’s date.

As a next step, set up if an attachment is required and who should be the approver/s. (in our case, we just have one approver set up for simplicity)

Preview the results.

Publish the template if you all looks good. Voila – we are ready to use the approval template.

End-to-end Demonstration:

Navigate to the Approvals application on Teams.

Create a new request via template.

Choose the educational assistance template and fill out the form.

Send/Submit the approval. After the approval has been given, the below confirmation notification is sent.

  1. D365FO PO approval via Teams Approval Application

Now, we will leverage the Teams Approval application to process D365FO PO approvals directly via Teams.

First, set up an automated PowerAutomate flow under We will set the D365FO business event as trigger and specify the environment as well as which business event itself will trigger the flow to kick off. In that context, I selected my demo box as well as the Purchase order workflow for the USMF legal entity.

As a next step, we add the parse JSON action and pass on the Body from the business event and parse the data via the following JSON schema:

{ “type”: “object”, “properties”: { “BusinessEventId”: { “type”: “string” }, “ContextRecId”: { “type”: “integer” }, “ControlNumber”: { “type”: “integer” }, “EventCategory”: { “type”: “string” }, “EventId”: { “type”: “string” }, “EventTime”: { “type”: “string” }, “LinkToWeb”: { “type”: “string” }, “ListOfOutcomes”: {}, “MajorVersion”: { “type”: “integer” }, “MinorVersion”: { “type”: “integer” }, “OutcomeName”: { “type”: “string” }, “SerializedWorkflowDocumentData”: {}, “WorkflowComment”: { “type”: “string” }, “WorkflowConfigurationId”: { “type”: “string” }, “WorkflowCorrelationId”: { “type”: “string” }, “WorkflowCreatedDateTime”: { “type”: “string” }, “WorkflowDocument”: { “type”: “string” }, “WorkflowDueDate”: { “type”: “string” }, “WorkflowInstanceId”: { “type”: “string” }, “WorkflowOriginator”: { “type”: “string” }, “WorkflowOwner”: { “type”: “string” }, “WorkflowSequenceNumber”: { “type”: “string” }, “WorkflowStepInstruction”: { “type”: “string” }, “WorkflowTemplateName”: { “type”: “string” }, “WorkflowUserEmail”: { “type”: “string” }, “WorkflowVersion”: { “type”: “string” }, “WorkflowWorkItemInstanceId”: { “type”: “string” }, “WorkflowWorkItemSubject”: { “type”: “string” }, “WorkitemOwner”: { “type”: “string” } } }

As a next step, we validate the work item and set a condition.

If the validation value equals true, then an approval item is created in the Teams approval application.

If the validation value equals false, then an email is sent stating that an action is needed to be executed prior approval can be processed.

Lastly, as soon as the response is recorded, the outcome will be passed back to D365FO.

As a final step, create a new endpoint under business catalog events form in D365FO and select PowerAutomate as endpoint type.

Now, enter a name and PowerAutomate URL.

Navigate to D365FO and the business catalog events form and activate the PO approval work item business event.

Select the prior created endpoint and specify the LE.

Validate that the business event is now active under active business events.

End-to-end demonstration:

For the following end-to-end demo, I set up an easy PO approval work flow. There is no automatic action and all approvals are simply routed to my userID #2.

Create a PO and submit the PO for approval with my userID #1.

You can see that there is a pending work item for my userID #2 in D365FO under workflow history.

The UserID #2 that is logged into teams via browser gets now an approval request notification and can approve the work item directly from Teams – See below.

I can click on the attachment if more details are needed (The attachment is a link to the PO in D365FO).

The link directs you straight to the selected PO approval work item in D365FO.

If all looks good, I can add comments if needed and approve the work item in Teams and submit the response.

The final status is set to “completed” in the teams application and I receive the below notification.

Just to check, I validate that the approval was passed back smoothly to D365FO. You can see my PO is now in approved status.

Lastly, I check the automated flow that orchestrated the above – the status shows that my run was successful with no errors.



Disclaimer of Liability

The information provided here is for general guidance only, and does not constitute the provision of legal advice, tax advice, accounting services, investment advice or professional consulting of any kind. The information provided herein should not be used as a substitute for consultation with professional tax, accounting, legal or other competent advisers. Before making any decision or taking any action, you should consult a professional adviser who has been provided with all pertinent facts relevant to your particular situation.

Mazars USA LLP is an independent member firm of Mazars Group.

Related posts

Description In episode thirty-five of Food for Talk, host Howard Dorman, Mazars Food and Beverage Practice Leader, speaks with PJ Wiebel, CEO of Econo-Pak. They discuss the dynamics of family business, maintaining a competitive advantage in the packaging industry, and handling supply chain disruptions. Econo-Pak is a family-run business that

Read More

The global financial services sector has experienced increased competition over the last 10-15 years due to factors including the emergence of fintech and smaller, more nimble institutions. As part of having an operational environment that provides a competitive advantage, there has been an emerging practice of outsourcing business areas that

Read More

The COVID-19 pandemic prompted critical changes in a financial services industry that was forced to take unprecedented steps to maintain liquidity and oversee the critical flow of capital in a world pummeled by the crisis. These measures raise important issues and carry enduring ramifications going forward. Chief among them are

Read More

Copyright 2021 - Mazars - United States