How To: Create Running Workouts in Zwift

Zwift Run is becoming more and more popular, with organized runs and training events now being held regularly. Running workouts created by ZwiftHQ are also available in-game, and I believe distance-based run workouts from Training Peaks are syncing across to Zwift for those TP users with run plans.

But the game’s workout editor does not yet allow us to create our own running workouts. For that, we can use the rather fantastic Workout Creator in Excel (WCE) created by Steve Bateman, or create our own from scratch. Here are more details on each approach.

Workout Creator in Excel

Steve’s WCE includes extensive help documentation. He announced it in the Zwift Runners Facebook group with the following detail:

It can be used to create custom workouts for Zwift Running, and has the following features:

  • Create running workouts using the four activity types: WarmUp, CoolDown, SteadyState, Intervals
  • Specify how fast to run a workout activity using Speed (mph/kph), Pace (mins/mile, mins/km) or Power (percent of a given Pace entered on the Edit Paces page)
  • Specify the duration of an activity using Distance (metres) or Time (seconds or minutes:seconds)
  • Adheres to the current Zwift constraints for running workout creation: Speed/Pace are converted to Power; Time is converted to Distance; Distance must be a multiple of 200m (with 200m as minimum)
  • Supports entry of your times (or target times) for the same distances as the Edit Paces page (Mile, 5k, 10k, Half, Marathon); Estimates any time you don’t enter directly (using the Riegel formula); Uses your entered times to convert Speed/Pace to Power and to convert Time to Distance in the ZWO content.
  • Supports Category/SubCategory and (multiple) Tags in the ZWO so that you can choose how to show your workouts in the Select Your Workout page.

It can ALSO be used to create custom workouts for Zwift Riding, and has the following features:

  • Create riding workouts using the five activity types: WarmUp, CoolDown, SteadyState, Intervals, FreeRide.
  • Add messages to your workout to be displayed at specific times during an activity.
  • Specify the Power (percent of FTP) or Watts and the Cadence for each activity
  • Specify the duration of an activity using Time (seconds or minutes:seconds)
  • Supports entry of your FTP. Uses your FTP to convert Watts to Power in the ZWO content.
  • Supports Category/SubCategory and (multiple) Tags in the ZWO so that you can choose how to show your workouts in the Select Your Workout page.

Create Run Workouts from Scratch

If you want to edit or create your own text file, then you simple create a text file with the ZWO file extension.  On a PC create this in Documents\Zwift\Workouts. See details at the bottom of the post for how to copy workout files on other platforms.

Here is a basic sample Zwift Run workout:


<workout_file>
<author>Greg Hilton</author>
<name>2 x 20min</name>
<category>Run</category>
<description> 20 min warmup 20 min interval X 2 with 20 min rest </description>
<sportType>run</sportType>
<tags/>
<workout>
<Warmup Duration="3600" PowerLow="0.20" PowerHigh="0.6" pace="4" />
<IntervalsT Repeat="2" OnDuration="1200" OffDuration="900" OnPower=".78063828" OffPower="0.252" pace="1"/>
<cooldown Duration="3600" PowerLow="0.20" PowerHigh="0.6" pace="4" />
</workout>
</workout_file>

The workout file follows a very simple structure, name, description and type are all fairly obvious in the example above. Category is free form and can be used to group Workouts together on your Zwift screen.

In the workout section you see the warmup duration, with the PowerLow and PowerHigh figures. These are a percentage of your running pace.

IntervalsT Repeat is how many times you want to repeat that interval, with OnDuration being the time in seconds doing the interval and OffDuration being the rest period. OnPower is the percentage of your running pace for the interval and OffPower is the percentage of your running pace for the rest period.

You can also just list a series of steps, for example, this is a pyramid workout created by Steve Bateman:


<workout_file>
<author>S.Bateman</author>
<name>Pace pyramid - jog recoveries</name>
<description>Move up through the paces (Marathon -&gt; 1 mile) and back again with a distance decrease for each pace increase and a 200m jog between each interval. Assumes your paces are setup so that each shorter distance means a faster running speed. Work/Total distance 7.4km/9.8km. Work/Total time 39min/55min using the following paces (~ are estimated): Mile~6:39; 5k~21:53; 10k~46:24; Half Marathon~1:43:46; Marathon=3:40:00</description>
<category>Steves Workouts</category>
<sportType>run</sportType>
<workout>
<Warmup Duration="1600" PowerLow="0.70004497" PowerHigh="0.85004497" pace="4" />
<SteadyState Duration="1000" Power="1.00004497" pace="4" />
<SteadyState Duration="200" Power="0.80004497" pace="4" />
<SteadyState Duration="800" Power="1.00004497" pace="3" />
<SteadyState Duration="200" Power="0.80004497" pace="4" />
<SteadyState Duration="600" Power="1.00004497" pace="2" />
<SteadyState Duration="200" Power="0.80004497" pace="4" />
<SteadyState Duration="400" Power="1.00004497" pace="1" />
<SteadyState Duration="200" Power="0.80004497" pace="4" />
<SteadyState Duration="200" Power="1.00004497" pace="0" />
<SteadyState Duration="200" Power="0.80004497" pace="4" />
<SteadyState Duration="400" Power="1.00004497" pace="1" />
<SteadyState Duration="200" Power="0.80004497" pace="4" />
<SteadyState Duration="600" Power="1.00004497" pace="2" />
<SteadyState Duration="200" Power="0.80004497" pace="4" />
<SteadyState Duration="800" Power="1.00004497" pace="3" />
<SteadyState Duration="200" Power="0.80004497" pace="4" />
<SteadyState Duration="1000" Power="1.00004497" pace="4" />
<Cooldown Duration="800" PowerLow="0.85004497" PowerHigh="0.70004497" pace="4" />
</workout>
</workout_file>

The pace field changes the set pace – note your treadmill cannot automatically change pace, you will need to do so manually.

The options for pace field are based on your pace in Zwift as follows:

  • 0 = 1 mile
  • 1 = 5k
  • 2 = 10km
  • 3 = Half Marathon
  • 4 = Marathon

Pace is auto set and adjusted by Zwift as you run, and it tells you if it’s upped your pace after a run. However you can edit the pace from the workouts screen by clicking the small button in the bottom right hand side of the screen.

 

Copying Files Across Systems

Once you have created your workout, you may want to share it with others, or copy it to your local Zwift or another installation. Here are instructions for doing so.

Greg Hilton

Share

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.