UiPath Documentation
uipath-cli
latest
false
UiPath CLI user guide

uip tasks

Commands for managing Action Center tasks, catalogs, comments, labels, metadata, and task data using the `uip tasks` tool.

uip tasks manages Action Center tasks — the human-in-the-loop work items (form fills, approvals, document validation/classification, data labeling) that RPA processes and agents create for a person to complete. The tool lets you list and inspect tasks, assign or reassign them, complete them with an action and data payload, and manage the auxiliary resources attached to a task: catalogs (grouping/retention config), comments, labels (tags), metadata (title/priority/catalog link), and the task's own form/business data. tasks is the command prefix; the underlying package is @uipath/tasks-tool.

Concepts

  • Folder scoping — every verb that operates on a specific task or catalog accepts --folder-id <id>, --folder-path <path>, or --folder-key <key> (mutually exclusive; enforced at parse time via Commander conflicts). When none is passed on an interactive terminal, the CLI shows a folder picker; in a non-interactive run (CI, coding agents) it fails fast asking for one. uip tasks list and uip tasks get are the two exceptions — a folder is optional there and simply narrows the results/lookup when given.
  • Task type — several verbs (get --task-type, complete --type) take one of FormTask, ExternalTask, AppTask, DocumentValidationTask, DocumentClassificationTask, DataLabelingTask, QuickFormTask. An unrecognized value fails client-side with the full list named in the error.
  • Pagination — list-style verbs (list, catalogs list, comments list, users) page internally with a 100-item page size and follow nextCursor until exhausted or --limit is reached, returning one flat array either way — there's no cursor flag to manage yourself.
  • Catalogs are optional grouping/retention config for tasksmetadata --catalog-id links a task to one; catalogs create/update's retention fields (--retention-action, --retention-period, --retention-bucket-id) control what happens to catalog data over time. --encrypted on catalogs create is immutable — there's no way to change it via catalogs update.

Synopsis

uip tasks list [--folder-id <id> | --folder-path <path> | --folder-key <key>] [--as-admin] [-l, --limit <n>]
uip tasks get <id> [--task-type <type>] [--folder-id <id> | --folder-path <path> | --folder-key <key>]
uip tasks assign <task-id> (--user-id <id> | --user <email>)
uip tasks reassign <task-id> (--user-id <id> | --user <email>)
uip tasks unassign <task-id>
uip tasks complete <task-id> --type <type> [--data <json>] [--action <action>] [--folder-id <id> | --folder-path <path> | --folder-key <key>]
uip tasks users [folder-id] [--folder-path <path> | --folder-key <key>] [-l, --limit <n>]

uip tasks catalogs list [--folder-id <id> | --folder-path <path> | --folder-key <key>] [-l, --limit <n>]
uip tasks catalogs get <id> [--folder-id <id> | --folder-path <path> | --folder-key <key>]
uip tasks catalogs create --name <name> [--description <text>] [--encrypted] [--retention-action <action>] [--retention-period <days>] [--retention-bucket-id <id>] [--folder-id <id> | --folder-path <path> | --folder-key <key>]
uip tasks catalogs update <id> [--name <name>] [--description <text>] [--retention-action <action>] [--retention-period <days>] [--retention-bucket-id <id>] [--folder-id <id> | --folder-path <path> | --folder-key <key>]

uip tasks comments list <task-id> [-l, --limit <n>] [folder options]
uip tasks comments add <task-id> --text <text> [folder options]

uip tasks labels <task-id> --labels <json> [folder options]
uip tasks metadata <task-id> [--title <text>] [--priority <level>] [--catalog-id <id> | --unset-catalog] [--note <text>] [folder options]

uip tasks data get <task-id> [folder options]
uip tasks data save <task-id> --data <json> [folder options]
uip tasks list [--folder-id <id> | --folder-path <path> | --folder-key <key>] [--as-admin] [-l, --limit <n>]
uip tasks get <id> [--task-type <type>] [--folder-id <id> | --folder-path <path> | --folder-key <key>]
uip tasks assign <task-id> (--user-id <id> | --user <email>)
uip tasks reassign <task-id> (--user-id <id> | --user <email>)
uip tasks unassign <task-id>
uip tasks complete <task-id> --type <type> [--data <json>] [--action <action>] [--folder-id <id> | --folder-path <path> | --folder-key <key>]
uip tasks users [folder-id] [--folder-path <path> | --folder-key <key>] [-l, --limit <n>]

