# Workloads

> The five workloads UiPath Robot runs, RPA processes, test cases, agents, functions, and API workflows, with the executor, capacity, and licensing each one uses.

A workload is the kind of job the Robot runs. RPA is one of five. All five run in Unified Runtime, the Robot's single runtime, which hands each job to the executor built for it. Each workload also draws on its own kind of capacity and its own kind of license.

| Workload | Executor | Capacity it uses | Paid with |
| --- | --- | --- | --- |
| RPA process | .NET executor | A runtime, or a user license when attended | Runtimes or user licenses |
| Test case | .NET executor | A **Testing** or **App Testing** runtime | Testing or App Testing runtimes |
| Agent | Executor package | An Agent slot | Units |
| Function | Executor package | A Function slot, or an unattended runtime | Units, or an unattended runtime |
| API workflow | Executor package | A Function slot, or an unattended runtime | Units, or an unattended runtime |

RPA processes and test cases run on a Robot connected to any Orchestrator. Agents, functions, and API workflows run on a Robot connected to Orchestrator in Automation Cloud or Automation Suite, and are paid for the same way on both. Not every operating system runs every workload yet. For the current matrix, refer to [Workload support by operating system](https://docs.uipath.com/robot/standalone/2026.10/admin-guide/workload-support-by-operating-system).

## RPA processes

An RPA process automates work across applications, through their user interfaces, APIs, or files. It runs in one of two contexts:

* **Attended**: a person starts the process on their own machine and supervises it. It runs with that person's credentials.
* **Unattended**: Orchestrator, a trigger, or another automation starts the process. It runs on its own, under a robot account.

A process is also either **foreground**, when it needs the screen and the user interface, or **background**, when it doesn't. A foreground process uses the screen, so a Windows user can run only one foreground job at a time, and only one foreground job can run in the console session. If a second foreground job starts for the same user, the Robot doesn't queue it. The job fails with the error "Another interactive job is running for this user".

The project type decides which operating systems can run it. **Windows** and **Windows - Legacy** projects run on Windows only. **Cross-platform** projects run on Windows and Linux.

For how each context works on the machine, refer to [Attended automations](https://docs.uipath.com/robot/standalone/2026.10/admin-guide/attended-automations) and [Unattended automations](https://docs.uipath.com/robot/standalone/2026.10/admin-guide/unattended-automations).

## Test cases

A test case verifies that an application or an automation behaves as expected. The Robot runs it like an unattended process, on a **Testing** or **App Testing** runtime instead of a **Production (Unattended)** one.

## Agents

An agent uses a large language model to decide its own next steps toward a goal, calling tools such as RPA processes, API workflows, and other agents along the way. The Robot runs two kinds:

* **Low-code agents**, built in Agent Builder.
* **Coded agents**, written in Python with frameworks such as LangGraph, LlamaIndex, or the OpenAI Agents SDK.

Low-code and coded agents share one executor path, so an agent runs the same way in a test run and in production. An agent in a shared folder needs an unattended robot identity in that folder. That is an identity requirement only: the agent doesn't consume an unattended runtime.

For building agents, refer to [About agents](https://docs.uipath.com/agents/automation-cloud/latest/user-guide/about-agents).

## Functions

A function is deterministic code, written in Python, JavaScript, or TypeScript, that takes an input and returns an output with no language model in the loop. Every function runs as an Orchestrator job, started by a process, an agent, a Maestro service task, an HTTP trigger, or the API.

For building functions, refer to [About Functions](https://docs.uipath.com/functions/automation-cloud/latest/user-guide/about-functions).

## API workflows

An API workflow chains API calls, connector activities, and data logic into one workflow, built in Studio Web. It runs in an executor package and uses the same capacity as functions: Function slots by default, or **Production (Unattended)** runtimes when **Use Production (Unattended)** is selected on the machine template.

For building API workflows, refer to [About API workflows](https://docs.uipath.com/studio-web/automation-cloud/latest/user-guide/about-api-workflows).

## What the Robot doesn't run

Maestro processes orchestrate workloads; they aren't a workload the Robot runs. A Maestro process calls agents, RPA processes, functions, and API workflows, and each of those runs as its own job. Maestro jobs aren't currently supported on self-managed robots.
