# uip maestro flow process and uip maestro flow processes

> Syntax and options for `uip maestro flow process` and `uip maestro flow processes`, covering per-folder and tenant-wide published Flow process operations.

Once a Flow package is published to Orchestrator it becomes a **process**. This page covers two related command groups:

- **`uip maestro flow process`** — per-folder operations on a single process definition (list in a folder, get its schema, run it).
- **`uip maestro flow processes`** *(plural)* — tenant-wide summaries and per-process incident lookup.

## Synopsis

```
# Singular — per-folder, operational
uip maestro flow process list -f <folder-key> [-t <tenant>] [--filter <odata>] [--login-validity <minutes>]
uip maestro flow process get  <process-key> <feed-id> -f <folder-key> [-t <tenant>] [--login-validity <minutes>]
uip maestro flow process run  <process-key> <folder-key>
                       [-i, --inputs <json>] [-t, --tenant <name>]
                       [--release-key <key>] [--feed-id <id>] [--robot-ids <ids>]
                       [--validate] [--login-validity <minutes>]

# Plural — tenant-wide summary and incident surface
uip maestro flow processes list
uip maestro flow processes incidents <process-key> [--folder-key <key>]
```

All subcommands require `uip login` and honor [global options](./global-options.md). Exit codes follow the [standard contract](./exit-codes.md).

---

## uip maestro flow process list

List available Flow processes (releases) in a specific folder.

### Options

| Option | Required | Description |
|---|---|---|
| `-f, --folder-key <key>` | yes | Folder key (GUID). |
| `-t, --tenant <name>` | no | Tenant name. Defaults to the authenticated tenant. |
| `--filter <odata>` | no | Additional OData filter applied server-side. |
| `--login-validity <minutes>` | no | Token-refresh threshold (default `10`). |

### Data shape (`--output json`)

```json
{
  "Code": "FlowProjectList",
  "Data": [
    {
      "name":       "InvoiceFlow",
      "processKey": "a1b2c3d4-0000-0000-0000-000000000001:1.0.0",
      "releaseKey": "e5f6a7b8-0000-0000-0000-000000000001",
      "folderKey":  "c3d4e5f6-0000-0000-0000-000000000001",
      "feedId":     "default",
      "folderId":   42,
      "active":     "Yes",
      "latest":     "Yes"
    }
  ]
}
```

---

## uip maestro flow process get

Fetch the entry-point schema (input/output JSON schemas) for a Flow process. Use the result to build a valid `--inputs` payload for `process run`.

### Arguments

- `<process-key>` *(required)* — process key, e.g. `MyFlow.flow.Flow:1.0.0` or `<package-id>:<version>`.
- `<feed-id>` *(required)* — feed ID (from the `list` output).

### Options

- `-f, --folder-key <key>` *(required)*
- `-t, --tenant`
- `--login-validity`

### Data shape

```json
{
  "Code": "FlowProjectGet",
  "Data": [
    {
      "Path":         "/content/main.flow",
      "DisplayName":  "Main",
      "Type":         "Flow",
      "InputSchema":  "{\"type\":\"object\",\"properties\":{}}",
      "OutputSchema": "{\"type\":\"object\",\"properties\":{}}"
    }
  ]
}
```

`InputSchema` and `OutputSchema` are re-stringified JSON; parse them as JSON Schema to drive input construction.

---

## uip maestro flow process run

Start a Flow job for a published process.

### Arguments

- `<process-key>` *(required)* — process key (e.g. `MyFlow.flow.Flow:1.0.0`).
- `<folder-key>` *(required)* — folder key (GUID).

### Options

| Option | Description |
|---|---|
| `-i, --inputs <json>` | Inputs as a JSON string or `@path/to/file.json`. If omitted and stdin is piped, stdin is parsed as inputs. |
| `-t, --tenant <name>` | Tenant name (defaults to authenticated tenant). |
| `--release-key <key>` | Release key (GUID) — from `process list`. |
| `--feed-id <id>` | Feed ID for package lookup (optional). |
| `--robot-ids <ids>` | Comma-separated robot IDs (integers). Invalid values fail fast. |
| `--validate` | Validate inputs against the process schema before running. Performs basic checks only — required fields present and primitive types match. Complex constraints (enums, patterns, references) are not enforced by this pass. |
| `--login-validity <minutes>` | Token-refresh threshold (default `10`). |

**Input precedence**: `--inputs <json>` / `--inputs @file.json` > stdin > empty object `{}`.

### Examples

```bash
# Run with inline JSON
uip maestro flow process run "InvoiceFlow.flow.Flow:1.0.0" "c3d4e5f6-0000-0000-0000-000000000001" \
  --release-key "e5f6a7b8-…" --inputs '{"amount":100}'

# Run with inputs from a file
uip maestro flow process run "InvoiceFlow.flow.Flow:1.0.0" "c3d4e5f6-…" --inputs @inputs.json

# Run with inputs piped from stdin
echo '{"amount":100}' | uip maestro flow process run "InvoiceFlow.flow.Flow:1.0.0" "c3d4e5f6-…"

# Validate before running
uip maestro flow process run "InvoiceFlow.flow.Flow:1.0.0" "c3d4e5f6-…" \
  --inputs '{"amount":100}' --validate
```

### Data shape

```json
{
  "Code": "FlowJobStarted",
  "Data": {
    "jobKey":  "b2c3d4e5-0000-0000-0000-000000000001",
    "state":   "Pending",
    "traceId": "d4e5f6a7-0000-0000-0000-000000000001"
  }
}
```

Next step: `uip maestro flow job traces <jobKey>` to stream execution or `uip maestro flow job status <jobKey>` to poll.

---

## uip maestro flow processes list

Tenant-wide summary of Flow processes (`/processes/summary?processType=Flow`). No arguments, no options beyond globals.

### Data shape

```json
{
  "Code": "ProcessList",
  "Data": [
    {
      "processKey":     "…",
      "name":           "…",
      "folderKey":      "…",
      "latestVersion":  "…"
    }
  ]
}
```

:::note
The exact field set of each process summary is specified by the Maestro runtime and may evolve; run the command once with `--output json` against a tenant with data to see the fields you will be consuming, and pin `@uipath/cli` in CI if you parse specific fields.
:::

---

## uip maestro flow processes incidents

Get all incidents for a specific Flow process definition (not a single instance).

### Arguments

- `<process-key>` *(required)* — process definition key.

### Options

- `--folder-key <key>` *(optional)* — folder key to scope the lookup.

### Data shape

```json
{
  "Code": "ProcessIncidents",
  "Data": [ /* array of process incidents */ ]
}
```

See [`uip maestro flow incident`](./uip-maestro-flow-incidents.md) for the per-incident shape.

## See also

- [`uip maestro flow instance`](./uip-maestro-flow-instances.md) — inspect and steer running executions
- [`uip maestro flow job`](./uip-maestro-flow-job.md) — traces and status for a single job
- [`uip maestro flow incident`](./uip-maestro-flow-incidents.md) — incident summaries and details
- [Orchestrator jobs](./uip-orchestrator-jobs.md), [Orchestrator processes](./uip-orchestrator-processes.md)
- [Flow overview](./uip-maestro-flow.md)
