uipath-tasks · git:20260511.ef1b409 · 2026-05-11 · sha256 796e2ae246d848c3

uipath-tasks git:20260511.ef1b409A

Immutable. This exact content is served forever at /api/v1/blob/796e2ae246d848c3.

---
name: uipath-tasks
description: "UiPath Action Center human-in-the-loop tasks via `uip tasks` — list, assign, complete approval/validation tasks. For authoring HITL nodes in flows/agents→uipath-human-in-the-loop. For Orchestrator→uipath-platform, codedapp→uipath-coded-apps. Skip Document Understanding."
when_to_use: "User says 'approve task', 'pending approval', 'pending action item', 'review action', 'list my tasks', 'reassign task' in an Orchestrator/Action Center context. NOT for TaskCreate/TaskUpdate (general session-task tracking) or Document Understanding validation."
user-invocable: true
---

# UiPath Tasks (Action Center) — Agent Skill

> **Preview** — skill is under active development; surface and behavior may change.

Action Center is UiPath's human-in-the-loop platform. Tasks represent work items
that require human input — form approvals, document validation, data labeling, and more.

All operations go through `uip tasks <verb> --output json`.

---

## Login & Tenant Setup

**Default to Production. Only switch environment/org/tenant when explicitly stated in the request.**

- If the request mentions no environment → use the current session (defaults to prod `cloud.uipath.com`)
- If the request explicitly names an environment/org/tenant → check `uip login status` and re-login if needed

When switching is required:
1. Check current login: `uip login status --output json` — verify `UIPATH_URL`, `Organization`, and `Tenant`
2. Re-login with `--authority` only if environment differs:
   - Alpha: `uip login --authority https://alpha.uipath.com --tenant <tenant>`
   - Staging: `uip login --authority https://staging.uipath.com --tenant <tenant>`
   - Production: `uip login --tenant <tenant>` (default, no `--authority` needed)
3. If already on the right environment but wrong tenant: `uip login tenant set <tenant-name>`

```bash
# Check current environment, org, and tenant
uip login status --output json

# Login to Alpha with a specific tenant
uip login --authority https://alpha.uipath.com --tenant MyTenant

# List all available tenants (after login)
uip login tenant list --output json

# Switch tenant within the same environment
uip login tenant set MyTenant
```

> **Critical:** The `--tenant` flag on `tasks` commands does NOT switch the active session tenant.
> The environment is determined by `UIPATH_URL` in the auth file — always confirm with `login status` before running `tasks` commands.

---

## When to Use

- Listing or inspecting Action Center tasks across folders
- Assigning, reassigning, or unassigning tasks to users
- Completing tasks with action outcomes and data payloads
- Querying which users have task permissions in a folder

> **Not in scope:** Orchestrator queues or queue items (use `uip or`), Document Understanding model training, or Action Center app development (use `uip codedapp`).

---

## Task Types

| Type | CLI value | Description |
|------|-----------|-------------|
| Form task | `FormTask` | Form-based approval/action task |
| External task | `ExternalTask` | Generic external task |
| App task | `AppTask` | Action Center app-based task |
| Document validation | `DocumentValidationTask` | Document Understanding validation |
| Document classification | `DocumentClassificationTask` | Document Understanding classification |
| Data labeling | `DataLabelingTask` | Data labeling task |

---

## Task Statuses & Priorities

| Status | Meaning |
|--------|---------|
| `Unassigned` | Created but not assigned to any user |
| `Pending` | Assigned, awaiting completion |
| `Completed` | Completed with an action/outcome |

| Priority | Level |
|----------|-------|
| `Low` | Low |
| `Medium` | Medium (default) |
| `High` | High |
| `Critical` | Critical |

---

## Quick Start

```bash
# Check login and active tenant
uip login status --output json

# Switch tenant if needed
uip login tenant set <tenant-name>

# List all tasks across folders
uip tasks list --output json

# Get details of a specific task
uip tasks get <task-id> --output json

# Assign a task to a user
uip tasks assign <task-id> --user alice@company.com --output json

# Complete a task
uip tasks complete <task-id> --type ExternalTask --folder-id <folder-id> --output json
```

---

## Critical Rules

1. **Always resolve org and tenant first.** If the user specifies an org/environment and tenant, run `uip login status` to check the active tenant, then `uip login tenant set <tenant>` to switch if needed. Never assume the active tenant matches the user's intent.

2. **Task IDs are numeric.** Unlike other UiPath services that use GUIDs, Action Center uses numeric task IDs. Use `tasks list` to discover task IDs.

3. **Folder ID is required for complete.** Tasks are scoped to folders. Use `--folder-id` when completing tasks.

4. **Complete requires `--type`.** The API routes to different endpoints per task type. Always include `--type` when completing a task. Use `tasks get` to check the task type first.

5. **FormTask and AppTask require `--action` and `--data` for completion.** Other task types allow optional action and data.

6. **Assign accepts `--user-id` or `--user` (email).** Use `tasks users <folder-id>` to discover assignable users and their IDs.

7. **Always discover before acting.** Use `tasks list` or `tasks get` to inspect task state before performing assign/complete operations.

8. **Do not complete already-completed tasks.** Check the task `status` field — if it is `Completed`, inform the user.

---

## Task Navigation

| Task | Commands to use |
|------|----------------|
| List all tasks | `tasks list` |
| List tasks in a folder | `tasks list --folder-id <id>` |
| List tasks as admin | `tasks list --as-admin` |
| Get task details | `tasks get <task-id>` |
| Get task with type hint | `tasks get <task-id> --task-type FormTask --folder-id <id>` |
| Assign a task | `tasks assign <task-id> --user <email>` |
| Assign by user ID | `tasks assign <task-id> --user-id <id>` |
| Reassign a task | `tasks reassign <task-id> --user <email>` |
| Unassign a task | `tasks unassign <task-id>` |
| Complete a task | `tasks complete <task-id> --type <type> --folder-id <id>` |
| Complete with action | `tasks complete <task-id> --type FormTask --folder-id <id> --action "Approve" --data '{...}'` |
| List assignable users | `tasks users <folder-id>` |

---

## Workflow: Discover → Plan → Act → Verify

**Always follow this pattern:**

1. **Discover** — list tasks, get details, find assignable users
2. **Plan** — determine the operation (assign, complete, etc.)
3. **Act** — execute the operation
4. **Verify** — re-read the task to confirm the state change

```bash
# 0. Ensure correct tenant
uip login status --output json
uip login tenant set <tenant-name>   # only if needed

# 1. Discover
uip tasks list --output json
uip tasks get <task-id> --output json

# 2. Plan — determine the task type, folder ID, and action needed

# 3. Act — assign a task
uip tasks assign <task-id> --user alice@company.com --output json

# 4. Verify
uip tasks get <task-id> --output json
```

---

## Troubleshooting

| Error | Cause | Fix |
|-------|-------|-----|
| `Not logged in` | Auth expired | `uip login` |
| `HTTP 401` | Invalid token | Re-login |
| `HTTP 403` | Permission denied | Ensure account has Action Center permissions in the folder |
| `Missing assignee` | Neither `--user-id` nor `--user` provided | Add `--user <email>` or `--user-id <id>` |
| `Task not found` | Wrong task ID | Run `tasks list` to get correct ID |
| Completion fails | Wrong `--type` | Use `tasks get` to check the actual task type |
| Completion fails for FormTask | Missing `--action` or `--data` | FormTask and AppTask require both `--action` and `--data` |
| Cannot assign | User lacks permissions in folder | Run `tasks users <folder-id>` to list eligible users |

---

## References

For deeper guidance, read these files only when needed:

- `references/task-lifecycle.md` — Listing and getting tasks, type-hint endpoint routing, and the full discover→assign→complete workflow
- `references/task-completion.md` — Completion endpoint routing, required fields per task type
- `references/task-assignment.md` — Assign, reassign, unassign patterns and user discovery
- `references/action-center-urls.md` — Canonical Action Center URL patterns; **read this before constructing or sharing any task deep-link** (the portal-UI misclassifies tenant-less URLs as "Orchestrator not enabled")