Import Format Details

Content
This page documents all files you can import into Slek, as well as all supported columns for each CSV file.

FIT Files

FIT files (.fit or .fit.gz) can be imported individually or in bulk via a ZIP file. These files contain raw data recorded by your GPS/cardio device.
Note: FIT files are a standard binary exchange format. You should never have to modify them. They are documented here if you want to know more.

Activity CSV File

The activity CSV file allows you to import metadata and statistics associated with your activities that are not in the FIT file or that you have corrected (aberrant data, ...)

Required Columns

ColumnTypeDescription
DATEStringActivity date in ISO format (2026-01-08-12-48-27+0100)
ACTUAL_SPORTStringSport identifier (see below)

Optional Columns

ColumnTypeDescription
NAMEStringActivity name
HAS_FITBoolean or autoIndicates if the activity has an associated FIT file. Accepted values: true, false, 1, 0, auto. If empty: auto (no validation)
MULTINumberFor multi-activities (e.g.: triathlon) index in the event (default: 0)
TAGSStringTags separated by vertical bar (e.g.:tag1 | tag2 | tag3)
EDITEDBooleanIndicates if the activity has been manually modified
ELEV_CORR_HYSTERESIS_MNumberAltitude correction hysteresis in meters

Dynamic Columns: Metrics (METRIC_*)

Columns starting with METRIC_ allow you to import activity metrics.
Format: METRIC_{metric_name}
Built-in Metrics:
Custom Metrics:
Note: Custom metrics must be configured in settings before import, otherwise they will be ignored.

Dynamic Columns: Targets (TARGET_*)

Columns starting with TARGET_ allow you to import session targets.
Note: for now target import is not supported. The format documented here already applies to export.
Simple Targets:
Duration:
Zone Targets (format: zone names separated by |):

Dynamic Columns: Completed Statistics (DONE_*)

Columns starting with DONE_ allow you to import statistics completed during the activity.
Format: DONE_{statistic_name}
Available Statistics:

Dynamic Columns: Time in Zones (*_TIZ_*)

Time in zones columns allow you to import time spent in each training zone.
Format: {KIND}_TIZ_{ZONE_NUMBER}
Available Kinds:
Zone Numbers: From 1 to 9 (maximum 9 zones)
Examples:

Dynamic Columns: Zone Definitions (*_ZONE_*)

Zone definition columns allow you to import training zone limits used to calculate time spent in each zone.
Format: {KIND}_ZONE_{ZONE_NUMBER}_{PROPERTY}
Available Kinds:
Zone Numbers: From 1 to 9 (maximum 9 zones)
Available Properties:
Examples:
Note: Given that zones vary over time, zone definitions are essential to interpret time in zones values (*_TIZ_*). If definitions are not provided during import, time in zones values (*_TIZ_*) will be ignored.

Dynamic Columns: Peaks (*_PEAK_*)

Peak columns allow you to import maximum average values over different durations.
Format: {KIND}_PEAK_{DURATION}
Available Kinds:
Available Durations (in seconds):
Examples:

Daily Metrics CSV File

The daily metrics CSV file allows you to import your daily data (morning checkup, weight, HR max, etc.).

Required Columns

ColumnTypeDescription
DAYStringDate in ISO format (YYYY-MM-DD)
KEYStringMetric key (can be scoped with /SPORT)
VALUENumberMetric value

Built-in Metric Keys

General Well-being:
Health:
Performance:

Scoped Metrics

Metrics can be "scoped" by sport by adding /SPORT after the key:
Examples:

Custom Metrics

Custom metrics use the format CUSTOM_{name}:
Examples:
Note: Custom metrics must be configured in settings before import, otherwise they will be ignored.

Library CSV File

The library CSV file allows you to import your workout library. This file can be accompanied by a ZIP file containing attachments.

Required Columns

ColumnTypeDescription
SPORTStringSport identifier (e.g.: RUNNING, CYCLING, etc.)
TITLEStringWorkout title

Optional Columns

ColumnTypeDescription
TAGSStringTags separated by a | (e.g.:tag1 | tag2)
IS_PLAIN_TEXTBooleanIndicates if the description is in plain text. Accepted values: true, false, 1, 0
DESCRIPTIONStringWorkout description (can contain Markdown if IS_PLAIN_TEXT is false)
ATTACHMENTSStringAttachment paths separated by vertical bar. Files must be in the attachments/ folder of the ZIP

Dynamic Columns: Targets (TARGET_*)

The same TARGET_* columns as for activities are supported. See the Dynamic Columns: Targets (TARGET_*) section above.

Events CSV File

The events CSV file allows you to import events (notes, races, pain).

Required Columns

ColumnTypeDescription
STARTStringStart date in ISO format (YYYY-MM-DD)
ENDStringEnd date in ISO format (YYYY-MM-DD)
KINDStringEvent type: NOTE, RACE, or PAIN

Common Optional Columns

ColumnTypeDescription
TITLEStringEvent title

Race-Specific Columns (KIND = RACE)

