Import & Export Routines as Plain Text

As of HeavySet 2018.8 you can import routines written in plain text — perfect for sharing a routine with a friend or writing one in a text editor and importing it into the app.

Plain-text import is for routines — your training plans. To import your workout history (the sets you've already done) from another app, see Importing CSV Data.

Upon opening HeavySet the app will check your pasteboard for potential routines copied there. If it detects what could be routines, you will be presented with an alert showing the pasteboard content and offering the option to install them.

If this fails to detect your routines but you are sure they are copied to the pasteboard, you can perform this step manually by tapping the Import button.

In the following video I demonstrate how to share routines from the app and how to import them back into the app.

Syntax

The syntax for importing via text is quite loose, which gives us the option of writing our routines out in a text editor and then importing these into the app rather than using the editors.

Below I will outline the details of the syntax. An example can be seen here:

## Full Body B
/3 Day Routine
#ff8800

A. Overhead Press, 3 sets, 8-12 reps, 3:30 rest
B. Leg Curl, 3 sets, 8-12 reps, 3:00 rest
C. Seated Calf Raise (Smith), 3 sets, 8-12 reps, 3:00 rest
D1. Cable Bicep Curl, 3 sets, 8-12 reps, 1:20 rest
D2. Pushdowns, 3 sets, 8-12 reps, 1:20 rest

Workout name

The only requirement for plain text import is that a routine name must start with two hash symbols (##), a space, followed by the name. For example:

## Full Body

Path

Routine path structure can be maintained. To do so you may optionally include a path after the routine name. Paths consist of the folder names separated by slashes, and must start with a slash. For example:

/Wendler 531/Week 1

Folder names that contain slashes will not work with this syntax, so bear that in mind.

Color

Routine colors may also be added. Be sure to add a hexcode in the format #RRGGBB after the routine name but before the exercises.

Exercises

Exercises are added as a list. Each line is split into parts separated by commas. The first part is used as the exercise name. The simplest form of this would be:

Squat
Bench Press
Deadlift

As the lines are split into parts after each comma, exercise names may not contain commas when importing via text.

Supersets

It is possible to create supersets using text import. To create a superset you should include group names (a single letter with an optional number) before the exercise names. For example:

A1. Bench Press
A2. Barbell Row
B. Overhead Press

The group names are for user readability only. They are not sorted during import, so if you renamed the first group in the example as group C it would not be ordered before group B after import. The previous could be rewritten as follows and still import as the same routine:

C. Bench Press
C. Barbell Row
Overhead Press

Exercise Parameters

You can add all the same exercise parameters via text import as you can within the editor. These are added to the exercises after a comma. Exercise parameters are case insensitive. For example:

A. Bench Press, 3-4 sets, 10 reps, rest 1:30

Valid options are:

  • Sets
  • Rep range
  • Intensity
  • RPE
  • Tempo
  • Rest
  • Training max update

Sets — if an exercise parameter includes the word set, the importer will look for a range within the text. Example ranges are as follows:

3 sets
3-4 sets
3+ sets

These import as max sets: 3, min sets: 3; and max sets: 4, min sets: 3 respectively.

Reps — if an exercise parameter includes the word rep, the importer will look for a range within the text. Example ranges are as follows:

5 reps
8-12 reps
3+ reps

These import as max reps: 5, min reps: 8; and max reps: 12, min reps: 3 respectively.

Intensity — if an exercise parameter includes the text int, the importer will look for an integer or decimal value. Valid intensity values could include:

80% intensity
92.5 int

RPE — if an exercise value includes the text rpe, the importer will look for an integer or decimal value. Valid RPE values could include:

RPE 8
8.5 rpe

Tempo — if an exercise value includes the text tempo, the importer will look for an integer value of 1-4 digits. Valid tempo values could include:

tempo 22
2013 Tempo

Rest — if an exercise value includes the text rest, the importer will look for an integer value optionally followed by a colon and another integer value. If no colon is detected then the value is considered to be seconds; if there is a colon the value is minutes:seconds. Valid rest values could include:

90 seconds rest
1:30 rest
3 min rest

The last example would ignore the word min and consider the rest to be measured in seconds.

Training max update method — if the exercise parameter includes the word update, the importer will look for a set of predefined values. These include:

  • none
  • manual
  • manual_1rm
  • manual_1rm_higher
  • auto_1rm
  • auto_1rm_higher

Extended Syntax

From HeavySet version 2019.1 it's possible to add some additional metadata to the import file that will allow some custom branding to be displayed with the imported routines. This is perfect for trainers who wish to provide their clients with routines and want to include some additional information.

The attributes that can be added are:

  • Folder name (required)
  • Image (aspect ratio of 4:1)
  • Color
  • Description text (may contain URLs)

The syntax must follow these rules:

  • It must appear above the routines in the file.
  • The metadata starts and ends with a line containing ---.
  • There must be a line starting folder: followed by the name of the base folder you want the routines to appear in.
  • You may optionally have a line starting with image: followed by the URL of the image.
  • You may optionally have a line starting with color: or colour: followed by a hexadecimal colour code in the format #RRGGBB.
  • Lines that do not start with the above keywords are added to the description text.

Here is an example:

---
folder: Runloop Full Body
image: https://www.runloop.com/images/heavyset/heavyset-background.jpg
color: #3BF27F
Perform Mon/Wed/Fri. Stop each set one rep before failure. Increase weight 5% the following week once you exceed rep range.
More details: https://www.runloop.com
---