Intelligent Automation With The Power Platform

Intelligent Automation With The Power Platform

This is an edited transcript of a BizData webinar on Intelligent Automation created using Microsoft Cognitive Services - Speech Studio. You can view the full webinar for free by following this link.


Photo os Director of Intelligent Systems at Bizdata Maurice Bernardo


Welcome everyone to today's webinar on intelligent automation. I'm your presenter today. My name is Maurice Bernardo and I'm a director at BizData.

BizData have been around for approximately forty years. We've got offices in Melbourne, Sydney, Perth, Brisbane, Wellington and New York.

We're primarily a data analytics organisation. We've been a Gold Partner with Microsoft for that duration as well. We've got Microsoft Gold Specialisation in Data Analytics, the Data Platform, Intelligent Systems and the Cloud Platform.

What is the Power Platform?

Today we will be covering off why you might choose to use the Power Platform. I'll give a bit of an overview on Power Apps and Power Automate, I'll be talking a little bit about the Common Data Model and the Common Data Service and what they mean.

There's also an Admin Center and associated environments with the Power Platform that i'll talk about and there's some out of the box analytics as part of the platform. Then, finally i'll go through a couple of demos to showcase what the capabilities are and what can be achieved.

There are number of process automation challenges that you might be facing is part of your business today. I'd like to talk about three main areas. The first one is process blind spots. What we mean by that, is for example, you might have untimely data capture or data capture that happens in a slow way. When that happens the delay from capture to processing in your system can cause downstream effects and obviously impact on that business process.

A Power Platform Intelligent Automation Scenario

A good example of this might be if you've got field staff that work out on site, for example across Australia, and they go out to these sites to maintain equipment out on site. The equipment once it's been serviced or fixed might have some details that needs to be recorded into your core system.

If these details aren't recorded in situ, either on the spot or shortly after that job won't be closed off for quite some time. The details, further to requiring that job to be completed might take quite some time as well. Further to that if the field stuff have, for example, equipment in their truck or van that then needs to be replenished. Because they don't have the right item on hand at that point in time it can take quite some time to implement.

a photo of a worker in a hardhat working in an environment that could benefit from the power platform

By implementing something like an app at that point and integrating that with your core system you can really streamline that process and remove any issues that that may cause. The other major error in blind spots are documents, unstructured data in general, so documents, audio, images, video.

Getting data out of this sort of medium can be quite tricky. But if that data isn't retrieved that can cause other issues. You've got data sitting there that you don't necessarily have access to, but you might need as part of the rest of your business process. That can be another area or another blind spot.

The second area is integration. If you've got a core system or maybe a legacy system, mainframe system, these systems usually process most of your business logic or house most of your business data. It's important to integrate or be able to integrate with these systems in order to get an end-to-end view of that business process. A lot of the time you might have ancillary systems or more modern systems that fill gaps in the market place now. For example, mobile apps. If these done integrate with those systems or the core system that could pose a challenge.

The third area is the lack of data driven insights. This can be predominantly caused by not having a central view of all the data that you need to be able to make the necessary business decisions.

Centralising Operational Data

An example of where this may be resolved or a solution that might resolve this would be: Power BI where it can pull in data from different sources and show it to you in a central dashboard. Microsoft have three fairly sizeable platforms in their own right and they've been around for a number of years now. These platforms performer significant function on their own and they can be implemented to achieve quite a bit on their own. However, really bringing them together under the Power Platform is what makes them even more compelling.

These three are Power BI, Power Automate and Power Apps. Bringing them together under the one banner gives you the ability to really implement an end-to-end solution from start to consumption just using these three platforms. It's Microsoft's low-code solution across the board. What that means is you can lift up from the dev team or from the IT pro team and shift that capability closer to the business which is where the business knowledge is really. 

What are the Elements of the Power Platform

Power BI is Microsoft's reporting and analytics platform. This is really about matching together data from different sources with little to no code for more significant processing. Obviously you might choose to have a more significant data model processing place, but a lot of the time, and especially under the Power Platform, you can really connect to your data and drag and drop fields on to the screen to produce useful reports.

Power Apps is Microsoft's low-code app builder. This essentially allows you to build applications that can be distributed or deployed to multi form-factors, multiple devices on the single solution. It essentially is used for your data capture or data collection so if you've got gaps in a business process, if there's a gap in that data collection, Power Apps could be used to produce an app that would work on your phone to do that data capturing in-situ.

Power Automate, formerly called Microsoft Flow is Microsoft's integration platform for the business. Using a drag and drop style interface and little to no code you can piece together an automated workflow or you can integrate with different systems.

The Common Data Model

