Add athletes manually, import from WSL/LiveHeats, CSV, watchlist, and club QR
Managing Athletes
Your roster lives under Athletes in the sidebar (/athletes). This guide covers every way to get athletes onto your roster.
The roster page
- The header shows Athletes with your roster count (and your plan's athlete cap, if one applies).
- Use the search box, the skill-level pills (all / beginner / intermediate / advanced / pro), and the Only mine toggle to filter.
- The table lists Athlete / Level / Stance / Age / Sessions. Click any row to open that athlete's profile.
- Click Add Athlete (top right) to open the add wizard.
The athlete profile
Opening an athlete (/athletes/[id]) gives you a coaching command center:
- Smart KPI tiles in the header adapt to the athlete's mode -- contest athletes see Best Heat / Best Wave / Heat Win Rate / Circuit Rank; training athletes see Sessions / Readiness / Drills Due / Upcoming.
- A Needs attention strip flags low readiness or injuries, upcoming events with no game plan, and qualifications at risk -- each chip jumps straight to the relevant tab.
- The Overview tab surfaces the most actionable info: your athlete's last-session AI takeaways (summary, top focus, and homework, linked back to the session), circuit standings (linked to the circuit), upcoming events with plan status, a readiness snapshot, goal progress, and earned achievements.
- Header actions: Invite, Generate Season Report, Compare, Edit, and Delete.
- Tabs are grouped: core tabs (Overview, Sessions, Goals, Wellness, Equipment, Coaches) always show; for contest athletes a labeled Compete row adds Competition, Qualifications, Game Plans, Opponents, Event Prep, and Conditioning. The active tab is reflected in the URL (
?tab=) so views are shareable.
Add an athlete (the wizard)
The Add Athlete modal is a three-step wizard: Who are they? -> How will you coach them? -> Details.
Step 1 -- Who are they?
- Choose where to add them with the Add to: toggle -- Roster (a full athlete) or Watchlist (someone you're tracking but not coaching yet; this skips steps 2-3).
- Use the shortcuts if you prefer: Import CSV (opens the CSV importer) or Club QR / invite (opens your shareable enrollment link).
- Find an existing athlete with the multi-source search -- it queries WSL and LiveHeats. If Surflink detects the same person across sources, an identity-match prompt appears so you can confirm the link.
- To link a WSL profile directly, paste a WSL profile URL (for example
.../athletes/12345/name) into the URL field. A preview card shows the avatar, country, current tour, rank, and the auto-detected tour badge, with editable Name / Age / Stance. - No match? Click Can't find them? Add manually and fill Name, Email, Age, Stance, Skill Level.
Step 2 -- How will you coach them?
- Pick a Training Mode: Training Sessions (fundamentals coaching) or Contest (WSL-aligned competition scoring). This choice drives how rides are scored everywhere else.
- Set the Skill Level.
- For Contest athletes, enrol them in a circuit: the auto-detected tour appears with an inline Create circuit action, plus a selectable list of existing circuits.
Step 3 -- Details (optional)
Add Country, Gender, Years Surfing, Home Break (with Surfline spot autocomplete), Email, and Bio.
Finish with Add Athlete (or Skip & Add to leave the optional details blank, or Add to Watchlist in watchlist mode).
Import athletes from a CSV
- From the Athletes page or the add wizard, choose Import CSV (
/athletes/import). - The importer walks through Upload -> Map columns -> Review -> Done.
- Drop your CSV. Surflink auto-suggests a column mapping; the only required column is name.
- On the review screen choose a destination per row (roster or watchlist), then click Import.
- You'll get a summary like "X added · Y skipped · Z errors".
Watchlist (athletes you don't coach yet)
The Watchlist (/watchlist) is for competitors and prospects you want to track.
- Athletes land here from the add wizard (destination = Watchlist) or from a CSV import.
- Each card shows the source, country, linked profiles, and tags.
- Click Move to roster to promote a watchlist athlete into a full roster student in one step, or use the trash icon to remove them.
Watchlist + athlete search are Pro features.
Browse a circuit field
You can pull a circuit's full field in one place: open a WSL- or LiveHeats-backed circuit and use Browse Roster to multi-select athletes and import them into that circuit at once.
Merge duplicates (admin)
If the same athlete ends up on your roster twice, open the Dedup console (/admin/dedup). It lists likely-duplicate pairs with a confidence score and a Merge action.
Merging is irreversible -- it soft-deletes the merged-from athlete and keeps the survivor.