Create customizable, multi-step review and rework pipelines.

As you work with large, complex projects in Labelbox, reviewing all labeled data rows becomes increasingly time-consuming and expensive. With workflows, you have more granular control over how your data rows get reviewed. Now you can create a highly customizable, step-by-step review pipeline to drive efficiency and automation for your review process.


Workflows feedback

We are enabling workflows on a rolling basis. If you would like to give feedback on our Workflows feature, please fill out this form.

How it works

Every project has one highly customizable review workflow. You can access it by clicking on the Workflow tab within a project.

A workflow comprises a series of tasks - each serving a specialized purpose in the overall review flow. For example, if you want all data rows that contain stop sign annotations to be reviewed, you can add a task and set filtering criteria so that only data rows with stop sign annotations will be admitted to this task. You can also create a task for reviewing data rows labeled by a particular labeler or a group of labelers. Each step in the workflow is configurable so you have the most flexibility in creating your review pipeline.

By default, four tasks will appear in your workflow: Initial labeling task, Initial review task, Rework, and Done. Your project's workflow automatically updates when data rows are labeled or rejected.

  • Initial labeling task: reserved for all data rows that have been queued for labeling
  • Initial review task: first review task for data rows with submitted labels
  • Rework task: reserved for data rows that have been rejected
  • Done task: reserved for data rows that have a) moved through their qualified tasks in the workflow or b) did not qualify for any of the tasks

Of these four default tasks, only the Initial review task can be edited to change the name and add filtering criteria.

Because the process for reviewing data rows is iterative, we designed workflows to automatically update when data rows are labeled or rejected. You can set filtering criteria to control which data rows are sent to which review tasks. All data rows rejected at any of the intermediate review tasks are automatically sent to the Rework task without manual intervention.

Go to the Workflow tab to create, review, and maintain your review workflows.

Workflow tab

Workflow tab

How data rows move through the workflow

A project workflow is similar to a conveyor belt, where data rows move along sequentially through the tasks like checkpoints. Here is how a data row moves through a workflow.

  1. If a data row fits the filtering criteria for a review task, the data row will enter that review task. Then, there are two possible outcomes:

    a. The data row gets an Approve review and goes on to the next task.

    b. The data row gets a Reject review and gets directed to Rework (all rejected).

  2. If a data row does not fit the criteria for a review task, it automatically gets passed to the next review task until it reaches a task that does fit the criteria.

  3. Once a data row is modified/reworked in the Rework (all rejected) task, it goes through each task in the workflow that fits the criteria.

Data flow

Data flow

Consider the workflow pictured above. If a data row receives an Approve review and meets the criteria for both review tasks, the data row will go through the following tasks: Initial labeling task -> Labeler review -> Annotation review -> Done.

However, if the data row receives a Reject review in either of the review tasks, it will move to the Rework task.
Hence, a successful step-by-step flow would be: Rework (all rejected) -> Labeler review -> Annotation review -> Done.

Create a new task


Task limit

To view the maximum number of tasks per workflow, visit our limits page.

  1. To set up a task, click the New task button. This will open the task configuration modal, where you can specify
    • Task name: provides a high-level description of the review task
    • Instructions: provides reviewers direction for reviewing Data Rows in that particular task
  2. Next, select Filters to customize which data rows qualify for the review task. These are the filters you can choose from:
    • Created by: the person who labeled the data row
    • Annotation: the annotation present in the data row
    • Dataset: the dataset the data row belongs to
    • Sample: Specify a percentage of data rows to randomly be selected for this review task

Work on a task

  1. To see the data rows in a given task, click on the task name and click View data.
View data rows
  1. To start working on a review task, click on the task and click Start reviewing in the task details to the right.
  2. This will open another browser where you can review assets with Approve and Decline reviews on a data row. Approved data rows will move to the next applicable review task, while declined data rows will move to Rework.
Work on task

Configure and close tasks

Workflows are designed to be highly configurable. Configuring workflow tasks offers you the most flexibility to drive the efficiency of your QA process.

To modify any task, go to Edit task and modify the filter or add a new filter. You can also delete a filter by clicking the trash can icon next to the filter criteria.

To close a task (if you don’t need the task anymore), click on the gear icon and click Close task.


Condition to close a task

You can only close the last review task if it has 0 data rows. Intermediate tasks can't be closed directly.

Reject & rework data rows

The rework flow is designed to automate the flow of specifying which data rows need to be fixed. The Move to task button allows you the flexibility to maintain a structured workflow while being able to manually move data rows to another task, if necessary. Moving data rows to different tasks in a single bulk action is also covered in the audit logs.

Send a single data row to rework

To reject a single data row and send it to rework:

  1. Select the task on the Workflow tab
  2. Click Start Reviewing
  3. Click Reject on the data rows you want to send to rework. All rejected data rows are automatically sent to the Rework task.

Bulk send data rows to rework

To bulk reject a set of data rows and send them to rework:

  1. Go to the Data rows tab
  2. Use the filters to specify the task the data rows are in
  3. Select a set of data rows (max 10,000 at a time)
  4. From the dropdown, select Move to task & select Rework

Labelers can rework data rows

Labelers (in addition to reviewers) can rework labels on any data rows sent to the Rework task, regardless of whether they created the label. The rework task offers the same functionality as the legacy delete and requeue workaround, which will be sunsetted.

Create an ad-hoc review task

In addition to the structured workflow, sometimes it can be helpful to conduct ad-hoc reviews to get a regular pulse check on the quality of the annotations from your project. However, all reviews must be done through workflows, so you must create another task and add it to your project's workflow.

Even with a structured workflow, this allows you to flexibly do ad-hoc reviews and keep track of them in an audit trail.

To create an ad-hoc task:

  1. Click on the New task button.
  2. Customize the filters, if any.
  3. Go to the Data rows tab.
  4. Select data rows in bulk and select Move to task.
  5. Go back to the Workflow tab.
  6. Click on the ad-hoc task you created and click Start Reviewing.


Moving through tasks with benchmarks

At any stage of the project, if a label on a data row is set as a benchmark, the data row will move to the Done task until the benchmark status is removed from the label.

If you are trying to review a data row with a benchmark label, remove the benchmark from the label and then proceed to move the data row to the appropriate task.

View audit logs

The audit logs allow admins to know the entire set of events that happened on a data row after it was labeled. Labelbox automatically creates this audit log for all data rows that enter the workflow. The purpose of the audit log is to help you understand the complete journey of each data row, especially when you need to investigate the review history of a particular data row or set of data rows.

To view the audit log for a data row:

  1. From the Workflow tab, click on a task. This will open another browser where you can see the data row.
  2. Click on the clock icon.

This will show the complete review history for a data row after it is labeled.