Skip to main content
Workouts

Build workouts that are individualized to athlete abilities

Todd Miller avatar
Written by Todd Miller
Updated over 2 months ago

A workout within FYTT is a modular training component comprised of one or more exercise sets. For example, you might have a workout called "Warmup" that contains exercise instructions for a warmup routine, or you might have a workout called "Lower body" that contains exercise instructions for several sets of back squats.

Workouts are the primary building blocks of sessions. A session generally contains one or more workouts, which together comprise the training instructions for the entire session.

Workout principles and best practices

Here are some general principles to consider when building workouts.

Naming

  • The workout name should usually describe what's in the workout, like the primary exercise (e.g., "Bench Press") and/or the structure (e.g., "Bench Press 3 x 5 @ 70%). Just make sure that the name can be understood by athletes and other coaches to improve clarity.

Description

  • Use the description to add explanatory notes about how the exercises should be performed, or how the workout should flow. The text editor for the workout is pretty versatile, so you have quite a bit of flexibility to provide useful, easy-to-read workout instructions.

Workout length

  • In general, the shorter the workout, the better. Large workouts with complex combinations of sets are less reusable in different contexts, and can be harder for the athlete to follow. When possible, it's usually advisable to break workouts down into smaller chunks so that athletes can more easily comprehend the entire workout.

Creating workouts

Workouts can be created within a number of different contexts:

  1. In a team database

  2. In the institution database

  3. Directly into a program

  4. Directly into a progression

  5. Directly into a session.

The process of building a workout is essentially the same in every case, but the context affects whether the workout will be available in other places.

Create an institution workout template

Workouts created at the institution level can be utilized by any team at the institution. These workouts will be displayed everywhere workouts can be inserted, i.e., within the workout, session, and program builders.

To create an institution workout, navigate to the institution dashboard, click the workouts item, then click the button to create a new workout.

Create a team workout template

Workouts created at the team level can be inserted anywhere within the given team. To create a team workout, the team must have the "Private database" setting turned on. Then you can navigate to the team dashboard, click the workouts item, then click the button to create a new workout.

Create a program workout

Workouts can be created from scratch within a program by opening the session form for a program day and clicking the "Create new workout" button.

Workouts created within a program are isolated to the program and cannot be accessed outside the program. They can, however, be copied to the database, which will make them accessible elsewhere.

Create a progression workout

Workouts can be created from scratch within the progression builder using a simplified version of the workout builder.

These workouts can also be copied to the database, but in order to do so, you'll need to access them from the progression's program builder interface.

Create a session workout

Workouts can be created from scratch within the session builder. The session builder is used to create sessions for the team and institution databases, as well as when creating sessions directly onto a team's calendar.

See the guide on building sessions for more information about adding session workouts.

Workout template sync

When you create workout templates in the team or institution database, you have the option to turn the "sync copies" setting on or off. When sync copies is on for a workout template, any changes to the template will be propagated to all instances where the workout has been used. This enables you to update workout content in many places at once.

Workout builder

FYTT's workout builder is a powerful, yet simple tool that enables you to quickly create workouts for any modality. With its spreadsheet interface and custom context menu, you're spared the painful experience of building workouts through clumsy web forms.

Workout sets

Adding sets is how you specify the exercises to be performed for the workout. Each row in the sheet represents a set or interval in the workout. For example, the following configuration contains 3 sets of 5 for Bench Press at 65% of Bench Press 1RM (which might be notated as "Bench Press 3 x 5 @ 65%").

Add a blank set

To add a blank set to the workout, click the "Add set" button. This adds a new row to the sheet and opens the set attributes form, which allows you to configure the parameters for the set.

Configure set parameters

Sets can be configured for just about anything, including aspects of fitness beyond just exercises. This might include nutrition prescriptions, mental health routines, etc. Below is a brief explanation of each parameter, as well as the most common examples of how they're used.

Sided

Checking the "sided" attribute indicates that the exercise should be performed unilaterally. Within this attribute, you can specify if the exercise should be performed on each side, just the left side, or just the right side.

Calories

Use the calories attribute to specify a set amount of calories that should be achieved on a bike, rowing machine, or similar piece of equipment that uses calories as a measure of work.

Distance

The distance attribute is generally used to prescribe how far an athlete should run, ride, row, etc. This is applicable for splits, sprints, and endurance running, and more.

Heart rate

Use the heart rate attribute to prescribe a target beats per minute. This attribute should usually be individualized based on a metric so that the prescription is appropriate for the athlete.

Height

Height is often used to prescribe the height of a box for box jumps or box drops. It's also used to collect height measurements for exercises like a vertical jump.

Reps

The reps attribute is pretty straightforward. Use it to prescribe the number of repetitions for the exercise.

Speed

Use the speed attribute to prescribe how fast someone should run, bike, row, etc. You can also use this attribute to prescribe velocity for velocity-based training.

Split time

You can prescribe a static split time, like 2:00 per 500 meters. However, this attribute is different from the others in how metrics are used for prescriptions.

In order to prescribe metric-based split times, you first need to have a metric defined with time as the measurement type, and with a specific distance. For example, you might define a timed 2,000 meter row.

When you prescribe a split time, you use your timed distance metric as the basis for prescription. You then specify the split distance—say 250 meters—and the prescribed time is automatically calculated based on the metric. For example, if an athlete's 2,000 meter row is 7:00, the 250 meter split times would automatically be calculated at 0:52.5. You can then use the relative option to prescribe +/- a given number of seconds, or you can use the relative option to prescribe a percentage of the split time.

Time

The time attribute can be used to indicate that an exercise should be preformed for a given amount of time.

Watts

The watts attribute can be used to prescribe a given power output for the exercise.

Weight

Use the weight attribute to prescribe how much weight should be used when performing the given exercise

Rest

Checking the "rest" attribute allows you to specify a rest period that should be observed in connection with the exercise.

Custom

Checking the "custom" attribute allows you to type a custom string to prescribe something that falls outside the standard prescription parameters. This might be something like the color of a band, a number of chains, etc.

Individualized prescriptions

Most of the set parameters have an option to individualize the prescription (with the exception of sided, rest, and custom). Checking this box for a parameter allows you to prescribe the value based on athlete measurements for a given metric.

For example, suppose you want to prescribe an individualized weight for the Bench Press. To do this, you would check the "Individualize" setting for the weight parameter, which enables a number of options for prescribing the value.

Individualization timing

Individualizations are made dynamically at the time an athlete performs the workout. When building a workout, think of it as though you're creating the template that will be used for individualization for any given athlete.

Metric selection

An individualized set parameter needs to use a metric in order to calculate the prescribed value. You have a number of options for establishing which metric should be used.

Auto metric selection

The default option for metric selection is "Auto," which instructs FYTT to determine which metric to use.

  1. FYTT will first check if you've defined any metric derivatives for the given exercise. If so, it will select the first metric from those derivatives for which an athlete has a recorded measurement.

  2. Next, it will look to see if you've created a metric in your database for the given exercise. If so, it will select that metric and use the given athlete's most recent measurement.

Manual metric selection

You can also explicitly select which metric should be used to calculate an individualized value for a parameter.

In this scenario, FYTT will use the given athlete's most recent measurement for the selected metric, if they have one.

Parameter calculation

For individualized parameters, you also have two options for calculating the prescribed value.

Relative

The relative option allows you to calculate the prescribed value based on a percentage of the athlete's metric value. For example, if you're calculating weight using a Bench Press 1RM metric, you can specify a percentage like 60% to calculate the value as 60% of the 1RM.

This option can be used for any of the parameters, so you can calculate values for speed, distance, etc. as a percentage of a relevant metric.

Offset

The offset option allows you to calculate a parameter value using an absolute offset from the athlete's metric. For example, you might want to prescribe that an athlete run for 20 minutes at -10 bpm from a target heart rate metric.

Designate a testing set

Most set parameters also have a "Testing set" option. When this option is turned on, it designates that the set attributes should be used to calculate a new measurement for the selected metric after the athlete records their results.

This is sometimes referred to as the "money set," and it is most commonly used in strength training to calculate an estimated one rep max. In particular, this makes it very easy to prescribe AMRAP sets with a target intensity.

Testing sets and metric formulas

Testing sets are most commonly performed for metrics that have a custom formula, like the Brzycki, Epley, Mayhew, etc. Using a custom formula in the metric allows you to calculate a derived output from the set parameters. If no formula is specified for the metric, the measurement will be recorded using the set parameter that is specified as the metric's measurement type (weight, reps, etc.).

Testing sets will be clearly indicated to the athlete when they perform the workout.

Context menu

The workout spreadsheet has a context menu that provides some extremely convenient tools. To open the context menu, right click (two-finger click for Mac) on a row within the sheet.

Edit

The first option is "Edit," which opens up the set attributes form for the row. This is how you can change the columns for the selected row.

Duplicate rows

The "Duplicate rows" tool makes it extremely quick to copy a row. For example, suppose we created one set of 5 for our Bench Press exercise, and we wanted to copy it twice to create a total of 3 sets. Simply open the context menu, hover over the "Duplicate rows" item, then select "Duplicate 2 times" from the submenu.

You can duplicate multiple rows by highlighting all the rows you want to duplicate, then using the "Duplicate rows" option the same as above.

Add set

You can also use the context menu to add a set after a specific row. Simply right click on the row after which you want to add another row, then click either "Add set." This will add a new set after the selected row.

Exercise order

Using the context menu, you can also hide and show the order of exercises in the sheet. Right click to open the menu, then click the "Hide/show exercise order" option. This will show a column on the left side of the sheet that shows the position of each exercise within the workout. You can input a new value for the order of any exercise to re-arrange it within the sheet.

Delete rows

You can also use the context menu to delete rows. To delete a single row, simply right click on that row and select the "Delete rows" option. To delete multiple rows, select the rows you want to delete, then delete from the menu.

Supersets, giantsets, and circuits

The workout builder allows you to create complex groupings of exercises to form supersets, giantsets, and circuits. This is done by using the set index attribute.

  1. Right click on the workout sheet and click the "Hide/show set index" option. This alters the spreadsheet to show an index column on the lefthand side.

  2. Use the index column to give each set of exercises a unique index.

Indexing the exercises in this way tells the system to group them together as a superset (2 exercises), giantset (3 exercises), or circuit (4 or more exercises). When theses exercises are displayed on a session card or in a program's detailed view, it will automatically be condensed for compact display.

When an athlete consumes the workout, it will automatically be broken out into supersets for easy reading and recording. (Athletes can alter their performance of each individual exercise in the superset/giantset/circuit if needed.)

Metric tests

Inserting a metric test into a workout provides athletes with a special interface for recording test results.

  1. Click the "Add metric test button" to insert a metric test row.

  2. Select the metric you want to test from the dropdown.

When the athlete receives a workout with a metric test, they will be shown the description provided in the metric's settings, as well as any video instructions.

When the workout is recorded, the athlete's inputs will be used to record a new measurement for the metric.

Assessments

Inserting an assessment into a workout is essentially a shortcut for inserting multiple metric tests. It specifies that all the metrics in the assessment should be tested when the workout is delivered.

  1. Click the "Add assessment" button to insert an assessment row.

  2. Select the desired assessment from the dropdown.

When an athlete receives the workout, all the metrics in the assessment will be laid out for them to record their inputs.

A new measurement will be recorded for each metric after the athlete records the workout.

Surveys

You can build surveys directly into your workouts to collect athlete data as part of the workout routine. These surveys make it easy for athletes to provide responses for key data points you want to track.

  1. Click the "Add survey" button to insert a survey row into the workout.

  2. Select the desired survey from the dropdown.

When an athlete receives the workout, the survey inputs will be displayed within the workout interface, prompting them to input their responses.

Workout modifiers

Workout modifiers allow you to conditionally modify attributes of the workout's sets. For example, you might add logic that will reduce the number of reps for certain exercises if a wellness metric is below a given threshold, or you might want to swap out an exercise if an athlete belongs to a "dumbbells-only" group.

The conditional logic in workout modifiers is evaluated when an athlete starts the workout, so the modifications will only be applied if the athlete meets the conditions at that time.

Configure workout modifiers

Modifiers have two components: 1) the conditional logic that determines whether or not they should be applied, and 2) the modification parameters that should be applied to the workout's sets if the conditions are met.

Conditional logic

For every modifier you create, you have the ability to configure the conditional logic that must be met in order for the modifier to be effective. This logic builder is essentially the same interface used for automation conditions. You have the ability to write logical statements that will be evaluated when an athlete performs the workout.

For example, you might have a simple condition that looks something like this:

If an athlete starts a workout with this condition, and their most recent measurement for the Soreness metric was 7 or more, this condition would be met.

You can also combine logical statements joined by and/or operators to create more complex conditions:

For this modifier, if an athlete's most recent Soreness or Fatigue metric measurement 7 or more, then the condition would be met. You can change the join operator for the modifier's conditions using the operator selector.

Joining conditions

The join operator is the same for all conditions of a modifier, so changing one will change all of them. An "or" operator means that the modifier will be applied if any of the conditions are met. The "and" operator means that the modifier will only be active if all the conditions are met.

You can remove a condition by hovering over it and clicking the remove button that appears on the right hand side:

Modifiers operate independently

Each modifier's conditional logic is independent of other modifiers on the workout. This means that each modifier is evaluated independently, so the conditions for one will have no bearing on the conditions for others.

Modification parameters

Each modifier can be configured to modify the parameters of sets in the workout.

Exercise name

The exercise name can be used to scope the modifications to sets for a particular exercise. In the example above, modifications will only be made to sets for "Back Squat" if the conditions are met. All other sets will be ignored.

If you type in "All" for the exercise name, modifications will be applied to all sets in the workout if the conditions are met, regardless of what exercise is specified for the set.

Exercise parameters

For each exercise parameter, you can configure three modification types:

  1. An absolute modification, which will modify the parameter's value to the given value. For example, if reps was originally prescribed with a value of 10, you could specify that reps should be changed to 6.

  2. An offset modification, which will modify the parameter's value by a the given value. For example, if reps was originally prescribed with a value of 10, an offset modification of -2 would reduce the reps to 8.

  3. A relative modification, which will modify the parameter's value by the given percentage. For example, if reps was originally prescribed with a value of 10, a relative modification of -10% would reduce the reps to 9.

However, the last two parameters, "Custom" and "Exercise," do not have the three types of modifications.

If a custom modification is configured, the value of the custom parameter will be changed to the given value if the conditions are met.

If an exercise modification is configured, the exercise will be changed to the given exercise if the conditions are met.

Workout-level modifiers

Modifiers can be applied to any workout within any context (on the calendar, in a program, for a database workout). Modifiers added to a database workout will get copied whenever that template is inserted into a session.

To add modifiers to an individual workout, open up the workout builder for the target workout and scroll to the bottom of the form:

Program-level modifiers

Modifiers can also be added at the program level. When added to a program, they will apply to all workouts within the program. This is a relatively wide-net approach to workout modification, so just be sure that you check the implications of your modifiers across the program.

You can add modifiers to a program from the program's settings:

The configuration of modifiers is the same within programs as it is for workouts. Modifiers from the program will be displayed as read-only items when you open up a workout within the program:

Anytime you want to modify a program-level modifier, you'll need to make changes from the program's settings. You won't be able to modify them from an individual workout.

Progression-level modifiers

Progression-level modifiers are similar to program-level ones, but they only apply to all workouts within a progression. Like with program modifiers, you can configure progression modifiers from the progression's settings:

Did this answer your question?