Skip to main content
Glama

update_task

Modify existing tasks in OmniFocus by updating details like completion status, due dates, tags, or moving between projects.

Instructions

Update an existing task in OmniFocus (NEW API - Redesign).

This comprehensive update function consolidates multiple specialized functions:

  • complete_task() -> update_task(task_id, completed=True)

  • drop_task() -> update_task(task_id, status="dropped")

  • move_task() -> update_task(task_id, project_id=X)

  • set_parent_task() -> update_task(task_id, parent_task_id=X)

  • set_estimated_minutes() -> update_task(task_id, estimated_minutes=X)

  • add_tag_to_task() -> update_task(task_id, add_tags=[...])

Args: task_id: The ID of the task to update task_name: New task name (optional) project_id: Move task to this project (optional). Mutually exclusive with parent_task_id — a subtask inherits its parent's project. parent_task_id: Make task a subtask of this parent (optional). Mutually exclusive with project_id — a subtask inherits its parent's project. note: New note content (optional). WARNING: Removes rich text formatting due_date: New due date in ISO 8601 format, or empty string to clear. Omitting means no change. (optional) defer_date: New defer date in ISO 8601 format (when task becomes available), or empty string to clear. Omitting means no change. (optional) flagged: Flag marks a task as a priority — typically 'I want to work on this today.' Pass True to flag, False to unflag. (optional) tags: Full replacement — set exact tag list as a native list (optional, conflicts with add_tags/remove_tags). Note: unlike create_task, this takes a list not a JSON string. add_tags: Add these tags incrementally (optional, conflicts with tags) remove_tags: Remove these tags (optional, conflicts with tags) estimated_minutes: Estimated time in minutes (optional) completed: Mark task complete/incomplete (optional) status: Task status - "active" or "dropped" (optional) name: DEPRECATED - Use task_name instead (optional, for backward compatibility)

Returns: Success message with updated fields, or error message

Examples: update_task("task-123", completed=True) # Mark complete update_task("task-123", status="dropped") # Drop task update_task("task-123", project_id="proj-456") # Move to project update_task("task-123", add_tags=["urgent"]) # Add tag update_task("task-123", task_name="New Name", flagged=True, due_date="2025-12-31")

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
task_idYes
task_nameNo
project_idNo
parent_task_idNo
noteNo
due_dateNo
defer_dateNo
flaggedNo
tagsNo
add_tagsNo
remove_tagsNo
estimated_minutesNo
completedNo
statusNo
nameNo

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/s-morgan-jeffries/omnifocus-mcp'

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