Can ChatGPT Build Your Smart-Trainer Workouts? From Prompt to Ride
Draft an AI cycling workout, check its duration and power targets, then ride it through ZWO, ERG, MRC or an Intervals.icu calendar connection.
Published

ChatGPT can draft a cycling session, explain the intervals and change it when you ask. The next problem is practical: your trainer app cannot ride a chat message. It needs a structured workout file or a supported calendar connection.
Check the session before making it runnable. A convincing explanation can still accompany the wrong duration, mismatched power units or a workout that does not suit today's legs. Then check the imported version, because that is what the riding app will use for its workout targets.
Tell the AI enough to write a usable session
Start with one session, not a vague request to get faster. State the sport, time available, training purpose and your experience with that type of effort. If you know FTP, include the number and whether it is reasonably current. If you do not, say so; do not ask the model to invent one.
Specify %FTP or watts, warm-up, cool-down and recovery. Mention recent hard sessions and fatigue. Keep cadence cues secondary to clear timing and power targets.
For an experienced rider already accustomed to threshold work, an example request is:
Draft one 45-minute indoor cycling session. My FTP is 250 W.
I regularly ride threshold intervals and am rested today.
Use a 10-minute warm-up, three 8-minute efforts at 100% FTP,
two 3-minute easy recoveries between efforts, and a 5-minute
cool-down. Use %FTP, show every block and the total duration.
Do not add recovery after the third effort. Flag assumptions.
After I approve the structure, provide a ZWO file, not just prose.Replace those details with your own. A return to cycling after inactivity calls for a different session. The NHS guidance on starting exercise supports starting gently and building up, rather than jumping straight into hard intervals.
If FTP is uncertain, read the 20-minute FTP test guide. A test is a demanding session; you need not squeeze it in before today's ride.
Check the workout before you export it
Does the duration add up?
Add every warm-up, work interval, recovery and cool-down yourself. Repeated blocks are a common place for an extra recovery to appear. “Three times eight minutes with three minutes recovery” can mean either two recoveries or three unless you specify it.
Verify the calculation yourself, including after asking for a shorter session.
Are the targets what the labels say?
Andrew Coggan's power levels put tempo at 76–90% FTP and threshold at 91–105% FTP. Those ranges are useful error checks, not individualized safety approval. A session labelled tempo with eight-minute steps at 150% FTP needs questioning.
At 250 W FTP, 100% is 250 W and 55% is 137.5 W. In the ZWO conventions used by Intervals.icu's developer examples, these become Power="1.00" and Power="0.55". They are fractions, not the values 100 and 55.
Is the recovery and trainer response reasonable?
Check the easy blocks too: hard “recoveries” change the training dose. ACSM's discussion of interval training treats intensity, recovery and total volume as separate parts of the prescription.
Very short steps are not automatically invalid, but they may end before your trainer settles at the requested power. Prefer a simple session for a first import. Read how ERG mode works if the trainer's response is unfamiliar.
A worked 45-minute example
This is an editorial file example, not a report of a tested chatbot response or a personal training recommendation. It shows what a clear answer to the prompt above could contain.
| Block | Duration | Power target | At an example FTP of 250 W |
|---|---|---|---|
| Warm-up | 10 min | Ramp from 50% to 75% FTP | 125 to 187.5 W |
| Work intervals | 3 × 8 min | 100% FTP | 250 W |
| Recovery between intervals | 2 × 3 min | 55% FTP | 137.5 W |
| Cool-down | 5 min | Ramp from 55% to 40% FTP | 137.5 to 100 W |
- Block
- Warm-up
- Duration
- 10 min
- Power target
- Ramp from 50% to 75% FTP
- At an example FTP of 250 W
- 125 to 187.5 W
- Block
- Work intervals
- Duration
- 3 × 8 min
- Power target
- 100% FTP
- At an example FTP of 250 W
- 250 W
- Block
- Recovery between intervals
- Duration
- 2 × 3 min
- Power target
- 55% FTP
- At an example FTP of 250 W
- 137.5 W
- Block
- Cool-down
- Duration
- 5 min
- Power target
- Ramp from 55% to 40% FTP
- At an example FTP of 250 W
- 137.5 to 100 W
The total is 10 + 24 + 6 + 5 = 45 minutes, or 2,700 seconds. There is no separate recovery after the final effort; the cool-down follows it.
Here is the matching ZWO:
<?xml version="1.0" encoding="UTF-8"?>
<workout_file>
<author>MINI WATT</author>
<name>Threshold 3x8 Example</name>
<description>Educational 45-minute file example.</description>
<sportType>bike</sportType>
<workout>
<Warmup Duration="600" PowerLow="0.50" PowerHigh="0.75" />
<SteadyState Duration="480" Power="1.00" />
<SteadyState Duration="180" Power="0.55" />
<SteadyState Duration="480" Power="1.00" />
<SteadyState Duration="180" Power="0.55" />
<SteadyState Duration="480" Power="1.00" />
<Cooldown Duration="300" PowerLow="0.55" PowerHigh="0.40" />
</workout>
</workout_file>Download the ZWO example, FTP-relative MRC example or 250 W FTP-based ERG example. The MRC stores percentages; this ERG file stores the calculated watts. If your FTP is different, the ERG example's targets need review.
The conventions were checked against the Intervals.icu developer documentation and GoldenCheetah's parser/exporter. We found no complete public official Zwift format specification. XML parsing and duration checks establish structure and arithmetic; they do not prove successful import into every app. Preview the destination's version before riding.
Route A: import ZWO into Zwift on a computer
Zwift's current file-location help documents a Windows location change that began in February 2026. Older tutorials pointing every Windows rider to Documents can send you to the wrong folder.
Use your own numeric Zwift ID subfolder:
- Windows:
%LocalAppData%\Zwift\Workouts\<Zwift ID>. - Mac:
~/Documents/Zwift/Workouts/<Zwift ID>.
On Windows, the Zwift launcher's notification-area Z icon > Open Logs Folder can locate the active installation. Move from Logs to its parent Zwift folder, then open Workouts and the numeric ID folder.
Save the file with the .zwo extension, copy it into that folder and restart Zwift. Find it under custom workouts and inspect the profile. Follow Zwift's current custom-workout instructions if your installation differs.
Start the selected workout. For automatic power control, pair your compatible trainer under Resistance and enable ERG mode. Without that control, follow the displayed targets manually.
Getting it onto iPad or Apple TV
Zwift documents that imported custom workouts become available on other devices after restarting. Import on the computer first, use the same Zwift account on the other device, and restart there too.
Files larger than 64 KB remain on the importing computer. That is a cross-device restriction, not a statement that they cannot load locally. Zwift also documents a 250-block cap and warns that special characters in workout names can cause syncing problems. Use a short, plain workout title when troubleshooting.
If the session is visible on the computer but missing on the other device, check account, restart, file size and workout title before asking the chatbot to rewrite the intervals.
Route B: put the session on Intervals.icu
Intervals.icu's workout builder can import ZWO, MRC and ERG or build a session from text. Open the Workout Library, use its workout-import function, and inspect the imported session. Place it on the calendar date you intend to ride. The developer's library guide describes dragging a library workout onto the calendar.
Use the planned-workout editor/library rather than the generic completed-activity upload, as the forum moderator explains. In workout text, durations need units such as 8m and FTP-relative targets need %. Check the resulting chart.
For Zwift delivery, connect Zwift in Intervals.icu's settings and authorize planned-workout uploads. The developer announcement documents a rolling next week of sessions, with today's workout on Home and upcoming sessions under Workouts > Custom > Intervals.icu. Match FTP across both services.
This offers a calendar route for iPad and Apple TV users without manipulating workout folders on those devices. For MINI WATT's own calendar workflow, see how to ride Intervals.icu workouts indoors.
Route C: use another app's file import
Choose a format your actual app accepts. TrainingPeaks Virtual documents ERG, MRC and ZWO imports through its platform-specific workout folder. Its help lists the locations; do not assume Zwift's directory applies to it.
MyWhoosh's workout-builder guide describes importing in the web builder and choosing Export to MyWhoosh, then finding the workout under MyWorkout in the app. Check the builder's currently supported file choices rather than assuming every extension works.
After any import, compare total time, work blocks and watt targets with the original. Destination apps may convert fixed-watt files into relative targets. File conversion is a handoff that deserves checking, not an assurance that nothing changed.
When a file will not import
Check the extension first: session.zwo.txt lacks the .zwo extension the importer expects. Export from a structured workout editor where possible. Renaming a chat transcript does not make it a structured workout.
Check XML structure and the app's format support. A missing closing tag or unescaped & can break XML. A parser accepting it does not prove the app understands every workout element. Try a few supported blocks, then inspect the import.
Check three things: Can the app read it? Does it reach the other device? Is it suitable to ride? A sync-size restriction does not explain every local-import failure.
Where AI-built sessions fall short
A plain chat has no automatic access to your private riding accounts. It works from data you provide and connections you explicitly authorize. Do not assume it knows yesterday's workout because it knows today's FTP.
One session does not establish progression, rest weeks or recovery after illness. For symptoms or injury concerns, seek qualified advice. The NHS source above identifies unexplained faintness, chest pressure and severe unexplained breathlessness as reasons to seek professional help.
Keep privacy practical. OpenAI's app documentation says connected apps can receive relevant conversation context and follow their own privacy policies. Share the training details needed for the task and review permissions before connecting an account.
Action plan: get one AI session onto the trainer
- 1
State your goal, time, experience, FTP if known and recent training.
- 2
Check every duration, target and recovery before requesting export.
- 3
Import through a supported file or calendar route and compare the resulting profile.
- 4
Ride only if the session suits today; reduce or stop when it does not.
- 5
Save the completed activity and review what you actually rode.
Common mistakes
Letting AI invent FTP
Supply a known value or say it is unknown.
Counting only the work intervals
Include warm-up, all recoveries and cool-down.
Mixing fractions with percentages
In ZWO, 1.00 represents 100% FTP.
Using an outdated Windows folder
Check Zwift's active location and your numeric ID subfolder.
Treating a successful import as coaching approval
Check the training dose as well as the file.
Asking for injury advice
Use a qualified professional for symptoms and injuries.
When MINI WATT fits
MINI WATT for ChatGPT describes generating, explaining and refining a session, then saving to the MINI WATT library, connecting Intervals.icu directly or downloading ZWO, MRC or ERG. Library saving requires a MINI WATT account. Check the available connection in your account; the product page does not establish access on every ChatGPT plan or in every region.
The desktop workout app imports those three formats with review before saving and rides Intervals.icu sessions. It requires macOS 13+ or 64-bit Windows 10+ and a compatible Bluetooth FTMS trainer for ERG control. ChatGPT builds the session; the riding app controls the trainer.
MINI WATT's privacy policy says the ChatGPT integration receives the structured request and necessary tool data, retaining an encrypted temporary draft for up to 24 hours. Read it before sending personal training details.
When MINI WATT is not the right fit
Choose a coaching service if you need a plan that adapts from ongoing ride data. The advertised ChatGPT flow does not establish adaptive coaching or private Strava/Zwift-history analysis. The MINI WATT riding app is desktop-based; use another compatible player for native iPad or Apple TV riding, or ANT+-only trainer control.
FAQ
Can ChatGPT create a Zwift workout?
It can draft a session and produce ZWO-style content. Verify the structure, timing and targets, then preview the imported workout before riding.
Is an AI-made ZWO safe to import?
Treat file readability and training suitability separately. Check the file's source and contents, then inspect the imported profile. Successful import does not establish that the session suits you.
Do I need a paid ChatGPT plan?
OpenAI says app availability depends on factors including plan, region and workspace. We have not established MINI WATT-specific eligibility for every plan. Check the available connection in your account.
Can ChatGPT see my Strava or Zwift rides?
A plain chat does not automatically receive private ride history. It can work from data you share or a connection you authorize. Check the particular integration's permissions.
Why is my workout missing on Zwift for iPad?
Confirm desktop import, the same account, restarts on both devices, the numeric ID folder and the documented size/name restrictions. Intervals.icu's supported Zwift connection is another delivery route.
Should I choose %FTP or watts?
Use %FTP when you want relative targets based on the receiving app's FTP. Use watts for a fixed prescription, then check whether the importer preserves or converts it.
Why is my 45-minute session longer after export?
Check repeated recovery blocks. An extra three-minute recovery after the final interval changes this example from 45 to 48 minutes.
Can it build a whole training plan?
A chatbot can draft one, but that does not establish sound progression or automatic adaptation. This guide covers a single-session handoff, not a multi-week coaching system.
What if ERG gets much too hard?
Check FTP and target units first. If cadence has collapsed, use the ERG recovery guide. Stop or reduce the session rather than forcing an unsuitable target.
Were these example files tested on a trainer?
No. Their structure, units and timing were checked locally and independently reviewed. Preview them in your chosen app; actual import and trainer behavior still need checking there.
Sources
Sources checked on 7 October 2026. Product documentation and file checks are distinct from authenticated app imports and trainer tests.
- Zwift: Custom Workouts, accessed 2026-10-07
- Zwift: Activity, log and workout file locations, accessed 2026-10-07
- Intervals.icu: Workout builder, accessed 2026-10-07
- Intervals.icu: Zwift integration, accessed 2026-10-07
- Intervals.icu: Planned workouts library, accessed 2026-10-07
- Intervals.icu: Planned FIT import and activity upload distinction, accessed 2026-10-07
- GoldenCheetah: Workout format parser and exporter, accessed 2026-10-07
- TrainingPeaks Virtual: Workouts, accessed 2026-10-07
- MyWhoosh: Workout Builder, accessed 2026-10-07
- Andrew Coggan: Cycling Power Zones Explained, accessed 2026-10-07
- OpenAI: Connected apps in ChatGPT, accessed 2026-10-07
- ACSM: High-Intensity Interval Training, accessed 2026-10-07
- Newcastle Hospitals: Exercise and your health, accessed 2026-10-07
- MINI WATT for ChatGPT, accessed 2026-10-07
- MINI WATT Workouts, accessed 2026-10-07
- MINI WATT Privacy Policy, accessed 2026-10-07
- MINI WATT Download, accessed 2026-10-07
- Zwift: Connecting devices for cycling, accessed 2026-10-07
- Zwift: ERG mode in workouts, accessed 2026-10-07
Related Articles
ERG Mode Explained: What Your Smart Trainer Is Actually Doing
A plain-language ERG-mode guide explaining trainer resistance, cadence, gear choice, ordinary response delay, and the first steps for a smoother structured workout.
The ERG Mode Spiral: Why Your Trainer Gets Stuck and How to Get Out
A practical ERG lock recovery guide that explains the cadence-resistance loop, the immediate reset, and the target, gear, and trainer-range checks that prevent a repeat.
How to Ride Intervals.icu Workouts on a Smart Trainer
Step-by-step MINI WATT workflow for connecting Intervals.icu, riding a planned cycling workout, troubleshooting, uploading a completed activity, and importing ZWO/MRC/ERG files.