A project manager creates annotation tasks from selected datasets and assigns annotators and auditors. For task field definitions, status transitions, and list operations, see Annotation Tasks; this page covers the creation and assignment procedure only.
Roles and Prerequisites
Roles
| Role | Can create | Notes |
|---|
| Project Manager | Yes | Requires the Manage Annotation Tasks module permission |
| Administrator | Yes | Not restricted by module permissions |
| Annotator | No | Manage Annotation Tasks is not granted by default |
| Auditor | No | Same as above |
| Collector | No | Same as above |
Prerequisites
| Item | Requirement |
|---|
| Permissions | Manage Annotation Tasks |
| Datasets | At least 1 dataset pending annotation |
| Project | The target project exists. If the project is public, the creator must be a member of the project or an administrator; otherwise the API returns 403 |
| Annotators | At least 1 assignable account |
| Auditors | Can be left empty. When empty, the task has no auditor and one must be added later in the task details |
| Task name | Unique across the platform. If the name already exists on creation, the API appends a sequence number automatically (for example, Task (2)) and does not return an error; when editing to an existing name, the API returns 400 |
Procedure
Creation and Assignment
There are two equivalent entry points for creation, and both use the same form:
| Entry point | Path | How to open |
|---|
| Data page | /dataset | Select datasets → Annotation in the bottom action bar |
| Annotation Tasks page | /tasks/new | Annotation Tasks page → Create Annotation Task |
- Select the datasets to annotate. When entering from the Data page, the selected checkboxes are the selected datasets; when entering from
/tasks/new, select them on the left side of the form.
- Select the Create Task tab in the form.
- Enter a task name. When left empty, the system uses the current date as the task name.
- Select the project. A new project can be created within the form.
- Select annotators and auditors. Both fields support multiple selection.
- Make sure the number of selected datasets is not less than the number of selected annotators; otherwise submission is rejected.
- Select Create.
After creation, the task starts in Pending Start. If an administrator has configured a Feishu bot webhook in System Settings, a task notification is pushed on creation.
Annotator Split Rules
On submission, the system splits the datasets by annotator and creates one task per annotator, named task name_annotator name; the same naming rule applies when a single annotator is selected.
| Rule | Behavior |
|---|
| Deduplication | Dataset IDs are deduplicated first, then used for allocation |
| Even split | The dataset count is divided by the annotator count, rounded down to give each annotator a base share |
| Remainder | Remaining datasets are assigned in order to the earliest annotators, at most 1 each |
| Random order | When Distribute Data Randomly is selected, the dataset order is shuffled before allocation so that a single collection batch does not concentrate on one person |
| Auditor pairing | Auditors are paired cyclically in annotator order. When a single auditor is selected, that auditor handles all tasks |
| Insufficient data | When the dataset count is less than the annotator count, submission is rejected with the message "Not enough data for all annotators. Reduce annotators or add data." |
Appending Data to an Existing Task
To add datasets to an existing task, use the Append task tab: select the target task, select the datasets to append, and confirm the submission. Appending does not create a task; it only expands the dataset scope of that task.
| Tab | Purpose |
|---|
| Create Task | Create a new task and assign people |
| Append task | Add datasets to an existing task |
| Quick Annotation | Enter the annotation interface directly without creating a task |
Verification
| Check | Expected result |
|---|
| Task status | A new task is in Pending Start |
| Task name | The form task name with a _annotator name suffix |
| Dataset ownership | All selected datasets appear on the Annotation Data tab of the task details page |
| Data allocation | The sum of datasets across the annotators' tasks equals the number of selected datasets, with no duplicates |
| Auditors | Matches the form selection; when no auditor is selected, the task has no auditor |
Error Handling
| Symptom | Cause | Action |
|---|
| Message "Please select the project for the task" | No project selected | Select a project; create one in the form if none is suitable |
| Message "Please select annotators and auditors" | No annotator selected. Leaving auditors empty does not trigger this check | Select at least 1 annotator |
| Message "Not enough data for all annotators" | The dataset count is less than the annotator count | Reduce the annotator count or add datasets |
| API returns 403 | Creating a task in a public project while not a project member | Have a project member create it, or ask an administrator to add the account to the project |
| Message "No tasks created. Check data allocation." | All split results are empty sets | Check whether the selected datasets are still valid, select again, and submit |
| Message "Task could not be appended" | No target task was selected when appending | Select a target task on the Append task tab |
Related Pages