> ## Documentation Index
> Fetch the complete documentation index at: https://docs.redbrickai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Tasks & Assignment

## What is a Task?

A Task is a unit of work that moves through your project pipeline in RedBrick AI. Tasks can consist of anything - a single image, series, or entire study, and your Labeler works with one Task at a time while annotating.

For example, if you'd like your Labelers to view & annotate an **entire MRI study** comprised of **4 series** together, you should upload the 4 series together as a single Task (see "Multi-series Task" below):

<Frame caption="Several examples of valid Tasks">
  <img src="https://mintcdn.com/redbrickai-c2e4bc62/kyR1SMCBxx3NFyLR/assets/images/projects/task.png?fit=max&auto=format&n=kyR1SMCBxx3NFyLR&q=85&s=75283d5c63dd7dd5201c86912ff0d17c" alt="" width="1770" height="914" data-path="assets/images/projects/task.png" />
</Frame>

Please see our [data import documentation](/importing-data/import-cloud-data#items-list) for a more comprehensive overview of how to structure your data imports.

## Task Assignment in RedBrick AI

RedBrick AI allows you to delegate work among your team using either automatic or manual task assignment.&#x20;

Any [Project Admin or Member](/organizations/what-is-an-organization.md#project-level-roles) with relevant permissions can view a Task on RedBrick AI.

### **Automatic Task Assignment**

Automatic Task Assignment is enabled by default upon Project creation. The automatic assignment protocol is a first-come-first-serve system, i.e. it assigns the oldest Tasks to the first labelers that request new Tasks.

Labelers can request new Tasks by clicking on the "Label/Review" buttons on the Project Dashboard.

<Note>You can disable Automatic Task Assignment in **Project Settings -> General Settings.**</Note>

<Frame>
  <img src="https://mintcdn.com/redbrickai-c2e4bc62/kyR1SMCBxx3NFyLR/assets/images/projects/stage-name.png?fit=max&auto=format&n=kyR1SMCBxx3NFyLR&q=85&s=932732413f5e8f0d195df0fe39991683" alt="" width="3584" height="1802" data-path="assets/images/projects/stage-name.png" />
</Frame>

### **Manual Assignment**

Admins can also override the automatic assignment protocol and manually assign Tasks to users from the **Data Page**.&#x20;

<Note>
  RedBrick AI will not automatically re-assign Tasks that have been manually assigned.&#x20;
</Note>

### **Programmatically Assigning Tasks**

You can programmatically assign tasks by prescribing the assignment during data upload as part of your [Items List](/importing-data/import-cloud-data/creating-an-items-list.md#upload-an-items-list-to-your-project) or using the [`assign_tasks()` method](https://sdk.redbrickai.com/sdk.html#redbrick.labeling.Labeling.assign_tasks) of our SDK.

#### Assigning Tasks on Upload

You can use the [`preAssign`](/python-sdk/formats/full-format-reference.md#preassign-stagename-string-string) field in the to assign a Task you are uploading to a specific user(s) at each Stage.

For example, the snippet below will assign `study_001` to `annotator@email.com` in the Label Stage. Once the annotation is complete, the Task will be queued in `Review_1` and `reviewer@email.com` will be assigned as the Reviewer.

```json theme={null}
[
  {
    "name": "study_001",
    "preAssign": {
      "Label": "annotator@email.com",
      "Review_1": "reviewer@email.com"
    },
    "series": [
      {
        "items": "ImageFile.extension"
      }
    ]
  }
]
```

<Note>
  Always double check that your Stage Names (i.e., Label, Review\_1, etc.) and user emails have been input correctly.&#x20;

  Also, when preassigning Tasks, all emails must be associated with an existing Project Member.
</Note>

#### Assigning Tasks after Upload

You can use the assign\_tasks() method to designate task assignment using the SDK. Please see our [SDK Documentation](https://sdk.redbrickai.com/sdk.html#redbrick.labeling.Labeling.assign_tasks) for further details.

## Labeling Queue

Once a Task is assigned to a user, it is added to their Labeling Queue. You can view your labeling queue in two ways.

1. **From the Data Page:** \
   [On the Data Page](https://app.tango.us/app/workflow/Labeling-Queue-on-Data-Dashboard-b79b4d8562d34bc6a33d6cce0aa4476e), you can filter existing Tasks by **Queued for Labeling/Review** and then by Tasks assigned to you.
2. **In the Annotation Tool:**\
   [The Labeling Queue](https://app.tango.us/app/workflow/View-Labeling-Queue-in-Tool-17a013c7a161415c85cba3369344cae2) can be expanded/retracted by clicking on the corresponding button in the top bar of the Annotation Tool.&#x20;

While in your Queue, a Task can be in a few different states depending on the status of the annotation:&#x20;

1. **Assigned**\
   Tasks that you have not worked on yet will be displayed as Assigned.
2. **Saved**\
   Once you save your in-progress annotation (either manually or through auto-save), the Task will show as saved.&#x20;
3. **Pending Finalization**\
   Once you are done with the annotation, you can **Submit a Draft**. All drafts that have been submitted will **still be in your Labeling Queue** pending finalization. You must finalize the draft to complete it and send it to the next stage of the workflow.
4. **Skipped**\
   If you encounter a Task that you would like to complete at a later time, you can skip it to send it to the end of your Labeling Queue.&#x20;

The diagram below is a visual guide to the flows associated with completing Tasks in your Labeling Queue, including associated actions and Task states.

<Frame caption="Guide to submitting Tasks in your Labeling Queue">
  <img src="https://mintcdn.com/redbrickai-c2e4bc62/ZdKrDiZOOdWhNNT4/assets/images/projects/labelling-queue.png?fit=max&auto=format&n=ZdKrDiZOOdWhNNT4&q=85&s=61e1881540a50d714c06d8cd9c3dd214" alt="Guide to submitting Tasks in your Labeling Queue" width="1093" height="601" data-path="assets/images/projects/labelling-queue.png" />
</Frame>

***

## Task Prioritization

RedBrick AI allows you to designate specific Tasks as **prioritized**, which elevates them to the top of your Labeling Queue.

<Frame caption="Two Tasks with priority scores">
  <img src="https://mintcdn.com/redbrickai-c2e4bc62/kyR1SMCBxx3NFyLR/assets/images/projects/task-priority.png?fit=max&auto=format&n=kyR1SMCBxx3NFyLR&q=85&s=aa936b50640bb23f2fc9aa402614ef80" alt="Two Tasks with priority scores" width="440" height="278" data-path="assets/images/projects/task-priority.png" />
</Frame>

Task Priority is reflected in the Web Application in the following ways:

1. Task Priority is visible in the Data Page when sorting by **Queued for Labeling/Review** or **Recently Labeled/Reviewed** - this logic applies to all Stages except for Ground Truth.
2. Task Priority will persist throughout Raising an Issue and/or Rejecting a Task at any Stage.
3. Task Priority will be visible in the Annotation Tool when viewing the Queue
4. Tasks that are Assigned and Prioritized will occupy a higher position in the queue than Tasks that are Unassigned and Prioritized.

As seen in the snippet below, you can use the [`update_tasks_priority()`](https://sdk.redbrickai.com/sdk.html#labeling) method to designate a float between 0 and 1 that reflects the priority of a given Task (where 1 is the highest priority and 0 is the lowest).

```json theme={null}
tasks =
    [
        {
            # High Priority Task
            "taskId": "2716057",
            "priority": 0.95
        },
        {
            # Mid Priority Task
            "taskId": "BU221729",
            "priority": 0.50
        },
        {
            # Low Priority Task
            "taskId": "8675309",
            "priority": 0.32
        }
]

project.labeling.update_tasks_priority(
    stage_name="Label",
    tasks=tasks
)
```

<Note>
  For the truly brave, our Prioritization API supports up to the billionth place for floats.
</Note>

***

## Send to Stage

<Frame>
  <img src="https://mintcdn.com/redbrickai-c2e4bc62/kyR1SMCBxx3NFyLR/assets/images/projects/send-to-stage.png?fit=max&auto=format&n=kyR1SMCBxx3NFyLR&q=85&s=6592b26d532ae1c98bade3b5f47b32ac" alt="Send to Stage" width="1920" height="1118" data-path="assets/images/projects/send-to-stage.png" />
</Frame>

<Warning>The Send to Stage action is disabled for Consensus Projects!</Warning>

***

<Frame caption="A sample Task History for a Task in the Review_1 Stage">
  <img src="https://mintcdn.com/redbrickai-c2e4bc62/kyR1SMCBxx3NFyLR/assets/images/projects/task-history.png?fit=max&auto=format&n=kyR1SMCBxx3NFyLR&q=85&s=5f53c8c73e3f71432f5d16795ece6e8a" alt="A sample Task History for a Task in the Review_1 Stage" width="1238" height="908" data-path="assets/images/projects/task-history.png" />
</Frame>
