UiPath Python Functions are now in Public Preview. Write deterministic logic in plain Python â in your own IDE â publish it with one CLI, and call it from anywhere on the platform. No enrollment required.
Code is now a first-class citizen of the platform
Your agents reason. Your robots click. Your people approve. But some steps just need code â a precise calculation, an API call with custom auth, a data transformation, a business-rule check.
Thatâs exactly what UiPath Functions are: the developer-native compute unit of the agentic platform. No LLM, no reasoning loop, no model â just typed input in, typed output out. And weâre starting with the language developers reach for first: Python.
Developer-native, end to end
-
Author anywhere. Write plain Python in the IDE you already use â VS Code, PyCharm, whatever â with your preferred coding agent riding shotgun (Claude Code, Cursor, CodexâŚ). Define Input/Output as dataclasses or pydantic models; the SDK turns them into JSON Schema for binding.
-
Access the whole platform. The UiPath SDK gives your code the entire platform at runtime â IXP, Data Fabric, Integration Service â plus Orchestrator resources: queues, assets, credentials, and storage buckets. Credentials stay in Orchestrator; no secrets in your code.
-
Ship without ceremony. The uip CLI packs and publishes for you â it handles the UiPath platform contracts (entry points, schemas, packaging), so you only ever write business logic.
-
Run where you want. On UiPath Serverless today; on your local unattended robot soon. Same code, you pick the target.
And itâs observable and governed by default: drop @traced on a helper to light up the trace tree, and every run inherits Orchestrator RBAC, identity, and audit logs.
It looks like this
from pydantic.dataclasses import dataclass
@dataclass
class Input:
message: str = ""
@dataclass
class Output:
reply: str = ""
def main(input: Input) -> Output:
return Output(reply=f"Hello, {input.message}!")
From zero to running locally with the uip CLI:
# Prereqs: Node 20+ and Python 3.10+
npm i -g @uipath/cli # the uip CLI
pip install uipath # the Python SDK
uip functions new my-function --language py
uip functions init # generate the I/O schema + bindings
uip functions run main '{"message": "world"}' # run it locally
See it in action
1 ¡ Author in your IDE, with your coding agent
The function open in your editor of choice: @traced on a helper, sdk().buckets.download(âŚ) pulling a file from Orchestrator, and uip functions run main streaming live logs in the terminal.
2 ¡ Debug logs, right in Orchestrator
Every run lands as a Function (python) job with full install and execution logs â no extra tooling to stand up.
3 ¡ Every @traced step, visualized
The Trace tab turns your decorated steps into a timed execution tree â bucket_download, ixp_digitize, netsuite_get_vendor â with the typed output right beside it.
4 ¡ A new project type â that ships in your solution
Create, run, and debug a Python Function project directly in Studio Web â and onboard it into a UiPath solution to pack and deploy it alongside your other projects.
5 ¡ Drop a function into Maestro
The new Start and wait for Function Service Task binds your function into a Maestro process, with typed inputs and outputs mapped automatically.
Call it from anywhere
Package your function, publish it to Orchestrator, and deploy it as a process â then invoke it from:
-
a Maestro âStart and wait for Functionâ Service Task
-
a Run Job activity in Studio
-
the Orchestrator API
-
any trigger â scheduled, queue, or event / webhook
? Where it runs & what it costs
Runs on UiPath Serverless today.
Pricing: 0.01 PU per 15 seconds of execution.
By mid-July, youâll also be able to run functions â alongside coded and low-code agents â on your own local unattended robot. Same code; you choose where it runs.
Whatâs next
-
JavaScript / TypeScript functions, with full HTTP semantics â coming next.
-
Local unattended execution for functions and agents â mid-July.
Dig in
-
SDK + samples: github.com/UiPath/uipath-python
-
SDK reference: uipath.github.io/uipath-python
-
Docs:
Itâs a preview â and we want your scars and your wins. Build something with it, then tell us what worked and what youâd change. Reply right here, or share feedback on the Insider Portal so we can squash the critical issues before GA.