uip tasks catalogs list [--folder-id <id> | --folder-path <path> | --folder-key <key>] [-l, --limit <n>]
uip tasks catalogs get <id> [--folder-id <id> | --folder-path <path> | --folder-key <key>]
uip tasks catalogs create --name <name> [--description <text>] [--encrypted] [--retention-action <action>] [--retention-period <days>] [--retention-bucket-id <id>] [--folder-id <id> | --folder-path <path> | --folder-key <key>]
uip tasks catalogs update <id> [--name <name>] [--description <text>] [--retention-action <action>] [--retention-period <days>] [--retention-bucket-id <id>] [--folder-id <id> | --folder-path <path> | --folder-key <key>]

uip tasks comments list <task-id> [-l, --limit <n>] [folder options]
uip tasks comments add <task-id> --text <text> [folder options]

uip tasks labels <task-id> --labels <json> [folder options]
uip tasks metadata <task-id> [--title <text>] [--priority <level>] [--catalog-id <id> | --unset-catalog] [--note <text>] [folder options]

uip tasks data get <task-id> [folder options]
uip tasks data save <task-id> --data <json> [folder options]

uip tasks list

List tasks across folders (or one folder, when scoped).

Options

LongValueDescription
--folder-id <id>integerFilter by folder ID.
--folder-path <path>stringFilter by folder path (alternative to --folder-id).
--folder-key <key>GUIDFilter by folder key (alternative to --folder-id).
--as-adminflagList tasks as admin (broader visibility than your own assigned/available tasks).
-l, --limit <number>integerMaximum items to return. Fetches everything (paging internally) when omitted.

Example

uip tasks list --folder-path "Shared/Finance" --limit 20
uip tasks list --folder-path "Shared/Finance" --limit 20

Data shape (--output json)

{ "Code": "TaskList", "Data": [ { "id": 1, "title": "Approve invoice", "type": "FormTask", "status": "Pending" } ] }
{ "Code": "TaskList", "Data": [ { "id": 1, "title": "Approve invoice", "type": "FormTask", "status": "Pending" } ] }

uip tasks get

Get details of a task by ID.

Arguments

NameRequiredPurpose
<id>yesTask ID. Use tasks list to find one.

Options

LongValueDescription
--task-type <type>one of the 7 task typesTask type. Requires a folder option when passed — fails fast otherwise.
--folder-id <id> / --folder-path <path> / --folder-key <key>Folder scope. Required only when --task-type is set.

Example

uip tasks get 123 --task-type FormTask --folder-id 42
uip tasks get 123 --task-type FormTask --folder-id 42

Data shape (--output json)

{ "Code": "TaskDetails", "Data": { "id": 123, "title": "Approve invoice", "type": "FormTask", "status": "Pending" } }
{ "Code": "TaskDetails", "Data": { "id": 123, "title": "Approve invoice", "type": "FormTask", "status": "Pending" } }

uip tasks assign / reassign

Assign a task to a user, or reassign it to a different one — identical option shape, different Code on success.

Arguments

NameRequiredPurpose
<task-id>yesTask ID.

Options

LongValueRequiredDescription
--user-id <id>integerone of these twoAssignee's numeric user ID.
--user <email>stringone of these twoAssignee's username or email (alternative to --user-id).

Passing neither fails with an explicit "missing assignee" error.

Example

uip tasks assign 123 --user alice@company.com
uip tasks reassign 123 --user-id 7
uip tasks assign 123 --user alice@company.com
uip tasks reassign 123 --user-id 7

Data shape (--output json)

{ "Code": "TaskAssigned", "Data": { "id": 123, "assignedTo": "alice@company.com" } }
{ "Code": "TaskAssigned", "Data": { "id": 123, "assignedTo": "alice@company.com" } }

Code is TaskReassigned for reassign.

uip tasks unassign

Remove the assignee from a task. No options beyond the task ID.

Arguments

NameRequiredPurpose
<task-id>yesTask ID.

Example

uip tasks unassign 123
uip tasks unassign 123

Data shape (--output json)

{ "Code": "TaskUnassigned", "Data": { "id": 123 } }
{ "Code": "TaskUnassigned", "Data": { "id": 123 } }

uip tasks complete

Complete a task with an action and optional data payload.

Arguments

NameRequiredPurpose
<task-id>yesTask ID.

Options

LongValueRequiredDescription
--type <type>one of the 7 task typesyesTask type — validated client-side against the enum.
--data <json>JSONnoTask data payload as a JSON string.
--action <action>stringconditionallyAction name. Required in practice for FormTask and AppTask (not enforced client-side — the platform rejects a missing action for those types).
Folder optionsnoA folder is resolved (interactively if omitted, on a TTY) before completing.

Example

