create_plan
Create a whole training block at once: each session built as a structured workout and scheduled on its date in the user's Garmin calendar. Every session is checked before anything is created, so a mistake leaves no half plan. Each workout's name ends with the plan code after a middle dot, "Threshold 5x1k · HM"; nothing is stored outside Garmin. The result is the new block drawn as an interactive plan card.
Args: goal: What the block is for, e.g. "Half marathon, 1:40, 15 November". sessions: One per session, any order, at most 150: "date" (YYYY-MM-DD, today to 30 weeks out), "name" (short, as on the watch: "Long run 18k"), "steps" (as for a single workout), and optional "sport" (running by default), "description", "pool_length_meters" (25 by default) and "phase" (one short word such as "Base", "Build", "Peak" or "Taper"; the card bands the weeks by it). Days without a session are rest days. label: 2 or 3 letters or digits for the plan code, e.g. "HM", "10K", "MAR". From the goal when omitted. name: A short name for the block, shown as the card's title, e.g. "Marathon build". method: The methodology in a few words, shown under the name, e.g. "80/20". milestones: Up to 4 points on the way to the goal, drawn as a timeline: {"label": "Half check", "date": "2026-11-29", "target": "1:22"}, date and target optional.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| goal | Yes | ||
| name | No | ||
| label | No | ||
| method | No | ||
| sessions | Yes | ||
| milestones | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||