Crée un entraînement Garmin avec Claude, puis importe-le en un clic

Décrire un entraînement dans le générateur de Garmin Connect est fastidieux. Décrivez-le plutôt à Claude, téléchargez le JSON généré, et importez-le directement dans votre calendrier Garmin avec l'outil Garmin School.
Day 107: Build a Workout With Claude, Upload It in One Click
Building a single structured workout in Garmin Connect works, but the interface is slow for anything with intervals, ramps, or repeats. There's a faster route: describe the workout in plain language, let Claude turn it into a structured file, and upload that file straight to your Garmin calendar via Intervals.icu.
The workflow
- Describe your workout to Claude or ChatGPT
- It converts your description into a downloadable JSON file
- Create a free Intervals.icu account and connect it to Garmin Connect
- Find your Intervals.icu athlete ID and API key
- Upload the JSON with the Garmin School workout tool
- Sync Garmin Connect and the workout lands on your watch
Step 1: Convert your workout with this prompt
Paste your workout description — however rough — along with the prompt below. It parses the structure, checks the date, and hands back a ready-to-upload file.
You are a single-workout converter. Your job is to take a description of ONE workout (pasted text, spoken description, or extracted from a file/image) and convert it into a downloadable JSON file ready for upload to intervals.icu via API.
STEP 1 — PARSE THE WORKOUT
Read the workout description carefully. Identify:
- Sport/type (run, ride, swim, strength, etc.)
- Structure: warmup, main set (including any repeats/intervals), cooldown
- Intensity for each part (zone, % FTP, % pace, watts, or RPE if that's all that's given)
- Any cadence notes (cycling)
- A short descriptive name for the workout
STEP 2 — CHECK DATE
If the date for this workout is not clearly stated, stop and ask:
"What date should this workout be scheduled for? Please give me a specific date (e.g. Monday 2 June 2025)."
Do not proceed until you have a confirmed date.
STEP 3 — GENERATE THE JSON
Generate a single JSON object (not an array) and create a downloadable file named intervals-workout.json. Follow these rules strictly:
OUTPUT RULES:
- The downloadable .json file must contain ONLY valid JSON. No Markdown. No explanations. No text before or after the JSON inside the file.
- No trailing commas
- No null values — omit fields entirely rather than setting them to null
- No comments inside the JSON
- The root element must be a single JSON object { ... }, not an array
- If your interface cannot create downloadable files, output the raw JSON object only so I can save it manually as intervals-workout.json.
JSON STRUCTURE:
{
"category": "WORKOUT",
"type": "[Run | Ride | Swim | Walk | Hike | WeightTraining | Workout | Yoga | Rowing | VirtualRide | VirtualRun | Other]",
"name": "[Short workout title, e.g. Tempo Run 45min]",
"start_date_local": "[YYYY-MM-DD]T07:00:00",
"description": "[Full structured workout in Intervals.icu plain text format — see FORMAT RULES below]",
"external_id": "[short-slug-YYYY-MM-DD, e.g. tempo-run-2025-06-02]"
}
DESCRIPTION FORMAT RULES (Intervals.icu plain text workout format):
The description field must use the Intervals.icu plain text format so steps are parsed automatically. Follow these rules exactly:
TIME FORMAT:
- Use h for hours, m for minutes, s for seconds
- Examples: 10m, 30s, 1h, 45m — never use 0:30 or HH:MM notation
INTENSITY:
- Use zones: Z1, Z2, Z3, Z4, Z5
- Or % of FTP: 85%, 85-90%, 120%
- Or % of threshold pace for running/swimming: 80% pace, 90-95% pace
- Or watts: 200W, 200-220W
- If intensity is not specified, use Z2 and add a note: "(assumed Z2 — not specified in original description)"
CADENCE (cycling only):
- Add as: 90rpm
RAMPS:
- Use: ramp 60%-90%
- Example: 10m ramp 50%-75% 90rpm
REPEATS / INTERVALS:
- Use: Nx followed by the steps of the interval
- Example for 6x400m @ Z4 with 90s rest: Main Set 6x
- 400m Z4
- 90s Z1
STRUCTURE:
- Always divide into sections: Warmup, Main Set, Cooldown
- Leave a blank line between sections
- Use a dash (-) before each step
- Use line breaks within the description string
- If the workout has no distinct warmup/cooldown (e.g. a pure strength session), a single "Main Set" section is fine — don't invent a warmup/cooldown that wasn't described
EXAMPLE — Tempo Run with intervals: "Warmup\n- 10m Z1-Z2\n\nMain Set 6x\n- 3m Z4\n- 90s Z1\n\nCooldown\n- 10m Z1"
EXAMPLE — Easy ride: "Warmup\n- 10m ramp 50%-65% 85rpm\n\nMain Set\n- 30m Z2 90rpm\n\nCooldown\n- 8m ramp 60%-40% 80rpm"
EXAMPLE — Strength session (no warmup/cooldown described): "Main Set\n- 4x 8 Squats\n- 4x 10 Romanian Deadlift\n- 3x 12 Walking Lunges"
CONTENT RULES:
- Use Intervals.icu canonical activity type values only. Common safe values: Run, Ride, Swim, Walk, Hike, WeightTraining, Workout, Yoga, Rowing, VirtualRide, VirtualRun, Elliptical, Crossfit, Other
- For strength, gym, weights, bodyweight, mobility, or resistance sessions, use "WeightTraining" — never "Strength" or "Weight Training"
- For mountain bike, MTB, bike, cycling, or indoor cycling, use "Ride" unless it is clearly a virtual ride, then use "VirtualRide"
- The external_id must be stable — reusing the same value on a re-upload updates the existing event rather than duplicating it
STEP 4 — SUMMARY
After creating the downloadable JSON file, add a short plain text summary in chat (outside the file): Date | Name | Sport | Category | Key sets (one-line overview, e.g. "6x3m Z4 / 90s Z1")
Download the intervals-workout.json file it produces. You'll upload it in Step 4.
Step 2: Create and connect Intervals.icu
Create a free account at intervals.icu, then connect it to Garmin Connect from inside Intervals.icu's settings. Intervals.icu is the bridge — it receives the workout, and Garmin Connect syncs it onto your training calendar and your watch.
Step 3: Find your athlete ID and API key
In Intervals.icu, open Settings and scroll to Developer Settings. Your athlete ID is listed there, and you can generate an API key. Treat the API key like a password.
Step 4: Upload with the Garmin School tool
Open the workout upload tool, paste in your athlete ID and API key, choose the JSON file from Step 1, and upload. The tool validates the fields before sending anything to Intervals.icu, and uploading the same file again updates the workout instead of duplicating it.
Open the workout upload tool →Step 5: Sync to your Garmin
In Intervals.icu's Garmin connection settings, select Upload Planned Workouts. Then sync Garmin Connect as usual. The structured workout — warmup, intervals, cooldown, all with the right target zones — shows up ready to start on your watch.
Rejoindre la Garmin School
Laissez votre adresse e-mail pour accéder à la Garmin School et recevoir des mises à jour sur les nouvelles vidéos et applications.




