robot
2026.10
false
Robot admin guide
- About this guide
- Getting started
- Installing
- Upgrading
- Connecting and licensing
- Configuring
- Running workloads
- RPA processes and tests
- Agents, functions, and API workflows
- Limits
- Securing and governing
- Monitoring
- Troubleshooting
- Reference
RobotAPI
Extends Robot functionality with local job management and domain-specific interfaces.
UiPath Robot API is a component designed to expand the functionality of your own Robot. It comes with several features, each addressing a specific aspect of automation management. These include:
- Individual job management: Provides the capability to run, stop, and track personal automation processes.
- Domain-specific interfaces: Allows for the development of tailored interfaces to meet unique automation needs.
- Local accessibility: Available only on the machine where the Robot is installed, ensuring secure and direct access.
- Version compatibility: Keeps consistent with the version of the installed Robot, which allows for backwards compatibility.
Robot API uses the UiPath.Robot.Api library. Use the following feed to download the library:
https://pkgs.uipath.com/official/index.json
https://pkgs.uipath.com/official/index.json
Compatibility matrix
| Robot Version | API 2026.10.x | API 2025.10.x | API 2024.10.x | API 2023.10.x | API 2023.4.x | API 2022.10.x | API 2022.4.x | API 2021.10.x |
|---|---|---|---|---|---|---|---|---|
| Robot 2026.10.x | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Robot 2025.10.x | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Robot 2024.10.x | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Robot 2023.10.x | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Robot 2023.4.x | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
| Robot 2022.10.x | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ |
| Robot 2022.4.x | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ |
| Robot 2021.10.x | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ |
Common Robot API calls
- Including the client in your application
var client = new RobotClient();var client = new RobotClient(); - Getting the list of available processes
var processes = await client.GetProcesses(); var myProcess = processes.Single(process => process.Name == "MyProcess"); var job = myProcess.ToJob();var processes = await client.GetProcesses(); var myProcess = processes.Single(process => process.Name == "MyProcess"); var job = myProcess.ToJob(); - Using the process key to start a job
var job = new Job("812e908a-7609-4b81-86db-73e3c1438be4");var job = new Job("812e908a-7609-4b81-86db-73e3c1438be4"); - Starting a process execution
try { await client.RunJob(job); } catch (Exception ex) { Console.WriteLine(ex.ToString()); }try { await client.RunJob(job); } catch (Exception ex) { Console.WriteLine(ex.ToString()); } - Adding input arguments
job.InputArguments = new Dictionary<string, object> { ["numbers"] = new int[] { 1, 2, 3 } }; await client.RunJob(job);job.InputArguments = new Dictionary<string, object> { ["numbers"] = new int[] { 1, 2, 3 } }; await client.RunJob(job); - Exporting output arguments
var jobOutput = await client.RunJob(job); Console.WriteLine(jobOutput.Arguments["sumOfNumbers"]);var jobOutput = await client.RunJob(job); Console.WriteLine(jobOutput.Arguments["sumOfNumbers"]); - Stopping a process
await client.RunJob(job, cancellationToken);await client.RunJob(job, cancellationToken); - Monitoring the process status
job.StatusChanged += (sender, args) => Console.WriteLine($"{((Job)sender).ProcessKey}: {args.Status}"); await client.RunJob(job);job.StatusChanged += (sender, args) => Console.WriteLine($"{((Job)sender).ProcessKey}: {args.Status}"); await client.RunJob(job); - Using the event scheduler
new RobotClient(new RobotClientSettings { EventScheduler = TaskScheduler.Default })new RobotClient(new RobotClientSettings { EventScheduler = TaskScheduler.Default })