Image by @tmillot / Unsplash.com

Planning for licensing in unattended and attended RPA solutions with Power Automate Desktop

Thanks for reading my blog! If you have any questions or need a second opinion with anything Microsoft Azure or Power Platform related, don't hesitate to contact me. I'm happy to provide my professional services through my company, North Advisors.

Microsoft’s RPA tool, Power Automate Desktop, has two modes – unattended and attended. In this post, I’ll look into the implications of these two and how it affects the features and licensing.

I’ve written previously about RPA and Power Automate Desktop here.

What are unattended and attended modes?

As the name implies, unattended is an RPA (Robotic Process Automation) approach where a task or a set of functions is executed without a human at the wheels. I think of unattended RPAs as scheduled tasks with more intelligence than a script. Microsoft defines unattended RPA as independent of the user.

Attended RPA is where you utilize an RPA task with a user – typically, the user is logged in to a Windows workstation, and a job is kicked off. Perhaps it’s a repetitive task, such as pulling 50 values from an Excel sheet and checking through each of them with a yes/no dialog. The user is answering or reacting while the task is running. The user is attending the process.

On the surface, the difference seems to be whether or not a user is part of the process. And this is precisely how the unattended and attended RPA process goes – if a user is logged in, the process is attended. If a user is not logged in, it can be an unattended RPA.

Where do you set which to use?

You set this in Power Automat – that’s the cloud part of the setup. In Power Automate Desktop, where you create your processes, you don’t care if it’s unattended or attended. Beyond the fact that you can safely ping the user for feedback or actions – with unattended, your process simply hangs as nobody is logged in to confirm your dialogs. Therefore, design your processes in Power Automate Desktop so that you’re not hanging the process at any point.

Here is the dialog within Power Automate, when you create your flow and get to choose how to call your Power Automate Desktop-based RPA:

Simply select Unattended – Runs in the background without signing in when you want to run your (on-premises) RPA process without user interaction.

Licensing

I am not a licensing expert, so please – don’t quote me on this. I did spend an awful lot of time reading through each sentence Microsoft has published on licensing Power Automate and Power Automate Desktop. While it’s certainly not as complex as Power Platform licensing at large, it’s still surprisingly confusing.

In essence, to license Power Automate Desktop (and Power Automate) for the attended process, you will need the “Per user plan with attended RPA ($40/user/month)” license. One is enough if that is enough for your use case.

To license your unattended process, you’ll need the “Power Automate unattended RPA add-on,” which will cost you $150/bot/month. But for this scenario, you will also need the Per user attended RPA license so that the total cost will be $150 + $40 per month. An alternative would be to combine the unattended RPA add-on license with Power Automate per flow plan, which starts at $500/month – but this isn’t tied to a specific user.

The unattended RPA license will allow you to license one bot. It will run a singular instance of a given RPA process. If you need more concurrent instances, you’ll need to acquire additional licenses.

Usually, you’ll purchase the per user plan with attended RPA license, buy the Power Automate unattended RPA add-on license, and then allocate the two licenses. The first license is assigned to a specific user (a service account), and the other license is assigned to a single Power Platform environment. You can achieve the latter by following these instructions:

  1. Navigate to https://admin.powerplatform.microsoft.com
  2. Select Resources > Capacity from the left navigation
  3. Select Add-ons from the top navigation
  4. Select + Assign to an environment link
  5. Select your environment from the list where you want the unattended RPA capacity to become available
  6. Set 1 to Power Automate Unattended RPA field
  7. Save

This usually takes a minute or two for the environment to refresh. You can verify that the unattended RPA add-on is active by opening a Power Automate flow and changing the Desktop Flow to unattended.

In closing

Licensing on Power Platform has – in recent years – been a complex undertaking. The numerous options, exceptions, and models make it challenging to optimize and understand which license to purchase and when.

The Unattended RPA add-on is a welcomed feature. Even if you buy just one license, it’s easy (and acceptable) to call multiple processes with that, as long as they conform to the general guidelines of the bot capability.