robot
2021.10
false
- Release Notes
- Getting Started
- UiPath Assistant
- Installation and Upgrade
- Robot Types
- Robot Components
- Licensing
- Connecting Robots to Orchestrator
- Processes and Activities
- Logging
- Robot JavaScript SDK
- Specific Scenarios
- Windows Sessions
- Login Using Thales Luna Credential System
- Login Using NShield Key Storage Provider
- Redirecting Robots Through a Proxy Server
- Executing Tasks in a Minimized RDP Window
- Using Mapped Network Drives
- Stopping a Process
- Disable Stop Button
- Custom Package Folders and Network Paths
- CrowdStrike Integration
- Troubleshooting
- Unresponsive Robot Over RDP
- Duplicate Execution Logs
- Frequently Encountered Robot Errors
- Increased Process Execution Duration
- Enforced Package Signature Verification
- Message Too Large to Process
- Errors When Running as Administrator
- NuGet Packages Not Accessible After Migration
- User Access Control Prompt and UI Automation Activities
- .NET6 Projects Fail to Run
Robot API
Robot User Guide
Last updated Oct 25, 2024
Robot API
The Robot is able to tackle various automation needs. These capabilities are greatly increased when you make use of the Robot API, offering a tailored experience to create domain-specific interfaces.
The Robot API is only used to manage your own jobs, and not for other users. It is accessible only from the machine on which the Robot is installed. The API shares the same version as the Robot, with each update offering backwards compatibility.
Robot Version |
API 21.4.x |
API 20.10.x |
API 20.4.x |
API 19.10.x |
---|---|---|---|---|
Robot 21.4.x |
|
|
|
|
Robot 20.10.x |
|
|
|
|
Robot 20.4.x |
|
|
|
|
Robot 19.10.x |
|
|
|
|
Robot 18.4.x |
|
|
|
|
The
UiPath.Robot.api
library is required to use the Robot API. It can be downloaded from the https://myget.org/F/workflow
feed.
You can make use of the followings .NET Robot Client calls:
var client = new RobotClient();
var client = new RobotClient();
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();
var job = new Job("812e908a-7609-4b81-86db-73e3c1438be4");
var job = new Job("812e908a-7609-4b81-86db-73e3c1438be4");
{
await client.RunJob(job);
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
{
await client.RunJob(job);
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
job.InputArguments = {["numbers"] = new int[] { 1, 2, 3 }};
await client.RunJob(job);
job.InputArguments = {["numbers"] = new int[] { 1, 2, 3 }};
await client.RunJob(job);
var jobOutput = await client.RunJob(job);
Console.WriteLine(jobOutput.Arguments["sumOfNumbers"]);
var jobOutput = await client.RunJob(job);
Console.WriteLine(jobOutput.Arguments["sumOfNumbers"]);
await client.RunJob(job, cancellationToken);
await client.RunJob(job, cancellationToken);
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);