Create a workout for Apple Watch
create_workout_planCreate one structured workout requested by the user, scheduled within the next 7 days. Stores a pending plan; does NOT immediately deliver to or start Apple Watch. The first delivery is manual: open telo on iPhone > Planned workouts and tap Schedule on Watch to grant permission. Afterwards the user may opt into automatic delivery for newly created plans on that iPhone. Background scheduling is opportunistic, not immediate; otherwise review each plan manually. Use seconds/meters and an explicit local UTC offset. Step names can describe reps/weights; these are instructions, not native repetition goals. Pool swimming uses activity=swimming and location=indoor only. Optional pool_length_m is displayed for review; the user sets pool length on Watch when starting because WorkoutKit has no pool-length setter. pool_distance_with_time goals require meters and seconds, and advance only when BOTH distance and time are fulfilled (send-off intervals; overrunning distance delays the next step). Distance-only goals are also supported. Pool custom workouts require watchOS 11 or later. Device supportsActivity/supportsGoal validation can reject unsupported activities, goals or alerts before scheduling. Retry with the SAME idempotency_key and payload. Read workout_plans to check delivery and exact recorded results. Never claim the Watch received a pending plan.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| definition | Yes | ||
| scheduled_at | Yes | Future date/time within 7 days, including local UTC offset, e.g. 2026-10-27T07:00:00-03:00. | |
| idempotency_key | Yes | Reuse exactly this key and payload when retrying this creation. Use a new key for a different workout. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| plan | Yes | ||
| next_step | Yes |