- Overview
- About Functions
- Licensing
- JavaScript functions
- Python functions
- Deploy and run
Licensing
How UiPath Functions consume Platform Units or Robot Units for each run, by machine size on serverless robots, on local robots, and in user licenses.
Functions are licensed by execution time. A function run consumes units for the time it runs, at the same rate for Python and JavaScript functions. What changes the cost is where the function runs and how it's called.
Execution time for each unit
On Unified Pricing, functions consume Platform Units. On Flex, they consume Robot Units: 5 Robot Units equal 1 Platform Unit.
| Where the function runs | 1 Platform Unit (Unified Pricing) | 1 Robot Unit (Flex) |
|---|---|---|
| Serverless robot, Small (1 GB) | 25 minutes | 5 minutes |
| Serverless robot, Standard (2 GB) | 12 minutes 30 seconds | 2 minutes 30 seconds |
| Serverless robot, Medium (4 GB) | 6 minutes 15 seconds | 1 minute 15 seconds |
| Serverless robot, Large (10 GB) | 2 minutes 30 seconds | 30 seconds |
| Your own robot, on the Local - Function runtime type | 25 minutes | 5 minutes |
| Your own robot, on the Production (Unattended) runtime type | No units. The job uses an Unattended license. | No units. The job uses an Unattended license. |
You choose the machine size of a serverless robot.
To run functions on your own robot, the robot needs UiPath Robot 2026.10 (long-term support) or a short-term support release that supports functions.
Functions don't run on Automation Cloud Robots - VM or on Elastic Robot Orchestration robots yet.
This consumption covers the execution runtime only. A function that calls an LLM, or uses another service that consumes units, is billed separately for that service.
Increments
Execution time is counted in increments, and each started increment counts in full:
| How the function is called | Increment |
|---|---|
| As a job: Python functions, and JavaScript functions started as jobs | 15 seconds |
| Over HTTP: JavaScript functions that declare a route | 100 milliseconds |
For example, a job that runs for 20 seconds counts as 30 seconds, two increments.
Running on Unattended licenses
A function runs on the Production (Unattended) runtime type when Use Production (Unattended) is selected on the machine template. The job then shares the template's Unattended runtimes with RPA jobs. For details, refer to Running Function and API jobs on Unattended runtimes.
HTTP calls included in user licenses
Each user license includes execution time for JavaScript functions that a coded app calls over HTTP, up to a monthly limit. This lets business users work in a coded app without consuming the organization's units.
The included time applies only to calls from a coded app, and is counted for the user who calls the function, not for the identity the function runs as. It resets every month, and isn't shown in the UI.
When a user's included time runs out, their calls consume units from the tenant, then from the organization, at the same rate and in increments of 100 milliseconds. When the tenant and the organization have no units left, calls continue on Enterprise plans, and consumption goes over the units you bought. A business-critical coded app doesn't stop because units ran out.
Where to see consumption
Consumption shows in Automation Cloud Admin, on the Consumables tab of the Licenses page, for your organization or for a tenant. For details, refer to The Consumables tab.