# Agents and Functions on Local Robots

> Agents on local robots: run Agent, Function, and API jobs on your own unattended robots using the Local runtime type, instead of only Cloud - Serverless.

**Agents on local robots** lets you execute Agent, Function, and API process types on unattended robots that you host yourself, instead of only on UiPath-hosted Cloud - Serverless robots. Low-code agents and coded agents run through the same underlying execution runtime, referred to as **Unified Runtime**, whether they execute on a local robot or on Cloud - Serverless.

## Local runtime type

When you start a job for an Agent, Function, or API process, the **Runtime type** drop-down on the **Start Job** page includes **Local** alongside **Cloud - Serverless**. Selecting **Local** runs the job on one of your own connected unattended robots instead of a UiPath-hosted machine.

Each process type draws from a specific capacity pool on the Local runtime:

| Process type | Runs on Local runtime using |
| --- | --- |
| Agent (low-code or coded) | Agent capacity |
| Function | Function capacity |
| API | Function capacity |

Unlike **Production (Unattended)** or **Testing** runtimes, which map one runtime to one concurrent job regardless of process type, the Local runtime type covers multiple process types through separate capacity pools on the same machine template.

## Configuring Agent and Function runtimes

Machine templates include an **Agents and Functions runtimes** section, separate from the existing RPA runtime configuration. It has two fields:

* **Agent slots**: the number of Agent jobs that can run in parallel on each connected host machine using this template.
* **Function slots**: the number of Function and API jobs that can run in parallel on each connected host machine using this template.

:::important
Agents and functions consume units and don't require additional licenses. If no units are available for your tenant, executions don't start even when slots are configured.
:::

Unlike RPA runtime licenses, Agent slots and Function slots are not capped by a per-type license allowance. They reserve concurrent execution capacity directly on the host machine, independent of tenant licensing. You configure them from the same **Machine template** window used for RPA runtimes. For steps, see [Adding a Machine Template](https://docs.uipath.com/orchestrator/automation-cloud/latest/user-guide/managing-machines#adding-a-machine-template).

## How Orchestrator routes jobs to local robots

Connected robots report which process types and runtimes they support. Orchestrator only dispatches a job to a robot that supports the job's process type and runtime.

If no connected robot currently supports the required process type, the job stays in a **Pending** state until a capable robot connects, rather than failing to start. This differs from RPA runtime types, which prevent you from starting a job when no matching runtime is available.

## Licensing and consumption

Running Agent and Function jobs on local robots is consumption-based, similar to Cloud - Serverless licensing. Unlike Cloud - Serverless, consumption doesn't factor in machine size, since the machine belongs to you rather than to UiPath.
