Log a time entry
goalslot_log_timeLog time spent on tasks in minutes, optionally crediting to a goal. Preview batches with dryRun before committing to avoid errors.
Instructions
WRITES. Records time the user already spent. This is the workhorse tool for catching up on untracked work. durationMinutes is in whole MINUTES: an hour and a half is 90. date is a calendar date in the user's timezone, taken from get_context.today, never guessed. When goalId is set this ALSO increases that goal's logged hours. That is usually what the user wants, but it means a wrong goalId quietly corrupts goal progress, so confirm the goal before logging. Never invent a duration. If the user did not say how long something took, ask. Restate the minutes back in hours when you confirm, so a units mistake is visible. Entries count against the per-day task limit on free plans. Use dryRun true to show a batch to the user before committing it.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | The day the work happened. 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 | Optional detail about the session. | |
| dryRun | No | When true nothing is written. The tool validates the arguments and returns exactly what it would have done. Use this to show the user a plan before committing to it. | |
| goalId | No | Credit the time to this goal. This increases the goal's loggedHours. | |
| taskId | No | Link the entry to an existing task. | |
| taskName | Yes | What the time was spent on, in the user's own words. | |
| startedAt | No | Optional ISO 8601 instant with an explicit offset or Z, for example 2026-08-25T09:00:00Z, recording when the work began. Its calendar date in the user's timezone must match the date field or the call is rejected with DATE_MISMATCH. | |
| durationMinutes | Yes | Duration in whole minutes. One hour thirty minutes is 90. Never send hours here and never send a decimal. Minimum 1. | |
| scheduleBlockId | No | Link the entry to the weekly schedule block it belongs to, which is what makes schedule adherence reports work. |