- Getting started
- Best practices
- Tenant
- 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
- SmartCard Authentication
- Audit
- Settings - Tenant Level
- Resource Catalog Service
- Automation Suite robots
- Folders Context
- Automations
- Processes
- Jobs
- Triggers
- Logs
- Monitoring
- Queues
- Assets
- Storage Buckets
- Test Suite - Orchestrator
- Integrations
- Classic Robots
- Troubleshooting
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.
-
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.
- 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.
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)
- Enabled
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).
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.
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 a dynamic port. 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 a dynamic port
- 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.