Over recent years there has been a huge amount of interest in Robotic Process Automation (RPA), and it seems almost every company has invested some time investigating potential use cases within their business.
Many of the more well-established providers (such as UiPath) have been making great strides introducing this to the enterprise market. However, recently Microsoft (with its Power Automate offering) has made significant inroads to the extent that Forrester has named Microsoft a wave leader for RPA. This article will dive into some of these improvements, comparing and contrasting the RPA offerings provided by Power Automate with the more established players on the market across several key areas for enterprise capability, including product architecture, desktop automation, cloud integration, queue based processing, and extensibility.
What is Power Automate?
Power Automate forms part of the Microsoft Power Platform along with Power BI, Power Apps and Power Virtual Agents. This sits as a separate product suite from the Microsoft cloud computing service Azure. Power Automate is also entirely cloud based (to the extent that even when creating desktop flows, the source code is stored and managed in the cloud), and Microsoft’s tagline of “Powerful alone. Better together” really does ring true. All of the components both within and outside of the Power Platform integrate with one another seamlessly.
This is one of Power Automate’s biggest selling points against more established RPA providers. Costs too, are considerably lower, and in many cases enterprises may already have access to Power Automate through their other Microsoft technologies (such as Microsoft’s recent announcement to make the desktop automation component free for Windows 10 users).
Power Automate has really come into its own in the past year, previously offering too basic or too unwieldy a tool to coax users away from other vendors. As it stands, there is still a way to go before it can offer many of the same features of its more established competitors, however its capability is certainly now mature enough to serve enterprise needs in the right circumstances.
RPA desktop automation
Despite Power Automate combining both cloud and desktop automation, it is obvious that both tools work quite differently. The cloud flows are intended to interact with cloud systems (such as the ever growing number of SaaS providers) whereas the desktop flows are designed to deal with the more traditional RPA automation of repetitive data entry.
The two can, however, work together extremely well – for example, creating an automation which is triggered by an email and involves the automation of a custom Windows application to update data based on the email content requires both a cloud and desktop flow (with the cloud flow handling the email trigger and the desktop flow handling the custom application automation).
Desktop flows are more than capable of automating repetitive desktop or web-based tasks to free up employees’ time to focus on more value-added work. They can also be used to facilitate integration with legacy applications which do not provide a means of interacting with the application other than through the UI (for example, where no API is available).
Compared to other vendors in the desktop automation space, the features available within desktop flows are not as mature nor extensive and it will be interesting to see if Microsoft focuses on improving this capability or continues to focus on cloud automation. Some key areas which could do with improvement relate to the creation of common components to facilitate reuse (which is possible using libraries in UiPath) and improving the logging capabilities to facilitate better traceability.
Power Automate’s cloud flows are a significant differentiator from other RPA vendors in the market, which tend to focus on more traditional desktop automation. Power Automate users have the ability to create flows directly in the web-based interface, which can connect to an ever growing number of cloud services such as several email and database providers, Sharepoint and Teams. Cloud flows also support the ability to create simple approval flows which allow for custom approval actions to be defined and the approval requests can be actioned directly from an email or Teams notification. This allows users to action tasks without having to navigate to other systems, helping to streamline the end user experience.
Another differentiator in the cloud flows is the ability to leverage AI within the flows. The AI builder provides a number of prebuilt models, but also allows for custom models to be created and trained covering areas such as entity extraction, language detection, form processing, object detection, text recognition and receipt processing. Additionally, Microsoft have recently made a generic solution available for dealing with document processing which leverages Power Automate, AI and Power Apps to automate the end-to-end processing of documents received via email.
The integration of queue-based processing into automations is interesting. Some market leaders such as UiPath provide queuing as a core component of their platforms and provide recommended project templates for utilising queues. While it is possible to build a simple automation which performs the required tasks, utilising queues takes automation to the next level allowing for processes to scale to meet changes in the business demand by allowing for multiple robots to process the data in parallel.
Power Automate does not offer queues as part of the platform, however as outlined above, given its seamless cloud integration it is simple enough to utilise Azure (or another cloud provider’s) queues as needed. The fact that the queuing capability is not provided within the Power Automate platform does result in some additional complexity and there is a need to have a sound understanding of queue-based processing to ensure that automations work as expected. Whether this is seen as a drawback is debatable given that queue-based processing is generally considered to be a more advanced topic and unlikely to be utilised by business end users without the involvement of technical developers.
Power Automate does not currently allow for the creation of custom activities within desktop flows. However, in practice, this is unlikely to be a problem since the vast majority of third party applications for which other RPA vendors include custom activities also offer API access (e.g. via REST) which can be easily consumed via a cloud based flow. For example, suppose a desktop flow needed to push a file to Amazon S3. While there is no S3 activity available within desktop flows, it would be possible by invoking the Amazon S3 APIs directly (via a web service call) or alternatively by invoking a cloud flow which does provide connectivity to Amazon S3 as standard.
Unlike desktop flows, cloud flows offer multiple levels of extensibility. Any cloud flow can be submitted as a template allowing it to be used as a starting point for others. This functionality is available directly from the Power Automate cloud flow dashboard. Additionally, developers can create custom cloud connectors to integrate with additional services and documentation on how this can be achieved is provided.
Integration with Cloud Compute Services
I have listed a few scenarios above where combining Power Automate and Azure can be very powerful. However, it is worth noting that there is no requirement to utilise only the Microsoft cloud; doing so is likely to reduce development effort but it should not be considered a ‘must’. For example, there are existing connectors for Amazon S3 and SQS for use within Power Automate cloud flows, meaning other cloud providers remain open options for Power Automate users.
While it still lacks the robust features of its more established competitors, Microsoft’s Power Automate has certainly matured to the point where it can be used at an enterprise level. Seamless integration with the rest of the Microsoft ecosystem remains the greatest selling point, and though I would not recommend Power Automate for complex desktop automations (such as those using Citrix), it can prove an extremely useful tool for web automations, as we’re learning on various ongoing client engagements. Time will only tell if Microsoft continues to mature in the RPA space, and how more complex Intelligent Automation will alter the way the market moves.