For Coaches Troubleshooting

Importing TrainingPeaks workout notes (CSV)

Bring TP workout RPE, feeling, and coach comments into the Hub as Activity notes.

What this import does

The Hub has a built-in CSV importer for TrainingPeaks workout notes. Drop a TP workout export CSV onto the activity upload page and the importer:

The importer is in core/services/csv_importer.py.

Expected CSV format

The importer auto-detects this file format by looking for both WorkoutType and WorkoutDay in the headers. If your TP export contains those columns, it will be recognised.

Recognised WorkoutType values mapped to Hub sports:

(Lowercase variants are also accepted.)

How to export from TrainingPeaks

In TP, go to your athlete export and select the Workouts report. Choose a date range that overlaps with activities already in the Hub (the importer needs the Activity rows to exist already; it does NOT create new ones).

Save the file as .csv.

How to import in the Hub

  1. From the coach dashboard, click Upload activities.
  2. Use the CSV import section.
  3. Pick the athlete.
  4. Drop the CSV.
  5. The importer returns a summary: how many rows matched existing Activities and how many did not.

What "matched" means

For each CSV row, the importer looks for an Activity row with the same date and the same sport. If found, the notes are appended.

If no match exists, the row is reported as unmatched. To fix unmatched rows:

What does not get imported

The workout-notes importer does not:

Caveats

See also: Importing TP biometrics CSV, Importing TP activities (FIT zip), Activity notes thread.

Last updated May 12, 2026

Still stuck? Ask us a question and we'll write up an answer.

Ask a question