uip tasks complete 123 --type FormTask --action Approve --data '{"comment":"Looks good"}'
uip tasks complete 123 --type FormTask --action Approve --data '{"comment":"Looks good"}'

Data shape (--output json)

{ "Code": "TaskCompleted", "Data": { "id": 123, "status": "Completed" } }
{ "Code": "TaskCompleted", "Data": { "id": 123, "status": "Completed" } }

uip tasks users

List users with task permissions in a folder — the source for --user-id/--user values on assign/reassign.

Arguments

NameRequiredPurpose
[folder-id]noFolder ID as a positional argument. Mutually exclusive with --folder-path/--folder-key — passing both fails explicitly.

Options

LongValueDescription
--folder-path <path>stringFolder path (alternative to the positional argument).
--folder-key <key>GUIDFolder key (alternative to the positional argument).
-l, --limit <number>integerMaximum items to return.

Example

uip tasks users 42
uip tasks users --folder-path "Shared/Finance" --limit 10
uip tasks users 42
uip tasks users --folder-path "Shared/Finance" --limit 10

Data shape (--output json)

{
  "Code": "TaskUserList",
  "Data": [
    { "id": 1, "name": "Alice", "surname": "Smith", "userName": "alice", "emailAddress": "alice@company.com", "displayName": "Alice Smith" }
  ]
}
{
  "Code": "TaskUserList",
  "Data": [
    { "id": 1, "name": "Alice", "surname": "Smith", "userName": "alice", "emailAddress": "alice@company.com", "displayName": "Alice Smith" }
  ]
}

uip tasks catalogs

Manage task catalogs — named groupings of tasks with optional encryption and retention policy.

uip tasks catalogs list

Options
LongValueDescription
Folder optionsFolder to list catalogs in (a folder is resolved if omitted, per Concepts).
-l, --limit <number>integerMaximum items to return.
Example
uip tasks catalogs list --folder-id 42
uip tasks catalogs list --folder-id 42
Data shape (--output json)
{ "Code": "TaskCatalogList", "Data": [ { "id": 5, "name": "Invoices", "encrypted": false } ] }
{ "Code": "TaskCatalogList", "Data": [ { "id": 5, "name": "Invoices", "encrypted": false } ] }

uip tasks catalogs get

Arguments
NameRequiredPurpose
<id>yesTask catalog ID.
Example
uip tasks catalogs get 5 --folder-id 42
uip tasks catalogs get 5 --folder-id 42
Data shape (--output json)
{ "Code": "TaskCatalogDetails", "Data": { "id": 5, "name": "Invoices", "encrypted": false } }
{ "Code": "TaskCatalogDetails", "Data": { "id": 5, "name": "Invoices", "encrypted": false } }

uip tasks catalogs create

Options
LongValueRequiredDescription
--name <name>stringyesCatalog name.
--description <text>stringnoCatalog description.
--encryptedflagnoEncrypt task data in this catalog. Immutable — cannot be changed by catalogs update later.
--retention-action <action>Delete | ArchivenoWhat happens at the retention limit. Any other value fails client-side.
--retention-period <days>integernoRetention period in days.
--retention-bucket-id <id>integernoStorage bucket ID, used when --retention-action Archive.
Example
uip tasks catalogs create --name Invoices --retention-action Archive --retention-period 90 --retention-bucket-id 3 --folder-id 42
uip tasks catalogs create --name Invoices --retention-action Archive --retention-period 90 --retention-bucket-id 3 --folder-id 42
Data shape (--output json)
{ "Code": "TaskCatalogCreated", "Data": { "id": 5, "name": "Invoices" } }
{ "Code": "TaskCatalogCreated", "Data": { "id": 5, "name": "Invoices" } }

uip tasks catalogs update

Merges — only the flags you pass change. At least one of --name/--description/--retention-action/--retention-period/--retention-bucket-id is required; calling with none fails before any file/network access. --encrypted cannot be changed here.

Arguments
NameRequiredPurpose
<id>yesTask catalog ID.
Options

Same set as create minus --encrypted.

Example
uip tasks catalogs update 5 --name "Invoices v2" --folder-id 42
uip tasks catalogs update 5 --name "Invoices v2" --folder-id 42
Data shape (--output json)
{ "Code": "TaskCatalogUpdated", "Data": { "id": 5, "name": "Invoices v2" } }
{ "Code": "TaskCatalogUpdated", "Data": { "id": 5, "name": "Invoices v2" } }

uip tasks comments

uip tasks comments list

Arguments
NameRequiredPurpose
<task-id>yesTask ID.
Options
LongValueDescription
-l, --limit <number>integerMaximum items to return.
Folder optionsFolder the task lives in.
Example
uip tasks comments list 123 --folder-id 42
uip tasks comments list 123 --folder-id 42
Data shape (--output json)
{ "Code": "TaskCommentList", "Data": [ { "id": 1, "text": "Looks good", "createdBy": "alice" } ] }
{ "Code": "TaskCommentList", "Data": [ { "id": 1, "text": "Looks good", "createdBy": "alice" } ] }

uip tasks comments add

Arguments
NameRequiredPurpose
<task-id>yesTask ID.
Options
LongValueRequiredDescription
--text <text>stringyesComment text. Empty string is rejected.
Folder optionsnoFolder the task lives in.
Example
uip tasks comments add 123 --text "Escalating to finance" --folder-id 42
uip tasks comments add 123 --text "Escalating to finance" --folder-id 42
Data shape (--output json)
{ "Code": "TaskCommentCreated", "Data": { "id": 2, "text": "Escalating to finance" } }
{ "Code": "TaskCommentCreated", "Data": { "id": 2, "text": "Escalating to finance" } }

uip tasks labels

Set or clear the labels (tags) on a task in one call — this is a full replace, not a merge; pass every label you want to keep.

Arguments

NameRequiredPurpose
<task-id>yesTask ID.

Options

LongValueRequiredDescription
--labels <json>JSON arrayyesLabels to set, e.g. [{"name":"region","displayName":"Region","displayValue":"EMEA"}]. Pass [] to clear all labels. Must be a JSON array — a non-array value fails client-side.
Folder optionsnoFolder the task lives in.

Example

uip tasks labels 123 --labels '[{"name":"region","displayName":"Region","displayValue":"EMEA"}]' --folder-id 42
uip tasks labels 123 --labels '[{"name":"region","displayName":"Region","displayValue":"EMEA"}]' --folder-id 42

Data shape (--output json)

{ "Code": "TaskLabelsSaved", "Data": { "taskId": 123, "labels": [{ "name": "region", "displayName": "Region", "displayValue": "EMEA" }] } }
{ "Code": "TaskLabelsSaved", "Data": { "taskId": 123, "labels": [{ "name": "region", "displayName": "Region", "displayValue": "EMEA" }] } }

uip tasks metadata

Edit a task's title, priority, catalog link, and record a note with the edit. Merges — only the flags you pass change; at least one is required.

Arguments

NameRequiredPurpose
<task-id>yesTask ID.

Options

LongValueDescription
--title <title>stringNew title.
--priority <priority>Low | Medium | High | CriticalNew priority. An out-of-set value fails client-side, naming the valid set.
--catalog-id <id>integerAssociate a task catalog. Mutually exclusive with --unset-catalog.
--unset-catalogflagRemove the task's catalog association. Mutually exclusive with --catalog-id.
--note <text>stringComment recorded alongside the edit.

Example

uip tasks metadata 123 --priority High --note "Escalated per manager request" --folder-id 42
uip tasks metadata 123 --priority High --note "Escalated per manager request" --folder-id 42

Data shape (--output json)

{ "Code": "TaskMetadataEdited", "Data": { "taskId": 123 } }
{ "Code": "TaskMetadataEdited", "Data": { "taskId": 123 } }

uip tasks data

Read or write a task's underlying form/business data object.

uip tasks data get

Arguments
NameRequiredPurpose
<task-id>yesTask ID.
Example
uip tasks data get 123 --folder-id 42
uip tasks data get 123 --folder-id 42
Data shape (--output json)
{ "Code": "TaskData", "Data": { "invoiceNumber": "INV-001", "amount": 250.0 } }
{ "Code": "TaskData", "Data": { "invoiceNumber": "INV-001", "amount": 250.0 } }

uip tasks data save

Arguments
NameRequiredPurpose
<task-id>yesTask ID.
Options
LongValueRequiredDescription
--data <json>JSON objectyesTask data to save. Must be a JSON object (not an array or scalar) — anything else fails client-side.
Example
uip tasks data save 123 --data '{"invoiceNumber":"INV-001","amount":250.0}' --folder-id 42
uip tasks data save 123 --data '{"invoiceNumber":"INV-001","amount":250.0}' --folder-id 42
Data shape (--output json)
{ "Code": "TaskDataSaved", "Data": { "taskId": 123 } }
{ "Code": "TaskDataSaved", "Data": { "taskId": 123 } }

See also

Was this page helpful?

Connect

Need help? Support

Want to learn? UiPath Academy

Have questions? UiPath Forum

Stay updated