Intervals.icu CSV Import Guide: Upload a Training Plan From AI or a Spreadsheet
Learn how to import a CSV training plan into Intervals.icu with TrainingDojo using an API key and athlete ID, plus how Pro structured push and plan management fit in.

Intervals.icu is excellent for tracking training load, fitness, fatigue, and workout history. The slow part is getting a plan from ChatGPT, Claude, a spreadsheet, or a coach document onto the calendar. TrainingDojo now supports CSV calendar import and structured workout push to Intervals.icu so you can upload a full block without manually creating every event.
This guide covers the live workflow: CSV rows become Intervals.icu calendar workouts and notes. Pro users can also push structured workouts, edit uploaded events, delete old plans, and use saved Intervals.icu connections.
What Is Supported Today
- CSV calendar import to Intervals.icu
- Bike, run, swim, strength, brick, day off, and common endurance sport mapping
- Duration conversion from minutes to seconds
- Distance unit conversion for meter, kilometer, mile, and yard fields
- Day Off rows uploaded as Intervals.icu notes instead of workouts
- Structured workout push, bulk structured push, edit/delete, and My Plans support for Pro users
The Intervals.icu integration supports both basic calendar import and structured workout delivery. Zwift .zwo export remains available for compatible bike and run workouts when you need a local workout file.
If you want TrainingDojo to analyze your Intervals.icu history before building a plan, read the Intervals.icu AI analysis guide. If you want to reuse completed activities as templates, read how to export Intervals.icu activities into Workout Vault.
What You Need
- An Intervals.icu account.
- An Intervals.icu API key from Settings > Developer Settings.
- Your Intervals.icu athlete ID, usually starting with
i. - A CSV training plan using TrainingDojo's supported columns.
You can keep your Intervals.icu API key browser-local for manual uploads, or save an encrypted Intervals.icu connection in TrainingDojo Settings so imports, structured pushes, edits, and deletes do not require repeated pasting.
CSV Format
Use one row per calendar entry. The core columns are:
day,sport,subtype,title,duration_minutes,tss,description,phase,planned_distance,planned_distance_unitThe first eight columns are the same format used by the TrainingDojo importer. The distance fields are optional and useful for distance-based workouts.
day,sport,subtype,title,duration_minutes,tss,description,phase,planned_distance,planned_distance_unit
1,Bike,Endurance,Endurance Ride,75,55,"75 min aerobic ride | keep cadence smooth",Base,,
2,Run,Trail,Trail Run,50,60,"Rolling trail run at steady endurance effort",Base,,
3,Day Off,,Rest Day,0,0,"Complete rest day | mobility optional",Recovery,,
4,Swim,Pool Swim,Technique Swim,45,35,"400 easy warmup | 8x100 drill/swim | 200 cooldown",Base,,How to Import to Intervals.icu
- Open the TrainingDojo importer.
- Choose "Import CSV workouts to a platform."
- Select Intervals.icu.
- Paste your API key and athlete ID.
- Upload your CSV and choose the plan start date.
- Preview the calculated dates.
- Upload the plan to your Intervals.icu calendar.
How Sports Map
TrainingDojo maps common CSV sport names to Intervals.icu activity types. Bike rows become Ride, Indoor Bike becomes VirtualRide, Trail Run becomes TrailRun, Swim becomes Swim, Strength becomes WeightTraining, and Brick currently lands as Ride. Day Off rows become notes, not workouts.
Subtypes are scoped by sport so a bike row with "Trail" in the subtype does not accidentally become a trail run. If a sport cannot be mapped, TrainingDojo stops that row and reports the error instead of uploading the wrong activity type.
Intervals.icu Import and Structured Workout Push
CSV calendar import gets the plan onto your calendar quickly: date, sport, title, duration, notes, and planned distance when provided. Structured workout push adds native Intervals.icu workout text syntax for intervals, targets, repeats, cadence, ramps, and execution-focused workouts.
Use Intervals.icu import when your goal is to load the calendar. Use the structured builder or bulk structured conversion when your goal is to turn a single workout or full CSV plan into editable interval blocks for TrainingPeaks, Intervals.icu, or Zwift.
The Bottom Line
If you already use Intervals.icu as your training calendar, TrainingDojo removes the manual entry step. Format your plan as CSV, connect Intervals.icu with an API key and athlete ID, and upload the block as calendar workouts in minutes.