PowerApps AI Builder Demo – Form Processing with PDFs

Following the launch of the AI Builder I decided to play with the Form Processing functionality to see where I could create something functionally useful for my team.

The Forms Processing model is designed to analyse documents / images and extract key data. So where to start;

Business Need – One of the things we have a requirement for in our business is a signed contract of some sort, whether a Statement of Work, Non-disclosure, consultancy framework agreement, Managed service agreement etc. These are usually time-bound – valid for just one year etc. So, could these documents be scanned to know the accurate life span of the document at the point they are signed / scanned in?

Note – After much playing with random pdfs you’ll come to the realisation that the system is looking for data it can analyse is a very specific format. You need to provide a pair of fields that it can parse such as Date : 01/01/2020 etc within your document structure

So, to speed up my development I created a generic “coversheet” for all documents to be added at the time of scanning / signing. Mine looked like this;

I created just 6 of these and fed them to the AI Builder to train it here..simply upload and hit the analyze button.

While the system gives you a warning that your model may take some time, mine completed within 5 minutes and you quickly get to the field definition screen shown below – this is delightfully simple to use;

Again, super quickly the model returned as done, literally while trying to take the screen grab above.

One last step and you need to “publish your model”

Now to play with an App – so hit the create app button;

I used a blank canvas app in the tablet format for mine as its going to live in Microsoft Teams for everyday use.

First thing to do in your app is to add in your AI Builder component from the Insert menu

This adds in the block to kick off the analysis – then add in the form fields you want to extract to show them on the screen.

For mine I wanted the team to be able to edit the entries so they are all edit boxes. I created a list in SharePoint to store the data, added the connection and finally added a button to update the list using the Patch function,

So, that’s my basic app done, now to deploy into Microsoft Teams – that is a very simple process where you add a tab, choose PowerApps and then add the App. I also added in my team a tab linking to the SharePoint list. So my team can now;

1 – update signed and scanned document to the team
2 – Open the App tab, scan it and add the reference to the contracts list

Note – there are some excellent walk through videos on patching although not many mention how to wrap a date or yes no so here is my patch statement to show you;

The next step is to build the flow that sends reminders based on expiry dates – but I’ll do that later – this was just to show you how simple this process is and how powerful it can be. I’m sure there are way better use cases too – if anyone has one I’d be happy to help you have a play at getting your own version of this up and running.

There are also some great videos out there on the AI Builder functionality, two of my favorites are from Shane Young – check out his feed here

Thanks for listening – don’t forget to leave comments below or get in touch with me directly if you’d like to chat about the content posted here or anything to do with the Power Platform – I’m a Business Applications speaker and evangelist with a clear focus on delivering real business value from technology. I speak at least once a month so please find me at an event and #LetsGetCoffee

1 Comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s