update_workout
Apply a user-approved change to an existing workout template. workout_name is the exact current name; optional workout_folder_name disambiguates duplicate names and does not change folder membership. Omitted fields keep their current values.
name renames the workout. exercises replaces the entire exercise list, including all exercises and sets to retain. Progression links are preserved for exercises that keep their name. Each exercise uses an exact catalog or custom exercise display name, target (reps|time), load (weight|percent), working sets, and rest configuration, with optional warmup sets, supersets, RPE, and notes. The input schema defines the fields and constraints. Notes appear on the watch in the workout step description.
A rename-only request contains workout_name and name, plus workout_folder_name if needed; it does not require exercises.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | New name for the workout (a rename) | |
| exercises | No | Full replacement exercise list, including all exercises and sets to retain. Exercises absent from this array are removed. Omission of this field preserves the existing exercise list. The workout must fit within 100 steps: each warmup or working set counts as one step, plus one for each timed or lap rest. Off rests add no steps. | |
| workout_name | Yes | Exact current name of the workout to update | |
| workout_folder_name | No | Folder of the target workout, only needed when several workouts share the name. Identity only: this tool never moves a workout between folders. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Final workout name after the update | |
| updated | Yes | Which slices were written | |
| set_count | Yes | ||
| previous_name | No | Present only when the name actually changed | |
| exercise_count | Yes |