Invoice Approval Process Using Microsoft Teams and AI Model – Part 1

By | January 4, 2021


This blog is a 2-part series that will connect you with the whole invoice approval request automation flow from start to end:

Part 1 – Route an email to external services and create an invoice approval request in Microsoft Teams

Part 2 – Operate the AI model in automated flow along with enabling the actions (approve and reject) for invoice request and create the invoice in CRM once the request is approved in Microsoft Teams

In part 1, we will see how we can route an email to external services and create an invoice approval request in Microsoft Teams.

We all are already aware that Power Platform is a powerful low code platform that helps us build intelligent applications and automation even as a business user, without being a professional developer or data architect. We know from studies that the automation of invoice processes can lower the cost associated with possible human errors by almost more than 5x.

This starts in the shared inbox when new invoices are received. The key mechanism here is, instead of manually sending an invoice approval request to relevant stakeholders, behind the scenes we will use Power Automate to send an approval request to the right stakeholder automatically in Microsoft Teams. Going forward, we will see how we can add more powerful automation along the way without knowing how to code. Let’s start by using Power Automate which is a visual workflow engine included in office 365.

In our scenario, since an incoming email with an invoice is going to trigger the approval process, we will look forward to adding an automated flow that will run every time an email arrives with an invoice.

Let’s step by step build the standard invoice processing workflow using Power Automate:

You could see there are many built-in triggers available. From the list, we will choose the one where a new email shows up. You can select any of the available email services based on the requirement. For instance, we are picking up Outlook.

office 365 outlook

We have just created a flow that will monitor a shared inbox. For this, we need to make sure that the connection is added as shown below.

Note: This is the inbox that will receive an email with an invoice

receive an email

Expanding advanced options will further show you the below options along with the respective filters. We will set a filter on the below action to trigger the workflow only if an email has the attachment. If required, we can also specify the additional filters depending on the requirement however let’s keep it simple for now for an easy understanding.


Let’s add a new step with an appropriate connector which will help us integrate with other apps, services and data where the actions will invoke within this connector. Since we want the flow to route an invoice email to the approval team in Microsoft Teams, we will add a “Teams” connector and route the invoice to a channel in Teams. Power automate is natively integrated with “Teams” which is why teams and channels within them show up automatically


post a message



We can use the dynamic content in the message as shown below. Here we want to know from whom the invoice approval request is received in Teams, so we have selected dynamic content in the message.

post a message

Save the flow with the above steps. By far, we have successfully created a flow that will route an email to approver and create an invoice approval request message in the Microsoft Teams asking for the respective stakeholder’s approval on the same. Let’s see this in action by actually testing the automated flow.

test flow

invoice processing

Sender – sends an email with an invoice attached to the approver/stakeholder


As soon as the above email is received in the inbox, the approver sees it in Teams.

Email received in Outlook of approver/stakeholder

email received

Will be shown to the approver in Teams.


invoice approval request


With the help of the above steps, we have been able to route the email and create an invoice approval request in Microsoft Teams. We will see in the next blog how we can parse and extract the data from sample invoices using AI builder and further use it in our automation flow in the future.