Guide
How to get an AI training plan onto your Garmin watch
Every AI can write you a training plan. Almost none can put it on your watch, and none of them look at your actual data first. With a Garmin MCP connector that has write tools, ChatGPT or Claude can do both: read eight weeks of your training, build a block around your readiness, and schedule each session as a structured workout your watch will guide you through.
What you'll end up with
Workouts in Garmin Connect → Training → Workouts, scheduled on your calendar, each with warm-up, intervals with pace or heart-rate or power targets, recoveries and cool-down. On the watch you press start and it beeps you through each step, exactly as if you'd built them in the Garmin app by hand. The difference is that an AI built them from your numbers in a two-minute conversation.
Step 1: connect
Follow the ChatGPT or Claude guide. You need the Athlete plan (or the trial, which includes Athlete features) so the create_workout and schedule_workout tools are present.
Step 2: brief the AI properly
Good plans come from good briefs. Paste something like this:
You're my running coach. Goal: half marathon on 2026-12-06, target 1:44.
First, use the Garmin tools to read my last 8 weeks: weekly volume, long runs,
intensity distribution from HR zones, training status, VO2 max, race predictions,
and anything that looks like fatigue (HRV trend, sleep, readiness).
Then tell me what you see before proposing anything.
Constraints: 4 runs/week, long run Sunday, no doubles, Tuesday is my only
evening free for intervals. Easy pace ~5:40/km. Current threshold ~4:35/km.
Letting it read first matters. The model will call get_garmin_data for activities, training_status, race_predictions and a few hrv days, and come back with an actual assessment ("your long run has been stuck at 14 km for five weeks and your Tuesday sessions are drifting into zone 4").
Step 3: ask for one week as a table
Propose week 1 only, as a table: day, session, steps with targets, purpose. Don't write anything to Garmin yet.
Read it. Push back ("make the intervals 1 km not 800 m", "move the long run to 16 km"). This is where a human still earns their keep, and it's cheap: the plan is text until you approve it.
Step 4: approve, and let it write
Looks good. Create and schedule all four sessions for week 1.
The AI calls create_workout four times, each with a schedule_date. Because the tool is annotated as a write, ChatGPT and Claude ask you to confirm each call (or once for the batch, depending on client). The spec it sends looks like this behind the scenes:
{
"name": "Tue: 5 × 1k @ threshold",
"sport": "running",
"steps": [
{ "kind": "warmup", "duration": { "type": "time", "seconds": 900 }, "target": { "type": "heart_rate_zone", "zone": 2 } },
{ "kind": "repeat", "times": 5, "steps": [
{ "kind": "interval", "duration": { "type": "distance", "meters": 1000 }, "target": { "type": "pace", "fastest": "4:30", "slowest": "4:40" } },
{ "kind": "recovery", "duration": { "type": "time", "seconds": 90 } }
]},
{ "kind": "cooldown", "duration": { "type": "lap_button" } }
]
}
You never see or type that. You said "5 × 1k at threshold with 90 s jog" and the server translated it into Garmin's format.
Step 5: sync your watch
Open Garmin Connect on your phone (or just wait for the next automatic sync). The workouts are in Training → Workouts and on the calendar. On the watch: Training → Workouts → pick it, or on race-day style watches it'll be suggested when you start a run on the scheduled day.
Step 6: make it adaptive
The real win is weekly. Each Sunday evening:
Review this week: compare what I did against what was planned, look at my HRV, sleep and readiness trend, then propose next week as a table.
If readiness is in the tank, the model will see it and ease off; if you crushed the intervals, it'll nudge the targets. Approve, and it writes the week. Use update_workout when you want to tweak one session rather than recreate it, and unschedule_workout if life gets in the way.
Guardrails worth setting
- Never let it write without a table first. Put "always show me the week before creating anything" in your project instructions or at the top of the chat.
- Keep deletes off. They're off by default. Removing a workout from the calendar (
unschedule_workout) doesn't need them. - Name sessions with the day. "Tue: 5 × 1k" is easier to find on a watch than "Threshold intervals (3)".
- Treat the AI as the coach, Garmin as the source of truth. If the model says your long run was 18 km and your watch says 16, trust the watch and ask the model to re-read.
Cycling and strength
The same flow works for bike sessions with power targets ("4 × 8 min at 250–270 W") and for strength with named exercises ("3 × 8 barbell back squat, 2 min rest"). Swimming workouts take distance steps in metres. See the workout spec for everything the builder understands.
Put next week on your watch tonight
48-hour free trial includes the write tools.