UiPath Documentation
functions
latest
false
  • Overview
    • About Functions
  • Python functions
    • Getting started
    • Building Python functions
    • Accessing platform services
    • Tracing and observability
    • Testing and debugging
  • Deploy and run

Functions user guide

About Functions

Note:

This feature is available in preview.

UiPath® Functions are developer-native, platform-governed units of compute. You write the logic in code, deploy it to UiPath as a standard .nupkg package, and invoke it from any UiPath surface — a Maestro process, an Orchestrator job, or another automation.

Functions are typed, traceable, and testable building blocks that run alongside RPA robots, agents, and human tasks in the same orchestration layer. They are the deterministic compute unit of the agentic platform: no LLM reasoning loop, no model — just code that takes typed input and returns typed output.

Python functions

This guide covers Python functions, authored with the uipath Python SDK. A Python function is a typed Python module that:

  • Defines its input and output as typed Python (dataclass or pydantic model), exported as JSON Schema for variable binding on any invocation surface.
  • Runs as an Orchestrator job — invoked by a Maestro Service Task, the Run Job activity in Studio, the Orchestrator API, or a job trigger.
  • Retrieves credentials and platform resources at runtime through the UiPath() client (assets, buckets, queues, connections).
  • Emits execution spans to traces through the @traced decorator.

When to use a function

Use a Python function when you need deterministic, code-first logic as a step in a larger automation — for example:

  • A custom calculation or scoring step in a Maestro process.
  • An API integration (NetSuite, SAP, any REST service).
  • Data transformation or business-rule enforcement between process steps.
  • A reusable, typed building block invoked from multiple automations.

For AI-driven, model-reasoning logic, use a coded agent instead.

How it fits together

Author (uipath SDK)Package (uipath pack)Publish (uipath publish)
                                                      ↓
                                          Orchestrator package feed
                                                      ↓
                                 Deploy as a process (in an Orchestrator folder)
                                                      ↓
  Invoke from:  Maestro Service Task  |  Studio Run Job  |  Orchestrator API  |  Job trigger
Author (uipath SDK)  →  Package (uipath pack)  →  Publish (uipath publish)
                                                      ↓
                                          Orchestrator package feed
                                                      ↓
                                 Deploy as a process (in an Orchestrator folder)
                                                      ↓
  Invoke from:  Maestro Service Task  |  Studio Run Job  |  Orchestrator API  |  Job trigger

Next steps

  • Python functions
  • When to use a function
  • How it fits together
  • Next steps

Was this page helpful?

Connect

Need help? Support

Want to learn? UiPath Academy

Have questions? UiPath Forum

Stay updated