Skip to main content
Glama

update_task

Modify existing Notion tasks by updating status, priority, due dates, tags, notes, or project assignments to keep workflow information current and organized.

Instructions

更新一个已有任务的属性(只传需要修改的字段)。

Args: task_id: Notion 页面 ID(必填) status: 新状态,可选:待办 | 进行中 | 完成 | 搁置 priority: 新优先级,可选:🔴 紧急 | 🟡 高 | 🟢 普通 due_date: 新截止日期,格式 YYYY-MM-DD tags: 新标签列表(会完整替换原有标签) note: 新备注(会替换原有备注) project: 所属项目名称

Returns: 更新后的任务详情

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
task_idYes
statusNo
priorityNo
due_dateNo
tagsNo
noteNo
projectNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • The `update_task` tool handler function that accepts task updates and processes them through the client.
    def update_task(
        task_id: str,
        status: Optional[str] = None,
        priority: Optional[str] = None,
        due_date: Optional[str] = None,
        tags: Optional[list[str]] = None,
        note: Optional[str] = None,
        project: Optional[str] = None,
    ) -> dict:
        """
        更新一个已有任务的属性(只传需要修改的字段)。
    
        Args:
            task_id:  Notion 页面 ID(必填)
            status:   新状态,可选:待办 | 进行中 | 完成 | 搁置
            priority: 新优先级,可选:🔴 紧急 | 🟡 高 | 🟢 普通
            due_date: 新截止日期,格式 YYYY-MM-DD
            tags:     新标签列表(会完整替换原有标签)
            note:     新备注(会替换原有备注)
            project:  所属项目名称
    
        Returns:
            更新后的任务详情
        """
        data = TaskUpdate(
            status=TaskStatus(status) if status else None,
            priority=TaskPriority(priority) if priority else None,
            due_date=due_date,
            tags=tags,
            note=note,
            project=project,
        )
        return get_client().update_task(task_id, data).model_dump()
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses that tags and note fields will completely replace existing values ('会完整替换原有标签', '会替换原有备注'), which is important behavioral context. However, it doesn't mention permission requirements, error conditions, or whether updates are idempotent/reversible. The description doesn't contradict any annotations (since none exist).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a clear purpose statement followed by an Args section with bullet-point parameter explanations and a Returns section. Every sentence earns its place by providing essential information. It could be slightly more concise by integrating the purpose statement with the parameter section more tightly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 7 parameters with 0% schema coverage and no annotations, the description does an excellent job explaining parameter semantics and partial update behavior. The presence of an output schema means the description doesn't need to detail return values. However, it could better address mutation-specific concerns like error handling or idempotency given it's an update tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate fully. It provides excellent parameter semantics: it explains each parameter's purpose, format constraints (e.g., '格式 YYYY-MM-DD' for due_date), optional values with enumerations (status and priority options), and behavioral implications (tags and note replace existing values). This adds significant value beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: '更新一个已有任务的属性' (update properties of an existing task). It specifies the verb (update), resource (task), and scope (only pass fields that need modification). This distinguishes it from sibling tools like create_task, append_task, and complete_task by focusing on partial updates of existing tasks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context through '只传需要修改的字段' (only pass fields that need modification), suggesting partial updates. However, it doesn't explicitly state when to use this tool versus alternatives like complete_task (which might handle status changes specifically) or update_subtasks. No explicit exclusions or prerequisites are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/wauwaya/notion-workflow-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server