Move Scheduled Workout
move_scheduled_workoutMove a scheduled workout to a new day by rescheduling the existing plan entry on a target date, then removing the original so the session is never lost.
Instructions
Move a scheduled workout to a new day.
The source-of-truth is the existing scheduled entry identified by
(plan_id, id_in_plan). Its embedded program is used to re-schedule on
happen_day, which supports both library workouts AND plan-embedded
programs from subscribed training plans (which have no library entry).
Order of operations is schedule-new → remove-old, so a failure leaves a duplicate rather than losing the workout. A pre-flight lookup verifies the scheduled entry exists before anything destructive runs.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"plan_id": "<plan_id>",
"id_in_plan": "<id_in_plan>",
"happen_day": "<happen_day>"
},
"name": "move_scheduled_workout"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| plan_id | Yes | Top-level schedule plan ID from list_scheduled_workouts. | |
| sort_no | No | Order within the new day if multiple workouts exist. | |
| happen_day | Yes | New target date in YYYYMMDD format. | |
| id_in_plan | Yes | Scheduled entity ID from list_scheduled_workouts. | |
| workout_id | No | Library workout ID. Optional — used only as a fallback if the scheduled entry lookup doesn't return an embedded program. | |
| plan_program_id | No | Fallback program ID when the scheduled entry lookup doesn't provide one. | |
| source_happen_day | No | Optional hint for the current day of the scheduled entry (YYYYMMDD). Narrows the search window; default search spans ~6 months around today. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||