What exactly is a “Robot” in UiPath?
The word “robot” is thrown around a lot in UiPath-world, and it can get confusing and sometimes intimidating. Robot? Robot Account? Let’s create a way to think about these terms by understanding what a UiPath robot really is, under the hood.
What UiPath Robot is NOT
So what Is a “Robot”?
At core, a UiPath Robot is a software application designed for Windows operating systems. This application, called UiPath Robot Service, is installed on each machine as a Windows Service Application. This means it runs on the machine in the background, with no UI, and it is a service that is available for other applications to access. Let’s see what it is programmed to handle.
Comm Central for the Machine
As you can see in the diagram above, the UiPath Robot Service is the local brain and communications hub of UiPath, installed on each machine that is to run automations. This service creates and manages channels to other locally-installed apps like Studio, UiPath Assistant, or the command-line interface (the local terminal), and of course up to Orchestrator via an authenticated internet connection.
Hey I’m alive!
The service sends a message every 30 seconds up to Orchestrator, called a heartbeat, that says “Hey, I’m alive and waiting for instructions!” This way, Orchestrator can “see” which machines are available to run automations, which are currently busy, and which are non-responsive. Then, the Robot Service “listens” for any automations sent its way.
Job Execution Management
Once the Robot Service down on the machine receives its marching orders, sent to it either from Studio, Assistant, Orchestrator, or the CLI, it sends the job (the package and all its required inputs) to the Executor which will actually run the code. The Robot Service waits for the Executor to finish doing its thing, then communicates back to the initiator and/or Orchestrator the results of the process, and makes itself available again.
What is a “Robot Account”?
Just to confuse things, UiPath also calls something else a “robot”. Every job that is run from Orchestrator is assigned to an account. A user account is an entity with roles and privileges, who is given access to certain folders and can do things as defined by the system administrator. Every regular user in UiPath is defined by their unique ID (their email address). While a robot account doesn’t have an email address, it is set up by the system administrator and granted access to certain folders just like a regular user. The only difference is that a robot account is given permission to run unattended automations. Regular users can also be set up to run unattended automations of course, but a robot account kind of just does that and nothing else. If the job entails running something in the foreground, like opening a browser or opening Excel, for example, the job must first log in to a Windows account on that machine. So to run these types of jobs, a robot account needs Windows log-in credentials, just like a human user would. So these are stored with the robot account. You can see why they came up with a robot account. Without one, a lot of jobs would have to be run under the system administrator’s or another user’s account, and if their account got disabled, the automation would error.
The “magic” of Robots
In UiPath, automations can be set by the Administrator to run at a certain time, let’s say overnight. These processes then start at the specified time, are downloaded to a host machine, and seemingly run by magic! These are called unattended automations because they don’t require human intervention to run. UiPath likes to call all unattended automations “robots” generally.
So we’ve seen that the term “robot” is actually two separate things in UiPath. Online, up on the Orchestrator side, it’s an specialized type of user account attached to a job, with stored Windows log-in credentials. And down on the machine side, it’s a box of code, sitting on the machine, listening and waiting for a job to be sent its way. So don’t be intimidated by the word “robot”. It’s not really magic, it’s just a bunch of code that runs. In fact, you could drop the term “Robotic” from “Robotic Process Automation” altogether and get down to what it really is: “Process Automation”. But “Robotic Process Automation” sounds cooler, so go ahead and impress your parents with that.