Update, complete or restore a task
goalslot_update_taskEdit task details, complete tasks to log time and update linked goals, or restore completed tasks on GoalSlot.
Instructions
WRITES. One tool for the whole task lifecycle, selected by action. action "update" edits fields. action "complete" marks the task done AND creates a time entry for actualMinutes, which also increases the linked goal's logged hours; it counts against the per-day task limit. action "restore" reopens a completed task. actualMinutes is required for complete and is in whole MINUTES. Never guess it: ask the user how long the task actually took.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | complete only. The date to log the time against. Defaults to today in the user's timezone. Calendar date as YYYY-MM-DD, for example 2026-08-25, interpreted in the user's timezone (get_context.timezone). Never include a time or a Z suffix. Use get_context.today rather than assuming what today is. | |
| notes | No | update or complete. | |
| title | No | update only. | |
| action | Yes | "update" to edit fields, "complete" to finish the task and log time for it, "restore" to reopen it. | |
| goalId | No | update only. | |
| status | No | update only. Use action "complete" rather than setting DONE here, so the time is logged too. | |
| taskId | Yes | Task id from list_tasks. Never construct or guess an id. | |
| dueDate | No | update only. New due date. Calendar date as YYYY-MM-DD, for example 2026-08-25, interpreted in the user's timezone (get_context.timezone). Never include a time or a Z suffix. Use get_context.today rather than assuming what today is. | |
| category | No | update only. | |
| description | No | update only. | |
| actualMinutes | No | complete only, and required for it. Whole MINUTES actually spent. | |
| scheduleBlockId | No | update only. | |
| estimatedMinutes | No | update only. Whole MINUTES. |