A "workout" within FYTT is a single, modular piece of a workout session. For example, within a given session, you might have a workout called "Warmup," then a couple workouts named "Upper Body" and "Lower Body," then a workout called "Cooldown."

Workouts can be created as "templates" in the workout database, as well as "on-the-fly" within programs or calendar sessions. But regardless of where you create a workout, the principles are essentially the same. In this guide, we'll cover everything you need to know about building workouts in FYTT.


FYTT's workout form is a powerful, yet simple tool for quickly creating workouts for any modality. This form is used for creating workouts almost everywhere in the app, with the exception of progressions, which uses a condensed version of the form.


The "Info" section of the form is where you fill out the basic information for the workout. The 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%). Use the description to add explanatory notes about how the exercises should be performed, or how the workout should flow.


The "Exercises" section is where you specify the exercises to be performed for the workout. We've built an intuitive, spreadsheet-like interface to make this process quick and easy. This tool has many helpful features that work similar to a spreadsheet, which we'll highlight below.

Each row 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%").

To add an exercise to a workout, simply click the "Add set" button. This adds a row to the spreadsheet and opens the set attributes form.


The set attributes form allows you to prescribe every detail of an exercise. This form defines what columns are displayed for the row. Every row can have different attributes, so the rows do not have to be uniform.

Most of the set attributes can be prescribed based on a Key Performance Indicator (KPI), which will be explained in greater detail below.

After specifying which attributes you want to prescribe, close the form and enter the exercise name and input the prescriptions for each attribute you selected for the exercise.


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.


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


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.


If you want to prescribe an exercise parameter based on a KPI, you first need to have a relevant KPI defined. For example, if you want to prescribe weight for Bench Press based on a percentage of an athlete's Bench Press 1RM, that KPI would need to be defined in your KPI database (see the KPIs guide for info on creating KPIs).

Assuming you have defined the KPI, you would check the "KPI" box of the weight attribute, select the "KPI Type" ("offset" or "relative"), and select which KPI you want the prescription to be based on. You can then close the set attributes form and enter in the value of your KPI-based prescription.

When you use the KPI feature for a given exercise attribute, FYTT will automatically individualize that parameter based on individual athlete's KPIs. For instance, if we indicated that weight should be 65% of the "Bench Press: 1 Rep Max Weight" KPI, and an athlete's recorded measurement for that KPI is 200 pounds, then the prescribed weight prescribed would be 130 pounds.

This individualization happens when a session is executed, meaning when the athlete starts a session on their mobile device, when you export a session to a PDF, or when you pull up a session using the Whiteboard feature.

KPI Type: offset vs relative

The "relative" KPI type allows you to prescribe a value based on a percentage of the athlete's KPI measurement. The "offset" type allows you to prescribe an absolute value, which will be added or subtracted from the athlete's KPI measurement. (e.g., +10 lbs or -0:05).

Auto KPI selection

For the weight attribute, you'll notice that one of the options for KPI selection is "Auto." This means that FYTT will try to find the most appropriate KPI to use for prescribing weight for the exercise.

To do this, the software first looks to see if you have defined any KPI logic for the exercise. This logic is defined in your organization's exercise database, where you can configure the system to automatically use one of your KPIs as the default source when prescribing weight for a given exercise.

If there are no relevant configurations for the exercise, FYTT will look back at the athlete's exercise history and use a 1RM estimation formula to estimate an appropriate KPI. The default formula is the Brzycki equation, but you can set your preferred formula in the team's settings.


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.


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

If you want to group a set of exercises into a superset, giantset, or circuit, you can give all the sets in the group the same set index. To do this, right click on any row and select the "Hide/show set index" option. This displays a column on the left side of the sheet that allows you to modify the index for each row. Give each group a different index number to separate them into different groups.


An assessments is a special item that allows you to build an official KPI evaluation into a workout. When the workout is executed, FYTT will automatically add the assessment parameters to the workout. When the values are recorded, the system automatically updates the athlete's KPI using the assessment formula specified on the KPI (see the KPIs guide for more info on defining KPI assessments).

You can add an assessment from using the "Add assessment" button to the top right of the sheet, or you can use the context menu.


If you want to insert the sets from another workout into the current one, click on the "Insert workout" button to the top right of the sheet. This will open up a search field that will populate with workouts from your database as you type. After you find the workout you want to insert, simply click on it or use the up/down arrow keys to highlight it and press enter.


Every organization has their own workout database, which allows coaches to create a shared repository of modular workout pieces. Workouts in the database can be inserted into any session within a program or on the calendar.

Naming database workouts

Workouts within the database must have unique names. When naming workouts, it's often helpful to come up with a standard naming convention. This will help you easily infer the contents of a workout and find it when searching the database.

For example, you might consider something like the following:

"[Warmup] Upper Body Pulling"

"[Warmup] Upper Body Pushing"

"[5/3/1] Week 1"

"[5/3/1] Week 2"

The bracket notation is purely optional. Use a convention that make sense for you. Just make sure that the names are clear to everyone who uses the system.

Workout copies

Workouts in the database have a "Sync copies" option, which ensures that changes made to the template are reflected anywhere the template is used.

To illustrate how this feature works, let's suppose you created a workout in the database with three sets of bench press. You then added this workout to a session in a program.

A copy of the original workout now exists in the program. If you return to the original workout in the database and delete one of the sets in the template, that change would also show up in the program.

Note: If you had made any changes to the copy, those changes would be overwritten by changes to the original. However, if you gave the workout copy a different name, that will not be changed. Additionally, any sets in the original copy with "Exercise name" as the exercise will be ignored. In other words, this is simply a placeholder, and if you add a real exercise in a copy, those changes will not be overwritten.

If you want to add a workout from the database to a session, then separate it from its original template, you can uncheck the "Sync to original" option within the copy. This will prevent the copied workout from changing when the original is updated.

Did this answer your question?