Switching to Trainnode

Bring your whole practice over in an afternoon — not a weekend.

The reason coaches put off switching tools is the migration. Trainnode imports your clients, exercise library, and full programming straight from the spreadsheets you already keep. Upload a CSV or Excel file, let it match your columns, preview exactly what will happen, and commit — no re-typing a single client.

14-day free trial · No credit card

Upload & match

Your columns, matched for you — even when the headers are messy.

Drop in a CSV or Excel export from your old platform, a coach’s Google Sheet, or a hand-kept tracker. Trainnode reads your headers and maps them to the right fields — “Athlete Name”, “e-mail”, “trainer” all land where they belong. For clients and exercises, optional AI matching handles the columns that don’t line up cleanly, and you stay in control of every mapping.

CSV and XLSX supported — export from almost any tool or spreadsheet
Flexible column aliasing maps common header names automatically
Optional AI-assisted mapping resolves the odd columns for clients and exercises
Import
clients.xlsx · 128 rows
ClientsReading columns…
Athlete Name
e-mail
trainer
DOB
Eva Nakamura
eva.n@…
David
12/03/91
Marco Rossi
marco@…
David
07-22-88
Priya Shah
p.shah@…
1990/4/15
Full name
Email
AICoach
Birthday
124 of 128 rows ready · 4 flagged for review

Programming, translated

Your workout spreadsheet becomes a real Trainnode workout.

This is where most tools stop — Trainnode keeps going. Point it at the program you keep in Excel and it reads every exercise, set, rep, load, and rest, then rebuilds it as a structured Trainnode workout — order, supersets, warmups, and per-set targets — assigned to the right client. Bare numbers get their units, rep ranges get tidied, and any exercise it doesn’t recognise is created or matched to your library on the way in.

Reads sets, reps, load, and rest from each exercise row — messy formats and all
Rebuilds them as structured, per-set Trainnode exercises with supersets and warmups
Import to your template library, assign straight to a client, or both
Import programming
Push Day.xlsx → Eva Nakamura
Exercise
Sets
Load
Rest
Bench Press
4x8-10
80kg
90s
Incline DB Press
3x12
30
·
Cable Fly
3x15
45
Translating to Trainnode…
A
Bench Press
4 × 8–10 · 80 kg
90s
B
Incline DB Press
3 × 12 · 30 kg
60s
C
Cable Fly
3 × 15
45s

Preview before commit

See exactly what will happen before anything is created.

Every row is validated up front. Trainnode shows a preview that flags what’s new, what will update an existing record, and what needs a second look — duplicate clients are matched by email, exercises by name, so nothing is created twice. Fix or skip flagged rows, then commit. Import is admin-only, and if a row can’t be created you get an error report instead of a silent half-migration.

Row-by-row validation catches bad emails, missing fields, and duplicates
De-dupes against your existing clients and exercises before committing
Admin-only, with a downloadable error report for any rows that fail
Preview
Nothing is created until you commit
Create
116
Update
8
Review
4
Eva NakamuraMatched by emailUpdate
Marco RossiNew clientCreate
Priya ShahCoach not foundReview
Bench PressNew exerciseCreate
Incline DB PressMatched by nameUpdate
4 rows need review firstCommit

Frequently asked questions

What can I import into Trainnode?
Three things: clients (name, email, phone, date of birth, goals, medical notes, and their assigned coach), your exercise library (name, muscle groups, equipment, tracking type, and video links), and programming — workout templates and workouts assigned to specific clients, including sets, reps, weights, rest, supersets, and warmups.
What file formats are supported?
CSV and Excel (XLSX). You can export those from almost any coaching platform, or use a Google Sheet or your own tracker. Trainnode reads the header row and matches your columns to the right fields automatically.
What if my column names don’t match?
They usually don’t, and that’s fine. A flexible aliasing layer recognises common variations — “Athlete Name” for full name, “trainer” for coach, “DOB” for date of birth, and many more. For client and exercise imports you can also turn on AI-assisted matching to resolve the columns that don’t line up cleanly. You review and can override every mapping.
Will importing create duplicate clients or exercises?
No. The preview matches incoming clients to existing ones by email and exercises by name, so an import updates the right record instead of creating a second copy. Anything ambiguous is flagged for review before you commit.
What happens if some rows have errors?
You see them before anything is created. The preview validates every row and flags bad emails, missing required fields, and unresolved exercises. You can fix or skip flagged rows, and if any row fails at commit you get a downloadable error report — never a silent, half-finished migration.
Who can run an import?
Imports are admin-only. Organisation admins run them from your studio settings, so a coach can’t accidentally overwrite the roster, and every import is attributed for a clean audit trail.
David Meijer, coach and co-founder of Trainnode
David Meijer
Coach · Co-founder

Nervous about switching?

Moving your clients over? I’ll help you do it — cleanly.

I’m a coach and co-founder, and I’ve helped plenty of studios migrate off spreadsheets and other apps. Send me your export and I’ll walk you through getting your clients, exercises, and programming into Trainnode without losing anything. Book a call or message me directly.

Prefer to explore first? See how programming works in Trainnode.

Ready to coach with less busywork?

Start your free trial today, or explore everything Trainnode does.