Update Task
omnifocus_update_taskUpdate any property of an existing OmniFocus task, including name, due date, notes, flag, estimate, recurrence, or project assignment.
Instructions
Update properties of an existing task in OmniFocus.
Only the fields you provide are changed. Use null to clear a date or note field.
Args:
taskId (string, optional): The task's ID. Takes priority if both taskId and taskName provided.
taskName (string, optional): The task's name to search for. At least one of taskId or taskName is required.
name (string, optional): New task name
note (string | null, optional): New note text. Pass null to clear.
dueDate (string | null, optional): New due date in ISO 8601 format. Pass null to clear.
deferDate (string | null, optional): New defer date in ISO 8601 format. Pass null to clear.
plannedDate (string | null, optional): New planned date in ISO 8601 format. Pass null to clear.
flagged (boolean, optional): Set flagged state
estimatedMinutes (number, optional): Time estimate in minutes. Pass 0 to clear.
projectId (string, optional): ID of the project to move the task to.
projectName (string, optional): Name of the project to move the task to. Ignored if projectId is provided.
recurrence (object | null, optional): Repetition pattern to make the task recurring (same shape as create_task: frequency, interval, daysOfWeek, dayOfMonth, monthOfYear, repeatFrom). Pass null to remove recurrence.
clearRecurrence (boolean, optional): Set true to remove the task's repetition rule (turn off recurring). Equivalent to recurrence: null.
Returns: The updated task object
Examples:
Rename: { taskId: "abc123", name: "New name" }
Set due date: { taskId: "abc123", dueDate: "2024-12-31T17:00:00" }
Clear due date: { taskId: "abc123", dueDate: null }
Make it recurring weekly: { taskId: "abc123", recurrence: { frequency: "weekly", daysOfWeek: ["Monday"] } }
Turn off recurring: { taskId: "abc123", clearRecurrence: true }
Flag and estimate: { taskId: "abc123", flagged: true, estimatedMinutes: 30 }
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | New task name | |
| note | No | New note text. Pass null to clear the note. | |
| taskId | No | The task ID to update. Takes priority if both taskId and taskName are provided. | |
| dueDate | No | New due date in ISO 8601 format. Pass null to clear. | |
| flagged | No | Set flagged state | |
| taskName | No | The task name to search for. At least one of taskId or taskName is required. | |
| deferDate | No | New defer/start date in ISO 8601 format. Pass null to clear. | |
| projectId | No | ID of the project to move the task to. | |
| recurrence | No | Set a repetition pattern to make the task recurring (same shape as create_task). Pass null to remove recurrence. | |
| plannedDate | No | New planned date in ISO 8601 format. Pass null to clear. | |
| projectName | No | Name of the project to move the task to. Ignored if projectId is provided. | |
| clearRecurrence | No | Set true to remove the task's repetition rule (turn off recurring). Equivalent to recurrence: null. | |
| estimatedMinutes | No | Estimated time in minutes. Pass 0 to clear. |