One of the main aspects of digital transformation is the automation of business processes. Document management, onboarding tasks, service desk, help desk—all this can cost a lot in terms of time and labor. On the other hand, developers are involved in business-critical projects and cannot help to streamline these processes. Microsoft Power Platform, a low-code solution, can be used to tackle this challenge.
The need for business process automation
Business reality is changing fast nowadays, and companies need to adjust their operations quickly to respond to these changes. One of the most frequent challenges is the need to simplify and automate business processes that have an impact on everyday work and the performance of the company. On the other hand, Enterprise Resource Planning and Customer Relationship Management systems used in these companies are often very complex and cannot be easily modified. In fact, to customize them, you need expertise and organizational resources.
Of course, you can turn to a consulting company with experienced engineers on board. But in the longer term, it is costly and can take a lot of time before a desired functionality is finally implemented.
Low-code platforms and tools are the solution to this problem. Their main business benefit is the possibility to implement new applications or extend old ones with new functionalities without engaging actual programmers. Since no or only basic coding skills are required, a new app or automated workflow can be designed and built by a non-technical user.
Microsoft Power Platform is one of these low-code platforms.
Read more on low-code development:
What is Microsoft Power Platform
In a nutshell, Microsoft Power Platform is a suite of cloud tools offered by Microsoft to non-technical users, allowing them to:
- Build business applications
- Extend functionalities of the systems already in use
- Automate business processes
- Create workflows
- Analyze data
More importantly, to perform all these operations, you do not usually need any particular coding skills, or only the basics.
In the Microsoft Power platform, you have the following tools at your disposal (see Fig 1.):
- Power Apps—building low-code applications based on templates or from scratch.
- Dataverse—a cloud database in Microsoft Azure to store and manage business data.
- Power Automate—a tool to create flows across different services and to automate processes.
- Power BI—a business intelligence tool allowing you to analyze and visualize data coming from different sources.
- Power Virtual Agents—a tool allowing you to build and manage chatbots based on templates or from scratch.
- AI Builder—using the power of Artificial Intelligence to optimize business processes.
All the tools on the Microsoft Power Platform are based on the Azure platform, thereby inheriting the same corporate-level security, certificates, and admin controls. Your applications and data stored in the cloud are safe. You do not need to build a separate, complex infrastructure. Additionally, Microsoft Power Platform works well with such products as Office 365 and Dynamics 365, providing users with many connectors, standard tables, and ready-to-use workflows expanding the functionalities of both products.
Having made a theoretical introduction to MS Power Platform, let’s check out the features offered by three core products: Dataverse, Power Apps, and Power Automate.
The Microsoft Power Platform environment
Once you sign up on Microsoft Power Platform, you can try out all its functionalities and quickly build your first application. The default environment allows you to store, manage and share application data, workflows, and portals within the platform.
However, we do not recommend building solutions in the default environment due to its limitations. You cannot delete, create a backup copy, or restore your solution. Additionally, Microsoft also restricted storage capacity to 32 GB. Therefore, it is good practice to create a separate environment with a Dataverse database. Its storage capacity can be extended to maximally 4 TB per tenant, which is quite a lot when it comes to building apps.
It is worth noting that one environment can have only one Dataverse database. The environment is always assigned to a specific geographical location. Applications and all elements such as connections, chatbots, and workflows are stored in data centers in this location. You can read more in the environment documentation.
Within the environment, you can build solutions that are used to transfer applications and their components across different environments. It is recommended to build one app (that itself can have many components) in a solution, but you can also add more applications to one environment.
There are two types of solutions: managed and unmanaged. Managed solutions are used to test your application (e.g., UAT tests) because, with them, you cannot make changes and modifications. Unmanaged solutions, on the other hand, are mainly used by developers in programming environments because they allow you to extend the functionalities of your system.
From the solution level, you can add existing apps or create new ones. Microsoft has recently provided an option that allows you to add all application types (canvas, model-driven, portals). If you build apps using solutions, it will be much easier to spot a custom object (e.g., a table, workflow, or columns) because all objects automatically get an implementation prefix set up in parameters. In this way, you will not touch standard/default objects. With solutions, you can also secure the lifecycle of your app; its building, updating, and versioning.
Dataverse is a service that allows you to store and manage your business data securely, and then use it in your applications. Data is stored in sets of tables. When installing the Dataverse database, you receive a lot of built-in/standard tables that support standard scenarios, including sales process handling or customer service. You can also create custom tables to handle processes specific to your business.
It is especially worth noting that in a Dataverse database, you will find many tables used in the Dynamics 365 application. As the data from this system is also stored in a Dataverse database, you can quickly create an app that will extend the functionality of a given ERP system. Dataverse also allows you to create business rules, relationships, custom columns, views, and forms.
It is relatively easy to create a custom table. You define the parameters of your object using the graphic interface, add columns (you can use many ready data types), and define relationships and business rules, if you need them. From this level, you can also prepare views and forms that will be used later in your application. The detailed descriptions of all the steps can be found in the documentation.
The entire process is not complicated, but you need to model your data earlier, as some parameters cannot be reverted. For example, if you do not choose the option of adding tags whilst creating a table, you will not be able to do it once the table has been created.
The Dataverse service also allows for integration with other data sources or importing data from external systems. In the latter case, it uses the Power Query mechanism which Power BI users know well.
Business rules allow you to join conditions and actions, and:
- Set up values in columns
- Clear values in columns
- Set up requirement thresholds for columns
- Show/hide columns
- Enable/disable columns
- Check the data correctness and show error messages
- Create business recommendations based on business analysis
It is important to point out that currently, not all rules are available in the canvas apps. In this case, we will not be able to use the option to show/hide columns, enable/disable columns, or create business recommendations.
Power Apps—canvas apps
In the Power Apps service, you can build three types of applications:
- Canvas apps
- Model-driven apps
Using the canvas app, you can quickly build an application that works on a tablet or smartphone (when creating it, you only have these two options to choose from). In the case of these applications, the priority is to prepare the right layout and then create the data model. Unfortunately, the applications are not responsive, and to run them in a web browser, you have to go into more advanced settings and try to manually control the resolution. Still, this workaround will not bring the same result, as in the case of responsive applications. For desktop users, it is also possible to download the Power Apps application from Google Play or the Appstore and run it in this mode.
While creating the application, you have plenty of nice and ready-to-use control buttons at your disposal that you can drag and drop to the layout such as a barcode scanner, add a photo or video button, a PDF viewer, various types of charts (also from the Power BI service), or AI Builder artificial intelligence objects such as a business card reader, object detector, or text recognition. Canvas apps also allow you to use over 200 built-in connectors and to work directly with external data (e.g. coming from a shared Excel file located in Dropbox) in your app.
You can start building the system from defining the data source and selecting the appropriate table. Then, the system will generate a basic layout with screens. You can also start from scratch and design your own layout, adding appropriate data in the next steps. Microsoft also provides you with many templates, e.g., Service Desk, Onboarding Tasks, My Expenses, Inventory Management, and others.
Power Apps—model-driven apps
Model-driven apps are based on the data stored in the Dataverse database. If you need custom projects and your data are stored in this service, you can automatically generate an application based on a model created from data and business processes prepared beforehand in the Dataverse tables. For such an application, it is important to model business data first, then define business processes, and at the end to build a target app.
This app type allows you to model forms, views, and other components. A default user interface is responsive and automatically adjusted to smartphones, notebooks, and other devices. Unfortunately, in this case, the layout is imposed by other application components. You can add dedicated control buttons prepared by more advanced users.
In model-driven apps, you should place great emphasis on the quality of entered data and their control throughout the entire process. You can model various types of end-to-end business processes using stages, conditions, and by placing at their level fields to be completed, determining if these fields should be filled in or not, controlling the input values, or adding buttons that trigger specific functions.
From the selected stage, you can also trigger a flow prepared beforehand in the Power Automate service (e.g., approval flow). Flows can also be triggered by a specific event, e.g., a change of the field value in the form. In order to ensure acceptable performance and usability of the user interface, Microsoft introduced some restrictions that you need to bear in mind while designing your app architecture, for example, the table cannot contain more than 10 activated business processes with not more than 30 stages each, and multi-table processes cannot contain more than five tables.
Below you can see an example of a process in a model-driven app.
However, model-driven apps have one important drawback. While designing such an app, you cannot use more than 200 built-in premium connectors provided by Microsoft. Of course, you can connect to an external data source and create a virtual entity, but this will enable you to only display data in your app. A possible workaround to this issue would be to embed a canvas app in a model-driven app, but in this case, you need to verify if there is the possibility of contextual cooperation between fields in your apps. Additionally, this workaround can be difficult to implement for non-technical users.
On the other hand, one of the biggest advantages of model-driven apps is the possibility to use them with the same layout and functionalities regardless of the device type.
A new form launched via a website:
Portals enable you to build Internet websites for both external and internal clients. You can create and display data from Microsoft Dataverse and embed forms and views prepared while modeling data or designing a model-driven app. Similarly to other apps on the Power Apps platform, you build a website based on a template and without using code. A user permission system is also implemented in portals with the distinction between authorized and unauthorized users. You can create roles and give permissions to specific tables.
This tool enables you to automate processes by joining together different services and systems, eliminating basic manual tasks, and optimizing implemented business processes. You can create different types of workflows that can be triggered manually according to your needs, by a specific event, or according to a prepared schedule. When building workflows, you can design them from scratch or use templates that are available on the platform.
Among the templates, you can find many ready-to-use automations, especially connected with many other Microsoft products such as Share Point, Planner, Teams, Dynamics, etc. These are simple tasks such as notifications that a record has been created in a given system or more complex ones such as a document acceptance process stored in SharePoint.
Flows can be triggered both from a canvas app and a model-driven app. You should, however, bear in mind that a button or PowerApps action should be a triggering element in canvas applications. In other cases, you will not see your flow at the application level. The process of creating a flow and its triggering element in an application is not complex for simple tasks. Learn more in instructions for creating an instant flow and embedding it in a business process.
When it comes to more complex flows, it requires in-depth knowledge on how particular apps and databases work. Additionally, when working with Power Automate, you can clearly see that the Microsoft product is still in the development phase as you will find the same control buttons in two versions: a newer and an older one. The latter does not always work according to the documentation provided and you need to find a workaround.
Microsoft Power Platform licensing models
Now, you can start using Microsoft Power Platform if you have the appropriate licenses:
- Autonomous plans:
- Per-app—one app/one user: €8.40/month
- Per-user—one user/unlimited number of apps: €33.70/month
- Per portal—the number of logins, authorized users: €168.70/month per 100 login session; unauthorized users: €84.30/month for 100,000 page views
- Power Automate—you can use flows within the license and canvas or model-driven apps; if you need to create dedicated flows, you can buy autonomous per-user plans that cost €12.60/month (with Robotic Process Automation €33.70/month) or per-flow with the price starting from €421.50
- Power Apps in the Office 365 package
- Power Apps in the Dynamics 365 Application package
A plan per app allows you to build two apps and to use premium connectors. You also get information about the Dataverse database storage capacity:
However, it is not all a bed of roses. To start using Microsoft solutions, you need to buy a license, which is a considerable upfront cost. It will be lower for the companies that are already using Microsoft technologies and have already migrated the majority of their services to the cloud. Power Apps will also be an attractive option for companies that are using ERP system Microsoft Dynamics 365, as they will be able to extend its capabilities in a quick and simple way.
It seems that the tech giant from Redmond has come to the same conclusion because, on its webpage, you can find information that a big discount for Power Apps licenses, even up to 50%, is planned for the last quarter of 2021. Maybe it will prompt more companies to adopt Microsoft solutions.
Final thoughts—why use Microsoft Power Platform
The tools and services available on Microsoft Power Platform, such as Power Apps, Power Automate, or Power BI can help your company optimize and simplify business processes without engaging IT departments. You can use them to solve specific problems, but their full potential is realized when you use them together with other Office 365 products and services.
Microsoft Power Platform can not only accelerate the work of business users but also give new capabilities for IT specialists who are in charge of business projects. It enables you to create a solution prototype very fast, present it to decision-makers, and get their feedback. It fits in perfectly when it comes to Agile projects and building new versions of a product starting from an MVP.