How to Import ZWO Workouts to TrainingPeaks Without Rebuilding Them Manually
TrainingPeaks can import planned `.zwo` files into your Workout Library, but that still leaves calendar setup and mixed-plan workflows. Here's the cleanest way to use ZWO files without creating extra work.
ZWO files are useful because they make structured bike workouts portable. The catch is that importing a ZWO file does not solve your entire planning workflow. It solves one session file at a time.
That distinction matters. If you just need one indoor interval workout in your library, ZWO is fine. If you need a whole 10-week block on your calendar, ZWO alone is usually not enough.
When ZWO Is the Right Tool
ZWO makes sense when:
- You already have a clean library of structured cycling sessions
- You want to preserve exact interval steps and targets
- Your trainer workflow depends on ZWO-compatible sessions
- You only need to import a small number of workouts
Where ZWO Gets Annoying
ZWO becomes tedious when the problem stops being “load this workout” and becomes “build this season.”
Common pain points:
- You still need to decide where each workout lands on the calendar
- You may have running, strength, or recovery sessions that are not ZWO-based at all
- You often need to mix AI-generated plans, spreadsheets, and trainer files in the same block
- You end up with a good workout library but a messy schedule
The Practical Workflow
The cleanest workflow is usually to separate workout-file fidelity from calendar planning:
- Keep your ZWO sessions for the structured bike workouts that need them
- Use a plan-level structure for the overall block, including non-bike days
- Import the calendar plan in one step instead of rebuilding it manually
For many athletes, that plan-level structure is where TrainingDojo becomes more useful than a file-by-file workflow.
Best Use Cases for TrainingDojo Alongside ZWO
- You have some ZWO workouts, but the rest of the plan is in a spreadsheet
- You generated the season plan with AI and only want a few key sessions preserved as ZWO
- You want the whole plan on TrainingPeaks without manually rebuilding each day
- You are coaching yourself across cycling plus running or strength, not just trainer workouts
A Better Way To Think About It
ZWO is a workout format. TrainingDojo is a workflow tool. Those are different layers.
If your bottleneck is “I need this exact 4x8-minute threshold session encoded correctly,” think in ZWO. If your bottleneck is “I need twelve weeks of actual training on my calendar,” think in terms of structured plan import.
Recommended Setup
- Use ZWO where exact trainer execution matters
- Keep the rest of the plan in a structured format you can review quickly
- Use TrainingDojo to place the block into TrainingPeaks
That gives you the best of both worlds: specific bike sessions where you need precision, and a full calendar that does not require hours of manual setup.
If You Are Starting From AI
Most athletes creating plans with ChatGPT or another AI should not start by asking for ZWO. Start by asking for the actual training plan, the phase structure, and the schedule. Once that is right, decide whether a few specific sessions need to become file-based workouts.
That is usually faster and easier to maintain than trying to force the entire planning process into one workout-file format.
The Bottom Line
ZWO is useful, but it is not the whole workflow. If your real goal is getting a complete plan into TrainingPeaks, use ZWO selectively and let TrainingDojo handle the calendar-level import problem. That is where the biggest time savings usually are.