Dag 8440 weergaven

Je eigen trainingsplan importeren in Garmin met Intervals.icu

Je eigen trainingsplan importeren in Garmin met Intervals.icu

Heb je al een trainingsschema, dan kun je het via Intervals.icu en de Garmin School schedule uploader omzetten naar workouts op je Garmin-kalender.

training-planintervals-icuworkoutsgarmin-connectgarmin-school

Dag 84: Je eigen trainingsplan importeren in Garmin met Intervals.icu

Garmin Coach is handig, maar soms heb je al je eigen trainingsplan: een marathonschema van een coach, een fietsblok uit een spreadsheet of een custom plan op basis van je eigen Garmin-data.

Je kunt elke workout handmatig in Garmin Connect maken, maar dat wordt snel vervelend. Een betere route is: workouts één keer maken, uploaden naar Intervals.icu en Intervals.icu geplande workouts laten synchroniseren naar Garmin Connect.

Wat heb je nodig?

  • Een gratis Intervals.icu-account.
  • Je Garmin Connect-account gekoppeld in Intervals.icu.
  • Upload planned workouts ingeschakeld voor de Garmin-koppeling in Intervals.icu.
  • Je Intervals.icu athlete ID en API key.
  • Een schedule JSON-bestand in het formaat dat de Garmin School uploader verwacht.

Garmin ondersteunt het verzenden van workouts naar compatibele apparaten via Garmin Connect, en Intervals.icu kan geplande workouts naar Garmin Connect uploaden wanneer de koppeling is geautoriseerd. Na een Garmin-sync zouden de geplande workouts op je horloge of Edge moeten verschijnen.

Stap 1: koppel Intervals.icu en Garmin

Maak of open je Intervals.icu-account, ga naar settings en koppel Garmin Connect. Zorg dat de Garmin-koppeling toestemming heeft om geplande workouts te uploaden. Zonder die toestemming kunnen je workouts wel in Intervals.icu staan, maar nooit Garmin Connect bereiken.

Stap 2: haal je athlete ID en API key op

Open in Intervals.icu je developer settings. Kopieer je athlete ID en maak of kopieer een API key.

Behandel die API key als een wachtwoord. Plak hem niet in openbare documenten, screenshots, gedeelde prompts of social posts. De uploader heeft hem alleen nodig om geplande events naar je Intervals.icu-kalender te schrijven.

Stap 3: zet je schema om naar upload-ready JSON

Je schema moet een lijst van kalender-events worden. Elk event heeft een naam, datum, categorie, beschrijving en stabiele external ID nodig. Workouts hebben ook een type nodig zoals Run, Ride, Swim of Strength.

Gebruik je AI om een plan om te zetten, wees dan heel specifiek: vraag om upload-ready Intervals.icu calendar events, niet om een mooie trainingstabel. De uploader weigert bestanden die wel geldige JSON zijn maar niet het verwachte eventformaat hebben.

Je kunt hiervoor Claude of ChatGPT gebruiken. Voeg je echte trainingsschema toe als bijlage en plak daarna de prompt hieronder, zodat de AI je echte schema omzet naar een downloadbaar JSON-bestand in plaats van zelf iets te verzinnen.

Gebruik deze prompt uit Dag 67 om je plan om te zetten:

You are a training plan converter. Your job is to take a training schedule (pasted text or extracted from a file) and convert it into a downloadable JSON file ready for upload to intervals.icu via API.

---

STEP 1 — PARSE THE PLAN

Read the training schedule carefully. Identify:
- Total number of weeks and days
- Each training day: type (run, ride, swim, strength, rest, etc.), duration or distance, intensity (easy, tempo, intervals, race pace, etc.), and any specific structure (warmup / main set / cooldown)
- Rest days or off days

---

STEP 2 — CHECK START DATE

If the training plan does NOT clearly state when it starts, stop and ask:

"When should Week 1 / Day 1 of this plan start? Please give me a specific date (e.g. Monday 2 June 2025)."

Do not proceed until you have a confirmed start date.

---

STEP 3 — GENERATE THE JSON

Generate a raw JSON array of event objects and create a downloadable file named intervals-schedule.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 JSON array [ ... ]
- If your interface cannot create downloadable files, output the raw JSON array only so I can save it manually as intervals-schedule.json.

FOR WORKOUT DAYS:
{
  "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": "[plan-name-week-X-day-Y, e.g. myplan-week-1-day-2]"
}

FOR REST OR RECOVERY DAYS:
{
  "category": "NOTE",
  "name": "Rest",
  "start_date_local": "[YYYY-MM-DD]T07:00:00",
  "description": "[Any rest day instructions, or 'Full rest day. No training.' if none specified]",
  "external_id": "[plan-name-week-X-day-Y]"
}

---

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 plan)"

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 \n for line breaks within the description string

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 — Steady run:
"Warmup\n- 10m Z1\n\nMain Set\n- 30m Z2\n\nCooldown\n- 5m Z1"

---

CONTENT RULES:
- Include every day of the plan, including rest and recovery days
- Use the same external_id format consistently — it allows re-uploads to update existing events rather than duplicate them
- 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"

---

STEP 4 — SUMMARY

After creating the downloadable JSON file, add a plain text summary table in chat (outside the file):
| Date | Week | Day | Name | Sport | Category |
Include every day including rest days.

---

NOTES:
- The external_id must be stable — use the same value every time for the same workout so re-uploads update rather than duplicate

Download het JSON-bestand dat de AI maakt. Dat bestand upload je in Stap 4.

Stap 4: upload het schema

Open de Garmin School schedule uploader, vul je athlete ID en API key in, upload het JSON-bestand en bekijk de validatiemeldingen voor je indient.

Open de schedule uploader →

Stap 5: synchroniseer naar Garmin

Wanneer de events in Intervals.icu staan, controleer dan of planned workout upload aan staat voor de Garmin-koppeling. Synchroniseer daarna Garmin Connect en je apparaat. Afhankelijk van timing verschijnt het niet altijd meteen, dus geef het even tijd en sync opnieuw indien nodig.

Veelgemaakte fouten

  • Verkeerde JSON-structuur: het bestand moet een ruwe array van events zijn of een object met een events-array.
  • Datums ontbreken: elk event heeft een lokale startdatum nodig in het verwachte formaat.
  • Dubbele external IDs: elke workout heeft een stabiele unieke ID nodig.
  • Garmin upload niet ingeschakeld: Intervals.icu kan geen geplande workouts sturen zonder de juiste toestemming.
  • Instant sync verwachten: Garmin Connect en je apparaat hebben soms een handmatige sync nodig.

Als de workflow eenmaal staat, is een volledig plan importeren veel sneller dan elke workout handmatig opnieuw maken in Garmin Connect.

100% Gratis

Word lid van de Garmin School

Laat je e-mailadres achter voor toegang tot de Garmin School en updates over nieuwe video's en apps.

Je krijgt direct toegang tot:Je eigen trainingsplan importeren in Garmin met Intervals.icu
Watch the YouTube video

Wat kun je verder lezen

Meest gelezen

Vervang Je Personal Trainer Door Claude AI — Met Je Garmin-dataDag 382164
Vervang Je Personal Trainer Door Claude AI — Met Je Garmin-data
Haal Je Elke Nacht een Slaapscore van 90+ Met Claude AI en Je Garmin?Dag 622120
Haal Je Elke Nacht een Slaapscore van 90+ Met Claude AI en Je Garmin?
Kun Je Je VO2max in Één Maand Optimaliseren Met Claude AI en Je Garmin?Dag 541950
Kun Je Je VO2max in Één Maand Optimaliseren Met Claude AI en Je Garmin?