bulk_assign
(Un)assign multiple tasks to one person in a single call. Pass assigneeId (a user id, or null to unassign) OR assigneeEmail (resolved against active org members) - mutually exclusive. Returns { updated, skipped, errors } so partial success is observable: skipped lists tasks already at that assignee; errors lists per-task failures (NOT_FOUND / PROJECT_ACCESS_DENIED). Up to 200 task ids per call. Use the single-task assign_task when you need optimistic-concurrency (expectedAssigneeRevision). Caller must have task.assign on each task's project; the target must be an active member of the organization.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"taskIds": "<taskIds>"
},
"name": "bulk_assign"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| dryRun | No | Preview only: return which tasks would be (re)assigned (current -> proposed assignee) and which would be skipped, without committing. Writes nothing, fires no side effects. | |
| taskIds | Yes | 1–200 task ids to (un)assign. | |
| assigneeId | No | User id, or null to unassign. Mutually exclusive with assigneeEmail. | |
| assigneeEmail | No | Alternative to assigneeId. Resolved against active org members by email. Fails the call if not a member. |