ColumnTypeDescription
RACE_PRIORITYNumberRace priority (1, 2, or 3)

Pain/Discomfort-Specific Columns (KIND = PAIN)

ColumnTypeDescription
PAIN_ZONEStringAffected body zones, separated by vertical bar (list below)
PAIN_INVALIDITYNumberInvalidity from 1 to 100
PAIN_ALLOWED_SPORTSStringAllowed sports, separated by vertical bar (list below)

Sport Identifiers

IdentifierSport
RUNNING__GENERICRunning
RUNNING__TREADMILLTreadmill
RUNNING__STREETRoad running
RUNNING__TRAILTrail
RUNNING__TRACKTrack running
RUNNING__INDOORIndoor running
RUNNING__ORIENTEERINGOrienteering
CYCLING__GENERICCycling
CYCLING__INDOORTurbo trainer
CYCLING__ROADRoad cycling
CYCLING__MOUNTAINMTB
CYCLING__DOWNHILLDownhill MTB
CYCLING__RECUMBENTRecumbent bike
CYCLING__CYCLOCROSSCyclocross
CYCLING__HANDHand cycling
CYCLING__TRACKTrack cycling
CYCLING__BMXBMX
CYCLING__GRAVELGravel
CYCLING__COMMUTINGCommuting
ECYCLING__GENERICE-bike
ECYCLING__MOUNTAINElectric MTB
SWIMMING__GENERICSwimming
SWIMMING__POOLPool
SWIMMING__OPEN_WATEROpen water swimming
MULTISPORT__GENERICMulti-sport
MULTISPORT__TRANSITIONTransition
OUTDOOR__GENERICOutdoor activity
OUTDOOR__HIKINGHiking
OUTDOOR__SNOWSHOEINGSnowshoes
OUTDOOR__CLIMBINGClimbing
OUTDOOR__MOUNTAINEERINGMountaineering
SKIING__GENERICSkiing
SKIING__ALPINEAlpine skiing
SKIING__SNOWBOARDINGSnowboarding
SKIING__XC_SKATESkating
SKIING__XCCross-country skiing
SKIING__TOURINGSki touring
FITNESS__GENERICFitness
FITNESS__HIITFitness HIIT
FITNESS__INDOOR_ROWINGRowing machine
FITNESS__ELLIPTICALElliptical
FITNESS__FLEXIBILITY_TRAININGStretching
FITNESS__STRENGTH_TRAININGStrength training
FITNESS__CARDIO_TRAININGCardio Training
FITNESS__YOGAYoga
FITNESS__PILATESPilates
RACKET__GENERICRacket sport
RACKET__TENNISTennis
RACKET__BADMINTONBadminton
RACKET__PADELPadel
RACKET__SQUASHSquash
RACKET__TABLE_TENNISTable tennis
TEAM__GENERICTeam sports
TEAM__BASKETBALLBasketball
TEAM__SOCCERSoccer
TEAM__HANDBALLHandball
TEAM__VOLLEYBALLVolleyball
FIGHTING__GENERICCombat sports
FIGHTING__BOXINGBoxing
FIGHTING__JUDOJudo
WATER__GENERICAquatic activity
WATER__ROWINGRowing
WATER__KAYAKINGKayaking
OTHER__HORSE_RIDINGHorseback riding
OTHER__INLINE_SKATINGInline skating
OTHER__ICE_SKATINGIce skating
OTHER__GENERICOther sport

Body Zone Identifiers

IdentifierZone
TrapeziusBack
RightLatSide
LeftLatSide
RightTricepArm
LeftTricepArm
LeftGluteButtock
RightGluteButtock
RightHamstringThigh
LeftHamstringThigh
RightCalfCalf
LeftCalfCalf
RightAnkleAnkle
LeftAnkleAnkle
LeftRearDeltoidShoulder
RightRearDeltoidShoulder
LowerBackBack
LeftElbowElbow
RightElbowElbow
LeftHandFingersHand
RightHandFingersHand
BackHeadHead
RightDeltoidShoulder
LeftDeltoidShoulder
RightBicepArm
LeftBicepArm
RightPectoralChest
LeftPectoralChest
RightObliqueSide
LeftObliqueSide
RightQuadThigh
LeftQuadThigh
RightKneeKnee
LeftKneeKnee
RightShinShin
LeftShinShin
RightWristWrist
LeftWristWrist
RightForearmForearm
LeftForearmForearm
LeftHipHip
RightHipHip
RightAdductorGroin
LeftAdductorGroin
AbdomenAbdomen
RightNeckNeck
LeftNeckNeck
RightFootFoot
LeftFootFoot
FrontHeadHead

Important Notes

  1. Encoding: ⚠️ CSV files must be encoded in UTF-8
  2. Custom Metrics: Custom metrics must be configured in settings before import, otherwise lines containing them will be ignored.
  3. FIT Files: For activities with HAS_FIT = true, the corresponding FIT file must be imported before importing the activity CSV.
  4. Attachments: For the library, attachments must be in a ZIP file with the CSV, in the attachments/ folder.