The Common Data Model is really just to centralise definition of your data. It's based on an open-source project and it's used throughout the Power Platform. The Common Data Service which implements the Common Data Model is really a data store for the data that you use to interact between the three applications under the Power Platform. This is where you can essentially create a database, create a Power App to capture data which can be stored in that database and you can integrate between that database and other systems as well. Then, of course, you can report on that by connecting Power BI directly to it.

An electronic measuring tool that would need ot use a common data model

There's an out-of-the-box Power BI Common Data Service connector that allows you to drag-and-drop fields from the Common Data Service to build your report out.Data Flows are used to ingest and shape your data on the way into the Common Data Service. It's really Power Query under the covers and it allows Power Queries to be performed or automated.

There are more than two hundred and fifty connectors out-of-the-box with the Power Platform and if they still don't suit your needs and you need something that's more customised, you can create a custom connector as well.

Lastly, you can share apps with others by just sharing a link out via the application.

Power Apps

Power Apps is Microsoft's low-code app builder solution. There's varying different flavours of Power Apps and the way they're licensed and the way they're used.

There's Power Apps for Office 365 and it is really about extending capability within the Office 365 suite. It's designed or intended to be used with Office 365. For example, if you need data capture and that data needs to be stored in a Sharepoint list, or something like that, you can create a Power App to connect directly with that. That Power App can be licensed under your existing Office 365 license.

There is also Power Apps for Dynamics 365. In a similar scenario, it is intended for use with Dynamics 365. The costs for Power Apps for Dynamics 365 is included in the full user license for Dynamics 365.

In contrast to Office 365, the Dynamics 365 Power Apps license includes access to the Common Data Service and it also includes access to on-premises data. Office 365 licensing doesn't include those two features - it's intended to be used directly with Office 365 so a common data store in that scenario is something like SharePoint.

Canvas Apps

There are also Canvas Apps search and Model Driven Apps. A Canvas App is a custom app usually started by designing the screens for that app and then connecting those screens out to a data store, for example, the Common Data Service.

a hand holding a phone with an app created on power apps

You can pretty much implement anything in terms of design, colours, styles etc. in a Canvas App. In contrast, the Model Driven App is really driven off your data model. The intention there is that you design and build the logic in your data model or in the data layer, so in this case, the Common Data Service. After that the model driven app will basically build these or interface based on your data. This is really useful for data analysts or anyone who's not particularly interested in exactly the way the user interface looks in favour of a functional design approach.

This can be useful because with Model Driven apps all of your rules again will be in the data layer (the Common Data Service). All of your validation can be performed within there as well, so having a user interface to perform data capture just directly off that can be quite useful. You can obviously then connect to that same data store, in this case the Common Data Service, by other systems as well.

Power Apps Portals

The other form is Portals. Power App Portal is really designed for website type implementations and it's the only mechanism, design or deployment scenario you can use for anonymous access to your Power Apps. The Power Apps will be otherwise shared internally only.

Data Flows is Power Query under the covers. You can build and work with data flows to ingest data directly from the Power App web studio now. Power Apps leverage device hardware. For example, if you build a Power App to work with a phone, the phone might have a GPS, microphone or camera for example.

It can leverage those hardware components so if you're building an app to scan an image you can use the camera within that phone to do that image capture. By the same token, it gracefully degrades, so if you end up using the same app on another device that doesn't have a camera it will give you the option to select an image from the file system on that device.

Power Apps can be embedded into Sharepoint, Power BI and Teams. Interestingly you can embed Power BI into Power Apps. I'll show you that as part of the demo at the end of this session.

Power Apps and AI Builder

AI Builder is essentially Microsoft's out-of-the-box AI platform. There's a number of deep learning models that have been pre-built as well as wizard driven UIs to allow you to implement that model by using drag and drop on the screen.

Object detection

One example of AI Builder is object detection. You can implement that model with some simple training techniques and drag and drop images for that model to train on. Once that model is trained, you can then use that in a Power App by just using AI Builder Control in there. For example, you could then use the camera to scan an image and it will pick out the contents of that image as an object detector would. So, if you take an image of any sort of object, for example a pen on the desk, it will give you that information. It will actually tell you that there's a pen in this image.

Business card scanner

Other models that are available in AI Builder are, for example, a business card scanner. I've also got a demo for that in the Power App demo at the end of this session. It will literally take in the details of the business card and it will piece them together as fields. It will give you the name on the business card, the company name, phone numbers and so forth. It does that without any training, being a pure out-of-the-box solution. It is a smaller scale version of a document AI solution.

Predictive models

Other AI Builder models are predictive models. For example, a binary classification uses machine learning to predict whether something is true or false. It will also expose the confidence level for that decision as a percentage. You can use both the true or false and the confidence level in an app and allow a user to then confirm or make decisions based on that.

Power Apps Licensing

An Office 365 license includes Power Apps, but you don't get CDS or on-prem data with that. A Dynamics 365 licenses include Power Apps as well, but you do get access to CDS and on-prem data.

