Start the timer
goalslot_start_timerStart the shared timer to track time for a goal, task, or custom activity, with notes and a controlled takeover option when a session is already running.
Instructions
WRITES. Starts the shared GoalSlot timer for this account. The same timer the user sees in the web and mobile apps, not a private one. Only one timer can run at a time. If one is already running this returns TIMER_ALREADY_RUNNING with what it is tracking and how long it has been going. Do not pass takeOver to get past that on your own: takeOver DISCARDS the running session and its elapsed time is lost with no time entry written. Show the user what is running and let them choose to stop it or replace it. Attach goalId when the work belongs to a goal, so stopping the timer credits that goal.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| notes | No | Notes carried onto the time entry when the timer stops. | |
| goalId | No | Goal id from list_goals. Never construct or guess an id. | |
| taskId | No | Task id from list_tasks. Never construct or guess an id. | |
| takeOver | No | Replace a session that is already running. DESTRUCTIVE: the replaced session is discarded and its elapsed time is never written anywhere. Only send true after the user has explicitly said to throw that time away. | |
| taskName | No | Free-text label for what is being worked on, for example "Refactoring the timer store". | |
| scheduleBlockId | No | Schedule block id from get_schedule. Never construct or guess an id. |