SelfSync

Workout step message

A workout step message describes one step of a structured workout: how long it lasts (time, distance, calories, heart rate, open…), what to target (pace, heart rate, power, cadence zones or custom ranges), its intensity, and how to repeat previous steps. Strength workouts also specify the exercise and the weight.

FIT name
workout_step
Global message number
27
JavaScript SDK key
workoutStepMesgs
Fields
59

Fields

  • Index of the message among the messages of the same kind in the file, starting at 0. Other messages use it to reference this one.

  • Name of the workout step.

  • What ends the step: time, distance, calories, heart rate above or below a value, power, repetitions, lap button (open), or repeat until a condition is met.

    31 possible values
    • time
    • open
    • distance
    • hrLessThan
    • hrGreaterThan
    • calories
    • repeatUntilStepsCmplt
    • repeatUntilTime
    • repeatUntilDistance
    • repeatUntilCalories
    • repeatUntilHrLessThan
    • repeatUntilHrGreaterThan
    • repeatUntilPowerLessThan
    • repeatUntilPowerGreaterThan
    • powerLessThan
    • powerGreaterThan
    • trainingPeaksTss
    • repeatUntilPowerLastLapLessThan
    • repeatUntilMaxPowerLastLapLessThan
    • power3sLessThan
    • power10sLessThan
    • power30sLessThan
    • power3sGreaterThan
    • power10sGreaterThan
    • power30sGreaterThan
    • powerLapLessThan
    • powerLapGreaterThan
    • repeatUntilTrainingPeaksTss
    • repetitionTime
    • reps
    • timeOnly
  • Raw value of the duration, to interpret according to durationType.

  • durationTimeFloat64s

    Time to spend before moving to the next step.

  • Distance to cover before moving to the next step.

  • durationHrEnum% or bpm

    Heart rate to reach before moving to the next step. Values up to 100 are a percentage of max heart rate, values above are beats per minute plus 100.

    1 possible value
    • bpmOffset
  • durationCaloriesUint32calories

    Calories to burn before moving to the next step.

  • messageIndex of the step to loop back to, for repeat steps.

  • durationPowerEnum% or watts

    Power to reach before moving to the next step. Values up to 1000 are a percentage of FTP, values above are watts plus 1000.

    1 possible value
    • wattsOffset
  • Number of repetitions to perform before moving to the next step.

  • What the target of the step is about: speed, heart rate, cadence, power, grade, resistance, swim stroke… or open (no target).

    14 possible values
    • open
    • speed
    • heartRate
    • cadence
    • power
    • grade
    • resistance
    • power3s
    • power10s
    • power30s
    • powerLap
    • swimStroke
    • speedLap
    • heartRateLap
  • Raw value of the target of the step, to interpret according to the target type (zone number, or 0 for a custom range).

  • Speed zone to stay in (1 to 10), for the target of the step. 0 means a custom range.

  • Heart rate zone to stay in (1 to 5), for the target of the step. 0 means a custom range.

  • Cadence zone to stay in, for the target of the step. 0 means a custom range.

  • Power zone to stay in (1 to 7), for the target of the step. 0 means a custom range.

  • Number of times to repeat the steps.

  • repeatTimeFloat64s

    Time to spend before stopping the repetitions.

  • Distance to cover before stopping the repetitions.

  • repeatCaloriesUint32calories

    Calories to burn before stopping the repetitions.

  • repeatHrEnum% or bpm

    Heart rate to reach before stopping the repetitions.

    1 possible value
    • bpmOffset
  • repeatPowerEnum% or watts

    Power to reach before stopping the repetitions.

    1 possible value
    • wattsOffset
  • Swimming stroke to use, for the target of the step.

    9 possible values
    • freestyle
    • backstroke
    • breaststroke
    • butterfly
    • drill
    • mixed
    • im
    • imByRound
    • rimo
  • Lower bound of the custom range, as a raw value to interpret according to the target type, for the target of the step.

  • Lower bound of the custom speed range, for the target of the step.

  • Lower bound of the custom heart rate range, for the target of the step. Values up to 100 are a percentage of max heart rate, values above are beats per minute plus 100.

    1 possible value
    • bpmOffset
  • Lower bound of the custom cadence range, for the target of the step.

  • customTargetPowerLowEnum% or watts

    Lower bound of the custom power range, for the target of the step. Values up to 1000 are a percentage of FTP, values above are watts plus 1000.

    1 possible value
    • wattsOffset
  • Upper bound of the custom range, as a raw value to interpret according to the target type, for the target of the step.

  • Upper bound of the custom speed range, for the target of the step.

  • Upper bound of the custom heart rate range, for the target of the step. Values up to 100 are a percentage of max heart rate, values above are beats per minute plus 100.

    1 possible value
    • bpmOffset
  • Upper bound of the custom cadence range, for the target of the step.

  • customTargetPowerHighEnum% or watts

    Upper bound of the custom power range, for the target of the step. Values up to 1000 are a percentage of FTP, values above are watts plus 1000.

    1 possible value
    • wattsOffset
  • Intensity of the period: active, rest, warmup, cooldown, recovery, interval or other.

    7 possible values
    • interval
    • other
    • active
    • rest
    • warmup
    • cooldown
    • recovery
  • notesString

    Notes about the step.

  • Swimming equipment to use: fins, kickboard, paddles, pull buoy, snorkel.

    6 possible values
    • none
    • swimFins
    • swimKickboard
    • swimPaddles
    • swimPullBuoy
    • swimSnorkel
  • Category of strength exercise: bench press, squat, deadlift, plank, lunge, core…

    53 possible values
    • unknown
    • move
    • elliptical
    • warmUp
    • benchPress
    • calfRaise
    • cardio
    • carry
    • chop
    • core
    • crunch
    • curl
    • deadlift
    • flye
    • hipRaise
    • hipStability
    • hipSwing
    • hyperextension
    • lateralRaise
    • legCurl
    • legRaise
    • lunge
    • olympicLift
    • plank
    • plyo
    • pullUp
    • pushUp
    • row
    • shoulderPress
    • shoulderStability
    • shrug
    • sitUp
    • squat
    • totalBody
    • tricepsExtension
    • run
    • bike
    • cardioSensors
    • pose
    • bandedExercises
    • battleRope
    • floorClimb
    • indoorBike
    • indoorRow
    • ladder
    • sandbag
    • sled
    • sledgeHammer
    • stairStepper
    • suspension
    • tire
    • runIndoor
    • bikeOutdoor
  • Exercise within the category. Its meaning depends on exerciseCategory (each category has its own list of exercise names).

  • Weight to use for the exercise.

  • Unit the weight should be displayed in: kilograms or pounds.

    3 possible values
    • other
    • kilogram
    • pound
  • What the secondary target of the step is about: speed, heart rate, cadence, power, grade, resistance, swim stroke… or open (no target).

    14 possible values
    • open
    • speed
    • heartRate
    • cadence
    • power
    • grade
    • resistance
    • power3s
    • power10s
    • power30s
    • powerLap
    • swimStroke
    • speedLap
    • heartRateLap
  • Raw value of the secondary target of the step, to interpret according to the target type (zone number, or 0 for a custom range).

  • Speed zone to stay in (1 to 10), for the secondary target of the step. 0 means a custom range.

  • Heart rate zone to stay in (1 to 5), for the secondary target of the step. 0 means a custom range.

  • Cadence zone to stay in, for the secondary target of the step. 0 means a custom range.

  • Power zone to stay in (1 to 7), for the secondary target of the step. 0 means a custom range.

  • Swimming stroke to use, for the secondary target of the step.

    9 possible values
    • freestyle
    • backstroke
    • breaststroke
    • butterfly
    • drill
    • mixed
    • im
    • imByRound
    • rimo
  • Lower bound of the custom range, as a raw value to interpret according to the target type, for the secondary target of the step.

  • Lower bound of the custom speed range, for the secondary target of the step.

  • Lower bound of the custom heart rate range, for the secondary target of the step. Values up to 100 are a percentage of max heart rate, values above are beats per minute plus 100.

    1 possible value
    • bpmOffset
  • Lower bound of the custom cadence range, for the secondary target of the step.

  • Lower bound of the custom power range, for the secondary target of the step. Values up to 1000 are a percentage of FTP, values above are watts plus 1000.

    1 possible value
    • wattsOffset
  • Upper bound of the custom range, as a raw value to interpret according to the target type, for the secondary target of the step.

  • Upper bound of the custom speed range, for the secondary target of the step.

  • Upper bound of the custom heart rate range, for the secondary target of the step. Values up to 100 are a percentage of max heart rate, values above are beats per minute plus 100.

    1 possible value
    • bpmOffset
  • Upper bound of the custom cadence range, for the secondary target of the step.

  • Upper bound of the custom power range, for the secondary target of the step. Values up to 1000 are a percentage of FTP, values above are watts plus 1000.

    1 possible value
    • wattsOffset
  • mesgNumString

    Global message number identifying the kind of message. Decoders use it to know which profile to apply to the data.

Other courses, segments and workouts messages

See all the FIT messages