update-task
Modify existing Dooray project tasks by changing assignees, tags, workflow status, priority, due date, milestone, or parent task while preserving fields you do not provide.
Instructions
Update an existing task in a Dooray project.
RECOMMENDED WORKFLOW (guide for AI assistants):
Fetch Current Task: Call get-task to retrieve current values before updating
Preserves existing data when only updating specific fields
Shows current assignees, tags, milestone, workflow status
Use returned data to know what values to preserve
Determine Changes: Identify what needs updating
If changing assignees/cc: Get options from get-my-member-info, get-project-member-list, get-project-member-group-list
Member types: {"id": "...", "type": "member|group|email"}
"member": organizationMemberId, "group": group id, "email": email address
Handle Tags: Call get-tag-list if updating tags
CRITICAL: Check tagGroup.mandatory=true - MUST include tags from all mandatory groups or update fails (500 error)
tagGroup.selectOne=true: Select exactly ONE tag from group
tagGroup.selectOne=false: Select one or MORE tags from group
IMPORTANT: tagIds is a COMPLETE replacement, not additive
Handle Workflow: Use get-project-workflow-list to see available statuses
Provide workflowId to change task status
Workflow classes: backlog (대기), registered (등록/할 일), working (진행 중), closed (완료)
Handle Parent Post (상위 업무): Provide parentPostId to set a parent task
Nested hierarchy is NOT allowed: a task that already has sub-tasks cannot be set as a parent
IMPORTANT NOTES:
Complete Replacement: assignees, cc, and tagIds completely REPLACE existing values (not merged)
Add / Remove: addAssignees, removeAssignees, addCc, removeCc, addTagIds, removeTagIds change only what you list and keep the rest. The tool reads the current task itself, so get-task is not needed first. Do not combine them with the replacement option of the same field
Preserve Data: Only provide fields you want to change; unprovided fields remain unchanged
Korean Terms: "to" = 담당자 (assignee), "cc" = 참조 (reference)
Priority: Use "none" to remove priority
URL Pattern Recognition: When given a Dooray task URL like "https://nhnent.dooray.com/task/PROJECT_ID/TASK_ID":
Extract the first numeric ID after "/task/" as projectId
Extract the second numeric ID as taskId
Examples:
Change priority: {"projectId": "123", "taskId": "42", "priority": "high"}
Update assignees: {"projectId": "123", "taskId": "42", "assignees": [{"id": "user123", "type": "member"}]}
Change status: {"projectId": "123", "taskId": "42", "workflowId": "working"}
Update tags: {"projectId": "123", "taskId": "42", "tagIds": ["tag1", "tag2"]}
Clear milestone: {"projectId": "123", "taskId": "42", "milestoneId": null}
Set parent task: {"projectId": "123", "taskId": "42", "parentPostId": "99"}
Add a CC, keep others: {"projectId": "123", "taskId": "42", "addCc": [{"id": "user456", "type": "member"}]}
Add and remove tags: {"projectId": "123", "taskId": "42", "addTagIds": ["tag3"], "removeTagIds": ["tag1"]}
Returns: Updated task with all current details.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cc | No | New complete list of CC recipients (참조). REPLACES all existing CC recipients. To get options: (1) use get-my-member-info for current user, (2) use get-project-member-list for project members, (3) use get-project-member-group-list for member groups. Each CC object has {id: string, type: "member"|"group"|"email"}. | |
| body | No | New task body content | |
| addCc | No | CC recipients to add, keeping current ones. Cannot be combined with assignees or cc. | |
| tagIds | No | New complete array of tag IDs. REPLACES all existing tags. IMPORTANT: Check for mandatory tag groups using get-tag-list tool. Projects may require specific tags from mandatory tag groups, or update will fail with 500 error. | |
| taskId | Yes | Task ID to update | |
| dueDate | No | New due date in ISO 8601 format | |
| subject | No | New task subject/title | |
| priority | No | Task priority level (highest, high, normal, low, lowest, none) | |
| removeCc | No | CC recipients to remove. Cannot be combined with assignees or cc. | |
| addTagIds | No | Tag IDs to add, keeping current tags. Cannot be combined with tagIds. | |
| assignees | No | New complete list of assignees (담당자). REPLACES all existing assignees. To get options: (1) use get-my-member-info for current user, (2) use get-project-member-list for project members, (3) use get-project-member-group-list for member groups. Each assignee object has {id: string, type: "member"|"group"|"email"}. | |
| projectId | Yes | Project ID where the task belongs | |
| workflowId | No | New workflow ID (status). Use get-project-workflow-list to see available workflow statuses for this project. Workflow classes: backlog (대기), registered (등록/할 일), working (진행 중), closed (완료). | |
| milestoneId | No | New milestone ID, or null to remove milestone | |
| addAssignees | No | Assignees to add, keeping current ones. Cannot be combined with assignees or cc. | |
| parentPostId | No | Parent task ID to set as parent (상위 업무 설정). Nested hierarchy is NOT allowed: a task that already has sub-tasks cannot be set as a parent. | |
| removeTagIds | No | Tag IDs to remove. Cannot be combined with tagIds. | |
| removeAssignees | No | Assignees to remove. Cannot be combined with assignees or cc. |