- Organization Modeling in Orchestrator
- Automation Best Practices
- Optimizing Unattended Infrastructure Using Machine Templates
- Organizing Resources With Tags
- Orchestrator Read-only Replica
- Exporting grids in the background
- About the Tenant Context
- Searching for Resources in a Tenant
- Managing Robots
- Connecting Robots to Orchestrator
- Storing Robot Credentials in CyberArk
- Storing Unattended Robot Passwords in Azure Key Vault (read-only)
- Storing Unattended Robot Credentials in HashiCorp Vault (read-only)
- Storing Unattended Robot Credentials in AWS Secrets Manager (read Only)
- Deleting Disconnected and Unresponsive Unattended Sessions
- Robot Authentication
- Robot Authentication With Client Credentials
- Elastic Robot Orchestration
- Automation Cloud™ Robots - VM
- Automation Cloud™ Robots - Serverless
- Configuring VPN for Cloud Robots
- Bulk Uploading Queue Items Using a CSV File
- Managing Queues in Orchestrator
- Managing Queues in Studio
- Review Requests
- Test Automation
Live streaming and remote control
While a job is in progress, you can access the live stream of the robot running the automation. If troubleshooting or debugging is needed, you can take control of the execution using your own mouse and keyboard, without pausing the automation.
The live streaming and remote control features are available for Automation Cloud Robots - Serverless and Windows Robots version 2023.4+. Due to technical limitations, we can not offer full support for Linux robots, but the main use cases are available in this iteration.
On machines with High-density Robots, you can start a live stream on one robot only.
This functionality cannot be used with Windows background jobs.
Prerequisites for Windows Robots
- Enable SignalR. Details...
- Install a VNC server by following these steps:
- Download TightVNC. The version we currently support is 2.8.75.
- Run the installer, and, once you get to the Choose Setup Type screen, select Custom.
- Click Next.
- Make sure that the Register TightVNC Server as a system service option (under TightVNC Service configuration) is not selected.
- If you are using a physical machine, a monitor must be connected to it.
The minimum network requirements for a live streaming and remote control session to work smoothly can vary significantly, due to a number of factors:
The robot's screen resolution
The changes driven by your automation - the more dynamic the changes in images and text, the higher the volume of traffic
The latency between your machine and the Automation Cloud region
The latency between your robot and the Automation Cloud region
Considering the above, we recommend a 3MB/s network bandwidth for a 1920x1080 screen resolution.
Enabling the features
Live streaming and remote control actions are controlled by the following options displayed in the Additional Settings tab of the process creation or editing window:
- The Allow live streaming toggle
This is disabled by default.
- When Allow live streaming is enabled, the Allow remote control when live streaming option is also displayed, with two radio buttons:
- Disabled (this is the default selection)
These features are controlled by the Live streaming & Remote control permission, with the following options:
- View - allows you to view live streams of running jobs.
- Edit - allows you to gain remote control over running jobs.
- Create - allows you to enable the features at the process level.
The live stream can be accessed from the contextual menu of the desired job while it is running, and it opens in a new browser tab.
Live streaming activity is included in the audit, allowing you to see:
- if a live stream was accessed.
- the time that the live stream was accessed.
- the user that accessed it (along with the permission that the user had at access time).
To access an available live stream, you need to have the folder-level Live Streaming & Remote Control permission with the View option enabled.
This option allows you to take control of a running automation through its live stream, so as to troubleshoot any issues, such as long-running workflows and broken or blocked processes.It is only available if live streaming is also enabled.Taking remote control does not pause the job execution, so you can interfere with the automation as necessary.
To take control over a running automation, you need to have the folder-level Live Streaming & Remote Control permission with the Edit option enabled.
The live streaming connection between the client and the target machine is tunneled through TLS via the VNC proxy, meaning that the server is secured. Additionally, every time a live streaming session is started, a unique JWT Token is generated and used to authenticate the request. The only instance of unsecured traffic is on the robot machine for the localhost connection.
On the robot side, a unique password is generated for each job, and set for the VNC server. The server only runs during the live streaming session. When the user disconnects from the session, the VNC server closes as well.
When you make a request from the Orchestrator interface to start live streaming, Orchestrator sends a command to the robot to initiate a new remote control session.
The robot starts a VNC server that listens on port 5900. The VNC server is started as loopback-only, which disables remote connections. The Orchestrator command also includes a password for VNC authentication, that is shared between the VNC server and the browser client.
The robot then starts the following:
another program that connects to the local VNC server on port 5900
a UiPath live streaming proxy
- The program forwards all TCP traffic to the live streaming proxy by converting it into the WebSocket Secure protocol (wss).
The Orchestrator VNC client connects to the same live streaming proxy whose job is to pair the two websockets: one from the VNC client in the browser, and the other from the robot. It then creates a tunnel between the two websockets and forwards any traffic from one websocket to the other.
Before the session starts on the local machine, HTTP connections are disabled, and the VNC server is configured to not accept connections outside the local machine.
Please see the troubleshooting page for common errors and our proposed solutions.