For everything outside of those two scenarios, there's two standalone licensing options. For every other scenario, any sort of custom app that you'd like to build connected to anything else, there's custom licensing or purpose built licensing just for that.

Power Automate

Power Automate, formerly called Flow is Microsoft's low-code integration and business process automation product. Business process flows can be built to guide users through a process. You can have multiple steps within that process and you can do things like approval workflows literally out of the box just using drag and drop.

I'll show an example of an approval workflow later but basically this is really just a an approve/reject stage scenario. You can have multiple steps in there if you choose. It is is really useful for adding in between an existing process or if you just want the document approved or something like that. With very little effort you can put that together just using drag and drop.

a man drawing a workflow on a white board

Power Automate can be used for app integration. This is where, as a business user you might want to piece together data between two different apps. It's not intended to replace something like the Logic Apps, which is really an IT pro tool and usually sits under the covers and doesn't really have business interaction. In contrast, Power Automate does have business interaction and everything is exposed to the business user. Things like reporting of the Power Automate or the flow is surfaced up in the web so you can see what flows ran and which ones errored.

You can also look at how that flow ran visually on the screen. It will actually give you a version of that flow that you already put together and it will give you a tick if an action has passed and a cross if it hasn't. I'll show you example of that later on.

There's out of the box connectors that you can use with Power Automate similar to Power Apps. If those connectors don't suit you can build custom connectors and for everything else there's a Rest API connector. This essentially allows you to connect with pretty much any form of Rest end point. In terms of the integration, the capability is quite broad.

Robotic Process Intelligent Automation

There's a new component release with Power Automate called UI Flows and this is Microsoft's robotic process automation tool.

Robotic precious automation essentially allows replicating or recording what a user would typically do, such as using the mouse and the keyboard onscreen and be able to introduce that as part of a process in an automated way.

a hand operating a lever which is controlling process automation

This should be really used where a developer cannot be engaged or there isn't an API or there isn't any integration layer to be able to connect systems together. This is where a robotic process automation task would be quite useful and should be implemented in those scenarios.

AI Builder can be used as part of that in UI Flows. For example, you could do things like OCR: take content out of an image and have it as part of your process flow.

Power Virtual Agent

Power Virtual Agent is also a new product under the Power Automate banner released by Microsoft only in the last month, i believe. This essentially is a guided conversation chat bot builder using little to no code. There's a WYSIWYG editor that looks similar to Flow in that there are branches and workflow style layout on the screen.

You can also test on the fly using using a portal on the same screen. Whilst you're interacting with the bot that you've put together, it will show you whereabouts in that flow or in that guided conversation process you are. All of this is on the same screen, which is a really useful feature. Power Virtual Agents can integrate with APIs as well. If you need to get information from another system as part of your conversation with the user you can do that using API request. That's quite powerful.

Power Automate and AI Builder 

The capabilities are similar the Power Apps, except that in Power Automate you can integrate it in with the flow. A example might be: you need to OCR an image to turn into a document or get the content out of that image. You can piece that together as part of that process flow and you can use AI Builder to get that information out of that image and process that information as data thereafter.

This full flow run history is really useful for when flows don't work out as expected. For example if you find an issue a couple of weeks after a flow ran you can always go back in history and take a look at that flow, find out where the issue is and then provide a resolution.The history is limited to thirty days so if you need to retain history for longer than that there's a download option that will download the content of the history in CSVs.

Power Automate licensing is similar to Power Apps Office 365 licensing. It works in a similar way to Dynamics 365 licensing. Those for Dynamics 365 are intended for use with Dynamics 365 and for everything outside of those two products, there's standalone licensing options. 

What is the Common Data Service?

The Common Data Model, as i mentioned previously, is based on an open source project and it's essentially about centralising your data definitions. You can add entities, attributes, metadata and you can also define relationships within the Common Data Model.

If everything is stored within the Common Data Model you can interact with varying different other systems and so integration becomes simplified. Additionally, there's versioning in the form of basic major minor versions. However, this is really useful so you can check what has been changed over time without needing to manage that separately.

It's used by the Common Data Service and i'll talk a little bit more about that in a sec. The data definitions are also store as JSON files so you can interact with those directly. The Common Data Service implements the Common Data Model. It is used as essentially a database for the Power Platform.

You can have different databases or different common data service models within different environments. This is really useful for a common SDLC life cycle where you need a dev and a test environment. You can silo the Common Data Service data within those environment so that they don't overlap.

Encryption and security

Data in the Common Data Service is secured and encrypted at rest. Transfer of data is encrypted as well. On top of that, you can add enterprise grade governance. Things like data loss prevention or data restriction policies can be implemented. You could also have your IT team restrict access to even a particular entity, if that's needed, to a particular set of users or applications.

