# Coded functions (Preview)

> Deterministic Python or TypeScript/JavaScript units of business logic, including data transforms, domain rules, and custom API calls, packaged as first-class UiPath artifacts.

A coded function is an atomic, deterministic unit of business logic — no LLM reasoning, no agent loop — written in Python or TypeScript/JavaScript. With a coding agent, you describe the logic you need, and it scaffolds, writes, tests, and publishes the function as a first-class UiPath artifact.

## What you build

A coded function takes typed input, runs deterministic code, and returns typed output. Reach for one when a generic activity doesn't cover the logic you need — a custom-auth API call, a domain-specific business rule, an ERP query through Integration Service, or a data transform.

- **Python** — a function with Pydantic `Input`/`Output` models, run through the `uip function` CLI, with access to the UiPath SDK for platform calls.
- **TypeScript or JavaScript** — a function declared with `defineFunction` and a typed schema contract, which can also expose an HTTP endpoint for a coded app's backend or a run-as-job trigger.

Once built, a function can be called as a Maestro service task, invoked from an agent, started as an Orchestrator job, or reached over HTTP.

## The skill behind it

This work is powered by the `uipath-functions` skill, which scaffolds a function in either language, declares its input and output contracts, tests it locally, and packs and publishes it. You can see it in the [Skills catalog](skills-catalog.md).

## A typical starting prompt

A first request might look like this:

"Create a coded function that normalizes this order payload — trims whitespace, uppercases the order ID, and converts the date to ISO 8601."

The agent scaffolds the function, writes the transform, and runs it locally against a sample input before you publish it.

## More prompts to try

- Build a Python function that calls our internal pricing API and returns the discounted total.
- Create a TypeScript function with an HTTP endpoint that a coded app's backend can call.
- Test this function locally with three sample inputs, including one that should trigger the error path.

## Go deeper

For the full picture of authoring, testing, and publishing coded functions, see the [Functions documentation](https://docs.uipath.com/functions).
