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?
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:
领英推荐
I can go to the Document Automation app to watch this invoice move through the process.
Once the document is fully processed, I can view the document details.
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:
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”.
I see that the invoice number wasn’t logged and therefore, the AI Builder model set the confidence score to 0%.
I can review and change the value as well as provide a comment before submitting the validated document.
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!
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!!
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
VP Business Development | Eastwall
2 年Great post! Power Apps are Awesome!
BI Analyst // Certified PowerBI Analyst | SQL | Python
2 年George V. Giorgos Papadopoulos Nikos Tasoulas This is awesome!