Power Platform: Document Automation Toolkit

Power Platform: Document Automation Toolkit

In the spirit of continuously infusing AI into the Power Platform and enabling rapid solution development, Microsoft has released the document automation toolkit.?This toolkit allows you to simply set up a robust document processing solution using multiple components of the Power Platform.

What tools does the document automation toolkit leverage?

  • Power Automate orchestrates the overall process, with workflows that handle the documents coming in from a specific Outlook mailbox, extracts data from the document with the help of AI Builder, and leverages business logic to determine if the document requires manual validation.
  • AI Builder is used to intelligently extract the relevant fields from a document.
  • A Document Automation Power Apps application is created to help the manual review and validation process.
  • Dataverse manages the document queue and stores the data, files, and configuration information

No alt text provided for this image

How does the document automation toolkit work?

Step 1: Receiving and storing the document

This full process is triggered by an email with an attachment arriving into a specified service mailbox.?When an email arrives, the “Document Automation Email Importer” workflow is kicked off.?The workflow grabs the attachment(s), creates a record for them in a Dataverse table, uploads the document into Dataverse, and updates the document’s status to “Extracting Data”.

Step 2: Use AI to process the document and grab values

The next workflow “Document Automation Processor” is kicked off by the change of status from the previous workflow.?This flow grabs the document and runs our AI Builder document processing model against it.?It grabs all the retrieved values (along with the respective confidence scores) and stores it in Dataverse.?Then the document’s record status is updated to “Validating Data”.

Step 3: Validate the captured data

The final workflow is triggered by the status switch from above and validates that the confidence score associated to all captured values are above the specified threshold – 80% by default.?If everything has a confidence score above the threshold, then the record’s status is updated to “Validated” and the process is done.?However, if there is a value with a confidence score under the threshold, then the document’s status is set to “Manual Review”.

Step 4: Leverage the document automation app to view processed documents and review documents needing manual review

A user can leverage the Document Automation Power App to view all processed documents and their details.?If a document is marked for manual review, a user can leverage this app to view the values/confidence scores compared to the actual document.?From there, the app will show which values are of concern and then the user can review the determined value and change the value, if needed.?Once changes are made, the user can provide a comment that will be tied to the document’s record and submit the document as validated.


What does the document automation toolkit look like in action?

I have put together an example use case leveraging the document automation toolkit that processes invoices received in a mailbox.?I’ve created, trained, and published a document processing model in AI Builder that understands what to look for on my invoices: Invoice, Bill to (Customer), Due date, and Balance.

Here is an example invoice for AW Enterprises that is about to be processed:

No alt text provided for this image

I can go to the Document Automation app to watch this invoice move through the process.

No alt text provided for this image

Once the document is fully processed, I can view the document details.

No alt text provided for this image

Everything looks good in this invoice and no manual review is required.

But what if I receive an invoice that the AI Builder model cannot fully process without manual review?

Let’s use this invoice for Smith Builders Inc., where the Invoice # has been replaced with unrecognizable characters:

No alt text provided for this image

As this invoice arrives into the mailbox, it is processed, and the validation step catches the unrecognizable characters and marks the document’s status as “Manual Review”.

No alt text provided for this image

I see that the invoice number wasn’t logged and therefore, the AI Builder model set the confidence score to 0%.

No alt text provided for this image

I can review and change the value as well as provide a comment before submitting the validated document.

No alt text provided for this image

This toolkit is a great starting point for your document-based processes, and you can extend it to meet your specific needs.?For example, if you needed the invoice values to end up in SAP, you could create an additional workflow that picks up the validated document from Dataverse and inputs it into SAP, either through the SAP connector or using RPA via Power Automate Desktop.

Happy automating!

Rich Uchytil

Software Engineer at Moda Health

1 年

I'm trying to use this and have run into a snag. I've got six collections of invoices. I've created fields for the data I want to capture on all of the invoices, though not all invoices have every field. When mapping I marked fields "not available in collection" if that field isn't on this invoice - for example "Fee Amount". When I drop an invoice in an email folder, it gets picked up and processed but it is saying it needs manual review because the fields that I've marked as "not available in collection" are blank. I need to be able to tell this to skip a field if it's marked as "not available in collection". How do I do that? I've asked this on the AI Builder community board and I'm not getting any responses. I have looked at the flow's that come with this kit and learned quite a bit, like how to join the Document Automation Processing table with the Document Automation Data table. I found where in the AI Builder Datasets table it says if the field is available or not. But I can't figure out how to join the Processing table to the AI Builder Datasets table - or if it's a different table I need to join. Any help would be greatly appreciated! Thanks!!

回复
Derek Buchanan

Microsoft Solution Partner | Solving business challenges with cloud technology | AI, Remote Support, SharePoint, Cloud Services

2 年

Exactly what I’ve been looking for. Funny how the universe provides exactly what you need. Impressive! Thank you Amber

Chuck Martin

VP Business Development | Eastwall

2 年

Great post! Power Apps are Awesome!

Bill Zarvalias

BI Analyst // Certified PowerBI Analyst | SQL | Python

2 年

要查看或添加评论,请登录

Amber Weise的更多文章

社区洞察

其他会员也浏览了