Wednesday 7 September 2022

SharePoint Syntex - new support for full document automation scenarios with Power Automate

SharePoint Syntex, the AI-enabled document automation capability within Microsoft 365, has steadily been increasing in features since its introduction in October 2020. In relative terms Syntex is still quite a young product, and seeing the new features emerge it's clear that Microsoft are investing heavily in this area. If you're not familiar, Syntex offers a range of capabilities including:

  • Automated creation of documents from your templates (known as Content Assembly)
  • Automated classification and understanding of documents - once Syntex AI is trained it can not only identify and recognise your different document types (contracts, invoices, CVs, safety reports, sign-off sheets etc.) but also extract key elements. Pulling the recommendations from a safety report could be one example of this. Often, you'll build a more significant automated process around this, for instance notifying a specialist team or inserting into a database or ERP system
  • Automated content compliance - since Syntex AI can automatically classify your document types from the contents, it can be used to protect and manage content. One example might be adding a sensitivity or retention label to a document identified as a CV - thus ensuring Conditional Access policies are applied or that a disposition process is triggered after a certain number of years

Until now, one of the missing pieces was the ability to fully automate Syntex. When using Content Assembly to create documents for example, it was necessary for a human to click a button to actually trigger the document creation, and this was required on a one-by-one basis (for more details on bulk document creation Syntex see my guide Automate creation of new documents with SharePoint Syntex Content Assembly). This was a real constraint on Syntex for genuine end-to-end automation, otherwise known as Straight Through Processing (STP), because clearly if a human needs to trigger the process then by definition you don't have full automation. 

As expected, Microsoft have now solved this by integrating Syntex with Power Automate.

Two main scenarios for Syntex integration
While there are a million use cases for using Syntex (and Intelligent Document Processing in general), fundamentally there are two patterns which underpin pretty much all of them:
  • Automating the creation of a document - i.e. automated use of Syntex Content Assembly
  • Automating a downstream process once Syntex has 'read and understood' a document - i.e. steps triggered when Syntex has completed its Content Understanding process
Microsoft now address both of these fundamental needs with the Power Automate integration - there is one new trigger and one new action.

Let's look at both scenarios individually.

Fully automated document generation with Syntex Content Assembly

Previously, it was possible to automate most but not all steps to create a document with Syntex Content Assembly. You could set up your Syntex document template with placeholders for values to be dropped in, and you could create data rows representing individual document instances to be created from the template - these are usually SharePoint list items for Syntex. What you couldn't do is create 100 documents instantly using this combination of template and data - but now you can. 

Microsoft have introduced a new Power Automate action for Syntex. At the time of writing (August 2022) it's currently in preview and is labelled "Generate document using SharePoint Syntex"):

When using this action, you need to point it to your document template by providing the site, document library and template file name:

Once these details are provided the Power Automate action dynamically discovers your Syntex placeholders in the template and allows you to specify a value for each:

This allows you to drop values into your predefined placeholders within the document being generated. The most common way of doing this in Syntex Content Assembly is through SharePoint list items - you simply add an item to this list for each document you wish to create. In my demo scenario from previous Content Assembly articles, I'm using job role descriptions:

Now we have the full Syntex automation in Power Automate, we can do better than clicking a button to create each document from the ingredients. You can build whatever automation you need, but a common pattern will be to create the document as a new item is added to your SharePoint list - so in my example, every time a new C+C role is added to the list, the corresponding role description document is generated with values dropped into the placeholders. To do this, simply map the fields in the Power Automate action to the columns in your SharePoint list:

The document is now generated automatically and saved into SharePoint, with the specific role details (department, location, working hours etc.) dropped into the placeholders:

So that's document assembly. But what if you want to automate a process based on a document being classified and understood by Syntex?

Automating a process based on Syntex document understanding

For people new to Syntex and document automation, sometimes it can be difficult to envisage which processes document understanding can make a substantial difference to. It comes down to how a document is used once it has been created. We use documents for different purposes of course - sometimes simply to capture knowledge, but on other occasions for humans to use in a process such as a review or to use to start a new process. Here the document is typically created in one place and the information within it used in another, and every business has many instances of this. With Syntex, the ability to recognise document types and extract key information for it to be used in some way is what makes it game-changing - the use cases are endless. Here are some examples from my organisation (Content+Cloud) and some of our clients:

At C+C:
  • Using Syntex to read our draft Statement of Work documents - automatically notify our teams of total value of SOWs created this week and any instances of missing details (e.g. project manager)
  • Using Syntex to read Excel project pricing workbooks (used to generate project estimates quickly in pre-sales before any formal project setup) - thus helping us derive project themes and trends from all opportunities we're estimating, not just projects we're delivering
At some of our clients:
  • Using Syntex to extract risks and safety methods from risk assessments - to identify gaps and missing information so that appropriate teams can be notified, and the risk addressed
  • Using Syntex to clauses from a contract - to highlight areas of concern for investigation
  • Using Syntex to extract recommendations from safety reports 
  • Using Syntex to extract core information from 'lead lawyer' notes
Needless to say, common document types like contracts, invoices, CVs, loan agreements, credit applications etc. are all fertile ground for intelligent document automation.

Automating processes based on document contents

To automate document understanding in this way, we look to the Syntex Power Automate trigger which has been introduced:
To illustrate usage, here's an example using (redacted) Statement of Work documents from our projects - before the 'full' automation, Syntex is already recognising our SOWs and extracting the engagement value, Business Manager, Exec Sponsor, Project Manager and so on:

In this scenario, to build a further 'downstream' automation based on this we use the Power Automate trigger - it recognises the extracted pieces of data for me to automate based on them:
Once the trigger has executed, all the pieces of information Syntex has extracted from the document are available to the Flow:
This will be specific to your scenario and Syntex AI model of course. If your Syntex extractors are pulling the candidate name, address, notice period and salary expectations from a CV or cover sheet then that's what will be available to make decisions on and process in your Flow.

In my Statement of Work example, let's say we wanted to post in a Teams channel if a Statement of Work was discovered without a Project Manager being referenced:

The result being:

To summarise, Syntex is recognising the document as a C+C Statement of Work, extracting details of the engagement, and automatically flagging any SOWs without a project manager specified. The ingredients used here and this type of 'quality checking' of documents is extremely powerful and can be applied to so many cases. It's a great example of intelligent automation at work.   


As I'm fond of saying, Syntex is game-changing because advanced AI and document automation tools are now coming to the masses by being baked into Microsoft 365 and SharePoint. 

Syntex was originally released to the world needing a human to trigger the document creation or document reading/understanding process, which got in the way of fully automating significant processes (or resorting to work arounds). Microsoft have now completed the circle on this, and it's another milestone in Syntex maturity and value. Microsoft's future roadmap for Syntex looks healthy, and whether you call it Intelligent Automation, Intelligent Document Processing, Hyperautomation, or something else, we should expect a lot more from the Syntex and the capability area Microsoft describe as Content Services in the future.

No comments: