# Queue task activities

> Queue task activities in Maestro BPMN processes: required fields for creating, updating, and resolving Orchestrator queue items, organized by activity.

Queue task activities create, update, and resolve Orchestrator queue items from a task in a Maestro BPMN process. Queue activities are accessed from the **Action** dropdown in a task's Properties panel. Queue activities are available in the following task types — refer to [Tasks](tasks.md) for the full list:
- Service tasks
- User tasks
- Send tasks
- Receive tasks
- Business rule tasks
- Script tasks

## Queue item lifecycle

| State | How it's reached |
|---|---|
| New | The item is added to the queue. |
| InProgress | A queue trigger starts a process instance for the item and sets it to InProgress. |
| Successful / Failed | The process sets the final state with **Set transaction status**. |
| Abandoned | Automatic, if an item stays InProgress for 24 hours without reaching a final state. If retry is configured on the queue, Orchestrator clones the item and re-queues it. |

:::note
One queue item starts exactly one Maestro BPMN process instance. A single instance consuming multiple items in a loop isn't supported in this release.
:::

## Create queue items

Adds a new item to an Orchestrator queue with **New** status.

| Field | Required | Description |
|---|---|---|
| Queue name | Yes | The Orchestrator queue to add the item to. |
| Folder path | Yes | The Orchestrator folder that contains the queue. |
| Priority | No | The processing priority of the item. |
| Deadline | No | The date and time by which the item must be processed. |
| Postpone date | No | The earliest date and time the item becomes available for processing. |
| Custom data | No | Additional data attached to the item, available to the robot or process that processes it. |

## Create and wait for queue items

Adds an item to a queue and waits for the item to reach a final state before continuing the process. Uses the same fields as [Create queue items](#create-queue-items).

## Bulk add queue items

Adds multiple items to a queue in a single batch, up to 15,000 items per call.

| Field | Required | Description |
|---|---|---|
| Queue name | Yes | The Orchestrator queue to add items to. |
| Folder path | Yes | The Orchestrator folder that contains the queue. |
| Items | Yes | The list of items to add, up to 15,000 per call. |
| Commit type | Yes | **AllOrNothing** rejects the entire batch if any item fails validation. **ProcessAllIndependently** adds all valid items and reports failures individually. |

When commit type is **ProcessAllIndependently**, the activity returns the list of items that failed to be added.

## Delete queue items

Removes items with **New** status from a specified queue.

| Field | Required | Description |
|---|---|---|
| Queue name | Yes | The Orchestrator queue to remove items from. |
| Folder path | Yes | The Orchestrator folder that contains the queue. |
| Items | Yes | The items to remove. Only items with **New** status can be removed. |

## Postpone transaction item

Sets a defer date, and optionally a due date, for an in-progress transaction item, and returns the item to **New** status.

| Field | Required | Description |
|---|---|---|
| Defer date | Yes | The earliest date and time the item becomes available for processing again. |
| Due date | No | The deadline by which the item must be processed. |

:::note
Postpone transaction item isn't retried automatically when the underlying call fails with a 4xx error.
:::

## Set transaction progress

Updates an InProgress transaction item with a custom status string. The status is visible in Orchestrator.

| Field | Required | Description |
|---|---|---|
| Progress | Yes | A custom text string describing the current processing state of the item. |

## Set transaction status

Sets the final state of a transaction item to **Successful** or **Failed**.

| Field | Required | Description |
|---|---|---|
| Status | Yes | **Successful** or **Failed**. |
| Error type | Conditional | Required when status is **Failed**. **BusinessException** or **ApplicationException**. |
| Error reason | Conditional | Required when status is **Failed**. A short description of the error. |
| Error details | No | Additional error information. |

Maestro automatically retries the task unless the underlying call fails with a 4xx error. On failure, the task returns the error code `OrchestratorSetTransactionResultFailed`.

For the trigger that starts a process from a queue item, refer to [Events](events.md#start-events). For more information about tasks, refer to [Tasks in BPMN modeling](https://docs.uipath.com/maestro/automation-cloud/latest/user-guide/tasks-in-bpmn-modeling).
