# Maestro Flows (Preview)

> Long-running process orchestrations that route work between people, agents, RPA, and systems with branching, approvals, and durable state.

Maestro Flows orchestrate long-running processes — routing work between people, agents, RPA, and systems with branching, approvals, and durable state. With a coding agent, you describe the process and it authors a runnable `.flow`, then helps you publish, run, diagnose, and evaluate it.

## What you build

A Maestro Flow coordinates a business process end to end. It connects nodes, branches on their results, and waits for human or system events.

### Process control nodes

- Triggers
- Decisions
- Subflows
- Human approvals

### Processing nodes

- Connectors
- Scripts
- Agents
- Document extraction with Intelligent Document Processing (IXP)

A Maestro Flow suits work that spans systems and time: an invoice that's extracted, routed for approval, then posted to a downstream system.

## The full lifecycle

The skill that authors a flow also carries it through its lifecycle. You stay in the conversation and describe what you want at each stage; your coding agent runs the right `uip` commands and reports back.

| Stage | What your coding agent does | Example prompt |
| --- | --- | --- |
| Author | Creates and edits the `.flow` — nodes, branching, triggers, subflows — and validates it locally. | *Add an approval step after the invoice is extracted.* |
| Operate | Publishes to Studio Web or deploys to Orchestrator, triggers runs, and reports job status. | *Publish this flow and start a run with a sample invoice.* |
| Diagnose | Investigates a failed run from its incidents and runtime state, then traces the fault back to a node. | *My flow run faulted overnight — find out why.* |
| Evaluate | Builds evaluation sets with sample inputs and expected outputs, runs them, and compares results across runs. | *Set up an eval set for this flow and run it.* |

## The skill behind it

This work is powered by the `uipath-maestro-flow` skill, which authors, validates, publishes, and evaluates Maestro Flows. You can see it in the [Skills catalog](skills-catalog.md).

## A typical starting prompt

A first request might look like this:

"Build a Maestro Flow for our expense approval process: pull the expense details, send them to a manager to approve or reject with a reason, then log the outcome."

You then refine the nodes, branching, and approval steps in conversation with the agent.

## More prompts to try

- Build a flow that monitors a SharePoint folder for new vendor invoices, extracts the invoice number, vendor, date, total, and line items with IXP, and posts the result to SAP.
- Build a flow that triggers on new Outlook emails, classifies each by urgency and whether the sender is a VIP, and routes urgent VIP mail to a Slack notification while everything else gets a support ticket.
- Publish my flow to Studio Web and start a run with a sample invoice.
- My deployed flow faulted on the approval step — pull the incident and tell me what went wrong.
- Set up an evaluation set for my flow with sample inputs and expected outputs, then run it and compare the scores against the last run.

## Go deeper

For the full picture of process orchestration, see the [UiPath Maestro documentation](https://docs.uipath.com/maestro).