a lock being held in front of a computer representing the security offered by the common data service

Entities and relationships are modelled centrally. They use the Common Data Model for that making it easy to integrate with other systems and also making it straight forward to implement solutions using the Power Platform.

Data Infrastructure

Infrastructure is managed for you. It's a serverless system and there's no exposure of any servers or anything like that with the Common Data Service. It's all managed for you under the covers.

Dynamics 365 uses the Common Data Service as its data layer and you can interact with Dynamics 365 data fairly seamlessly.

There's role based security as well and logic invalidation can be enforced at the data level. This could be really useful when you're implementing a model driven app or if you want the centralise your validation for use across the board with other applications.

a row of servers which are the digital infrastructure of a company

You can programmatically access the Common Data Service as well, so there's full API implementation for where the user interface doesn't suit.

You can also manage the capacity for Common Data Service. In terms of capacity model you get capacity delivered as part of the licence and there is a per license model for Power Apps and Power Automate. You also get one GB per app for Power Apps and one GB per flow for Power Automate.

The Common Data Service data is split in terms of the capacity between database files and log. You can increase this by purchasing separate data packages.

Admin Centre and Environments

The Admin Centre essentially is the IT pro's area for managing the Power Platform, so they have features for monitoring and changing aspects of the infrastructure layer, so to speak. There's of the box Power BI reports that give you things like usage stats and which uses access what.

The Common Data Service capacity is exposed in there, which is really useful for knowing when you're about to run out of space and if more space needs to be purchased.

Environments essentially allow you to segregate your data or segregate your apps. All of the Power Platform and associated data in Common Data Service can be encapsulated in that in that environment.

Creating separate environments essentially allow you to silo and have separate areas for managing and building apps. You could have a separate environment per team if that's the model that you choose to use. You could also use Environments as part of SDLC.

Power BI connects directly to the Common Data Service within the Environment. You literally just select the Environment URL which is exposed as part of the Environment configuration within the Power BI report. Once you've done that, it will go off and grab everything that's in there and allow to fill the report out.

Out-of-the-box Power Platform Analytics 

This is within the Admin Centre so there's Common Data Service, Power Automate, Power Apps and also capacity analytics. These expose active users, the mode of access, what sort of usage for Power Apps has been run and what sort of usage there is for Power Automate. Under Power Apps there's the concept of toast error report. Toast Errors are essentially errors that have been displayed to the user, so it will show you the number of errors. You can also see the storage usage for the Common Data Service and action running out of space from that. 

[To see the live demonstrations, open the webinar found here and jump to 27:05]

How to use Logic Apps for Intelligent Automation

Lastly, I want to talk about some differences between Power Automate and Logic Apps. There is some confusion out there as to why there's two. I'll hopefully clarify that a bit now. Power Automate is essentially automation of business processes and integration with systems surface to the business user. This is really where the business user does the work, produces the automation or the integration and can consume that directly just using a web interface.

Logic Apps is really for the IT pro and it's about integrating systems under the covers, where there's no business user interaction and where there's more sophisticated integration. For example, if you're using a lot of information processed through a lot of APIs and there's a lot of logic in between, then Logic Apps would be the solution for that. Logic Apps aren't necessarily good where there's interaction with the business user, so we would use Power Automate for that.

What is the Difference between Logic Apps and Power Automate

Power Automate is essentially a subset of the features found within Logic Apps, however, there's some unique features in Power Automate that aren't in Logic Apps. That's another key difference. The example I showed earlier with the demo where there's an approval workflow, that approval workflow is within Power Automate. You wouldn't use that within Logic Apps.

Power Automate is more for citizen developers and Logic Apps is more for IT pros. You can integrate pretty much anything with Logic Apps whereas Flows is limited to what the business user would be able to do. Of course you could get an IT pro to build a flow in Power Automate as well and obviously they could do more sophisticated things there. However, where there's no business user interaction or where the business user doesn't isn't necessarily interested in how that automation might have gone or might have worked, you would produce a logic out for that scenario.

How Does Logic Apps Licensing Work?

Logic Apps is consumption based and its licence directly in Azure. It's only found in Azure. Power Automate licensing is bundled in with Business Apps, such as Office 365, Dynamics 365 and, of course, the stand alone licensing.

Logic Apps can be integrated with the SDLC of an IT pro. There's full access to the code underneath it's just JSON. You can integrate that with your source code manager and also with DevOps so that you can manage transfer between environments, for example.

While with Power Automate you can do that, it would be a manual process where you create a solution and include that as part of that solution to be able to move that across environments.

So that wraps up our webinar for today. Thanks very much for joining us. My name is Maurice Bernardo. I hope you enjoyed it. If you have any other questions specific to this or anything else please reach out: