What is Agent Desktop & How does it work ?
Agent Desktop or UiPath Assistant is the center of all your attended automation needs. It is an application which allows us to view, manage, and schedule jobs. As a client of the Robot Service, it can request to start or stop jobs and change settings, based on user input.
Although it is specially designed for attended use, Agent Desktop doesn’t impose any limits as to what processes you can start. This means that you’re able to easily connect to Orchestrator and have jobs started from there.
It has the similar behavior as robot tray depending on the type of deployment is selected as Robot service mode or user mode, similarly for Robot status.
With the help of UiPath Assistant, we will be able to perform parallel attended automation, which will be performed by a Robot on a machine for a particular user. Processes run in the same Windows session at the same time.
There are two type of processes:
1) Foreground process
2) Background process
A foreground process is used when your automation project needs to interact with UI elements. These processes heavily rely on UIAutomation activities. Please note that you can only execute one foreground process at a time.
A background process doesn’t need to interact with UI elements on the screen, but rather relies on background processes to pass along information. UIAutomation activities should not be used in these project types. Multiple such processes can simultaneously run on a machine, even if a foreground process is already running.
The type of process is generally dictated by the type of activities it uses (whether or not they interact with UI elements). However, you can specify the type when you create a new process from Studio. By default, all processes are marked as foreground, unless specified otherwise.
An Attended Robot can concurrently execute one foreground process (with UI interaction) and multiple background processes (without UI interaction). By default, all processes are marked as foreground, unless specified otherwise.
Each running process uses its own version of dependencies, even if multiple running processes require a different version of the same dependency. For example, if process A requires dependency 18.4.6 and process B requires dependency 19.4.4, then each process downloads and uses its required version of the dependency.
When we create a background process in UiPath Studio, there is a flag in project.json file called requiresuserinteraction which will be having value as false. Also, when we are trying to publish a background process, we get a warning for making sure that the process should not contain any interactive activity.