> For the complete documentation index, see [llms.txt](https://docs.unitlab.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.unitlab.ai/documentation/workflows/assignment-and-stage-actions.md).

# Assignment and stage actions

Workflow actions are permissioned state transitions. Operators should see only the actions valid for their role, stage, assignment, and current task state.

![Task Queue with assignment controls](https://292810646-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGjVLUz4wthGkGlRKM6rM%2Fuploads%2FNuZoKkKYJ9eoN6ckUKWT%2Ftask-queue.png?alt=media\&token=698abe91-80e4-461c-9837-9874a5b22451)

*Queue assignment and Workbench stage actions should express the same operating rules so users do not need side-channel coordination.*

Saving and moving through the workflow are separate actions. Saving appends annotation history inside the current stage. A stage action changes the item’s route.

The Workbench header builds available actions from the current item and can show:

* **Send to Review** or **Send to `<stage>`**;
* **Mark as Complete**;
* **Reject** as a danger action;
* **Restart Workflow** for a manager viewing a Complete item;
* item timeline.

Automated-stage items open read-only while the model or automation owns them. After a successful stage action, Unitlab saves dirty work, advances to the next item in the current queue/filter context, and returns to the project Datasets page with a Queue complete message when no work remains.

### Use this in production

* Define whether work is manually assigned, self-claimed, or automatically allocated.
* Separate the ability to annotate, review, move tasks, change priority, and administer the project.
* Make save, submit, reject, skip, invalid, and escalate behavior distinct.
* Test unassigned, assigned-to-self, assigned-to-other, completed, and reopened states for every role.
