A Brief Intro to UiPath Licensing for Developers
UiPath licensing is a topic that is very complicated and quickly becomes overwhelming for those trying to learn the platform. But it comes up again and again with various jargon, so it’s helpful to have a basic understanding of the purpose of licensing, how it’s structured, and what it all means to the developer.
Why licensing?
Let’s face it, UiPath is in the business to make money. They’ve been building the software product since 2005, and it has had many upgrades over the years. Licenses are how they keep track of who is using their platform, in what capacity, and if they’ve paid up. There are several different kinds of licenses, and each of them has different usages and purposes.
Fortunately, UiPath offers several options with free access. This is smart, in my opinion, because it allows developers to learn much of their platform for free, which only increases their product knowledge and reach. Let’s first understand the different types of licenses that affect developers, then dig deeper into the licenses and limits that come with the Community Edition (CE).
Different Types of Licenses
Licenses attached to the User
Named User License
A Named User License is automatically attached to each User Account, which entitles them to access the platform on up to 3 devices. CE has a limit of 10 Named User Licenses.
Group User Licenses
In addition to Named User License, each User can be attached to one or more Groups, which have licenses attached to them as well. Unfortunately, UiPath has chosen to name these licenses confusingly. But remember these are the names of the licenses, not the Role or Group that uses them:
- Attended – Named User This license allows access to run automations in Attended mode, have access to Apps, Action Center, and Task Capture. It is intended for Users who are just running Attended automations and don’t need further access to edit or modify them. A company may purchase as many of these as they wish. CE comes with 2 of these licenses.
- Automation Developer – Named User This license gives access to the following: Studio, StudioX, Attended Robot, Apps, Action Center, Test Manager, Task Capture, Process Mining Developer. CE comes with 2 of these licenses. When a User is added to the Automation Developers Group, a license is consumed.
- Citizen Developer – Named User This license is the same as the Automation Developer – Named User, except that it only connects through StudioX and not Studio. Companies can purchase up to 10 of these licenses. CE doesn’t come with any of these licenses.
- Automation Express This license allows a company to try out the capabilities of UiPath for free. It allows Users to the ability to publish to and run processes from their personal workspaces only. Various plans include up to 100 of these licenses, but the CE has none.
Group Allocation of Licenses
Linking a specific type of license listed above to a Group is called License Allocation, and it is handled in Admin > Licenses. Here are the allocations the UiPath automatically sets up for us:
Group | Licenses Attached | CE Avail |
---|---|---|
Automation Developers | Automation Developer – Named User, Citizen Developer – Named User | 2 |
Citizen Developers | Citizen Developer – Named User | 0 |
Automation Users | Attended – Named User | 2 |
Automation Express | Automation Express | 0 |
So each User that belongs to one of these Groups will consume 1 of these licenses on a first come, first serve basis. If they belong to more than one Group, they will consume the most permissive license.
License Attached to Machine (Runtime License)
In addition to all these permissions granted by the User Licenses, UiPath keeps track of how many Unattended processes can run simultaneously. These are called runtimes, UiPath calls them Robots. I prefer to call them unattended runtime licenses, because it reminds me of what they really are, and gets away from the word Robot, which is over used. Companies on the Enterprise plan can purchase as many as they need. The main differences between these types of licenses is the type of environment they’re allowed to run in and whether they can run tests or not. Here’s what UiPath calls these licenses:
- Production (Unattended) Robot This license is meant for Production processes. This means it cannot run test cases. CE comes with 1 of these licenses.
- Non Production Robot This license can run unattended processes in a non-Production environment, but not run tests. Companies can purchase these licenses. CE does not come with this license.
- Testing Robot This type of license can run processes and tests, but only in a non-Production environment. CE comes with 1 of these licenses.
License | Environ | Tests | CE Avail |
---|---|---|---|
Production Unattended | Production | No | 1 |
Testing | Non Production | Yes | 1 |
Non Production | Non Production | No | 0 |
So how are these runtime licenses allocated? By machine.
Allocation of Runtime Licenses
Remember that a runtime license’s purpose is to keep track of simultaneously running unattended processes. Therefore, the license is attached not to the User Account, or even to the Robot Account, but to the machine running a job. A process will run under one Account’s credentials (domain/username and password), but it’s the machine that will consume the license.
That’s why setting up an Unattended Robot is kind of complicated. It is a two-step process:
- The User Account or Robot Account must be set up with log in credentials.
- The machine or machine template must be linked to one or more runtime licenses.
Then, when a job is set up, both an ACCOUNT is selected, and a MACHINE or template is selected.
Summary
Licensing in UiPath is quite complicated. But we now have a very high-level overview of the two types of licenses that developers should know about: User Licenses, and Unattended Runtime Licenses. User licenses are automatically assigned to each User Account and additional licenses can be granted through the User’s membership to Groups. Unattended Runtime Licenses are granted per machine or for each machine that belongs to a machine template group, and are primarily for keeping track of how many unattended processes can run simultaneously.