Importing your roster from iClassPro or Jackrabbit
Bring your whole roster over from iClassPro or Jackrabbit in one upload — gymnasts, birthdates, levels, and guardian contacts from a single report file.
Already running your gym on iClassPro or Jackrabbit? You don't have to re-type your roster. Upload one report file and Gym TeamHub creates a gymnast record for every athlete on it — names, birthdates, discipline, levels, and guardian contact info included.
The importer reads two reports: an iClassPro roll sheet saved as HTML, and a Jackrabbit Class Roll saved as a PDF or exported to Excel. It works out which one you've given it from the file itself, so there's nothing to choose.
Export a roll sheet from iClassPro
- In iClassPro, go to Reports → Classes → Roll Sheets.
- Pick the date range and the classes you want to bring over. Each class becomes a level in Gym TeamHub, so a roll sheet covering your Level 3 and Level 4 classes imports both groups in one go.
- Under Display Options → Show, check these five boxes. They're all off by default, and anything you leave unchecked simply won't be in the file:
- Birthdate — without it the athletes still import, they just won't show up on the Calendar's birthday list until you fill it in.
- Gender — without it the import stops and asks you to pick a discipline for everyone on the sheet.
- Primary Guardian
- Phone Number
- E-Mail Address
- Click the HTML button at the bottom. (Not PDF — the importer can't read a PDF.)
- A new tab opens showing the roll sheet itself. Save that tab: right-click → Save as…, or Ctrl+S / Cmd+S. "Webpage, HTML Only" is the right format and gives you a single tidy file.
Note
Step 5 is where most failed imports come from. Saving the report page you started from — the one with the filters and checkboxes — gives you a file with no athletes in it. Make sure you're on the tab that lists your gymnasts before you save. If you'd rather not hunt for the tab, the same file is waiting under Background Tasks at the bottom of the iClassPro window, named Roll_Sheets_<date>.html.
The print-layout choices — Condensed Format, Inline Header, Landscape, Page Break After Each Class — don't affect the import. Set them however you like.
Export a Class Roll from Jackrabbit
- In Jackrabbit, run the Class Roll report for the classes you want to bring over. Each class becomes a level in Gym TeamHub, so a report covering your Level 3 and Level 4 classes imports both groups in one go.
- Make sure the roll includes Birth Date, Gender, Parent, Phone and Billing Contact Email. Anything left out simply won't be in the file — without gender the import stops and asks you to pick a discipline, and without the email families won't auto-link to their gymnasts.
- Save the report as a PDF or export it to Excel — either works. The file Jackrabbit gives you is the one to upload — don't open it and save it as something else.
The emergency contact, allergy notes and roll notes on the report stay out of Gym TeamHub.
Note
Upload the Class Roll, not a student list or another report. Other Jackrabbit exports lay the same details out differently, and the importer will tell you it doesn't recognize the file rather than guess.
Import it
- Go to the Roster tab and choose Add Member → Athlete → Bulk Import.
- Upload the file (click to browse or drag and drop).
- Choose Import Gymnasts.
- If any athletes on the sheet are already on your roster — or anything else needs a decision — you'll get a review screen first. It's also where you'll see any guardian details the file would change for an athlete already on file (nothing changes there unless you check the row). Work through it and press Import. A first import usually skips it, unless the file lists someone more than once or has no discipline for new athletes (when Gender isn't checked on an iClassPro roll sheet, or is missing from a Jackrabbit Class Roll) — then the review asks about just those. The review starts by listing the classes on the file and how many rows each one has — on a file covering lots of classes, the first eight and how many rows the rest hold, with a Show all 12 classes button (it counts your file's classes) to see each one — so glance at those numbers: a report pulled for the wrong classes or dates imports exactly what it holds, and that's the place to notice it's short.
You'll see a confirmation of what changed: how many athletes were added, updated, brought back, and retired.
What comes over
For each gymnast on the report:
- First and last name
- Birthdate and discipline (Women's or Men's) — on an iClassPro roll sheet these need Birthdate and Gender checked in Display Options; a Jackrabbit Class Roll needs Birth Date and Gender on the roll
- Level — taken from the class name
- Guardian's name, email, and phone — from iClassPro's primary guardian (needs Primary Guardian, Phone Number and E-Mail Address checked), or from Jackrabbit's Parent line, family cell phone and Billing Contact Email
Sizes, member IDs, and medical info aren't on either report, so those start empty — fill them in per gymnast whenever you like.
Discipline is the only one that stops the import: if the file has no discipline for an athlete, it pauses and asks what to do before creating anyone, because gymnasts without a discipline don't appear on the Skills page. A missing birthdate or missing guardian info doesn't block anything — the import goes ahead and tells you afterwards, so you can fill those in per gymnast whenever you like. Gymnasts without a guardian email just won't auto-link to their parents, and gymnasts without a birthdate won't appear on the Calendar's birthday list. A birthdate already on file is never changed by an import — a later upload can fill in a missing one, but not replace one you have.
How levels are handled
Class names on the report become each gymnast's level. Any class name your hub hasn't seen before is added to your hub's level list automatically, so the new gymnasts show up in level filters right away. After importing, you can reorder the list in Settings → Program Settings → Levels, and bulk-move gymnasts between levels with Manage Levels on the Roster.
Coaches & staff
Only owners and directors can change the hub's level list. If you import as an admin and the sheet contains new levels, you'll see a note listing them — pass it to an owner or director to add in Settings.
Guardians link up automatically
The guardian email that comes over with each gymnast does real work: when a parent creates their account with that same email, they're connected to their gymnast automatically — no manual linking needed. So after importing, just send families your parent invite link and encourage them to sign up with the email your gym has on file. See Managing members for manual linking when emails don't match.
Because that email is what links a parent to a gymnast, an import never changes the guardian email already on file on its own. If a file carries a different one, the review screen shows you both under Guardian details differ, and the one on file stays unless you check that athlete. When there's no guardian email on file yet — even if the same guardian's name is — the file's email fills it in without asking, since that's a blank being filled rather than a change.
Common questions
It says "no gymnasts found" but I can see them on the sheet
Nearly always the wrong file. In iClassPro, clicking HTML opens the roll sheet in a new tab; if you save the report page you were on instead, you get a file that contains the filter form and no athletes. Go back to the tab that lists your gymnasts and save that one, or grab Roll_Sheets_<date>.html from Background Tasks at the bottom of the iClassPro window. In Jackrabbit, it usually means a different report was exported — run the Class Roll itself.
The message tells you which it was — whether it recognized your file as the iClassPro app page, as a PDF or spreadsheet that isn't a Class Roll, as a scan, or as a report it could read but that had no athletes on it. If it says it found classes but no names, the date range probably didn't include a day those classes actually meet, or the classes have nobody enrolled.
Can I import more than once?
Yes, and overlapping sheets are fine. The import checks every athlete on the sheet against the ones already on your roster and shows you what it found before writing anything — who's new, who's already here, and anything it couldn't work out on its own. Nothing is created or changed until you press Import.
Athletes are matched by name, so it doesn't matter which system a previous import came from. If two different children share a name, the import asks which one you mean rather than guessing, and you can always choose "add as a new athlete" — if the file has no discipline for them, the review then asks for one before you can import. If you pick an athlete that another row on the file is already updating, it asks you to choose again instead of quietly leaving your answer out: your pick is marked on its row, and a note under that row's choices says why — and, where it takes another row's answer to free someone, which row. It also asks when a name matches someone on your roster but the birthdates don't agree — that's usually a different child with the same name. If you choose the existing athlete anyway, the birthdate on file is kept.
What happens to athletes already on my roster?
They're updated in place instead of being added a second time. Only the details the file actually carries are written, so a sheet exported without the guardian columns leaves guardian info you already have exactly as it was, and a Class Roll with a parent's name but no billing email keeps the email you typed in — an import can't blank something out on its own. A birthdate already on file is never changed.
Guardians get one more safeguard. If the file names a different guardian, or carries a different email from the one on file, the review screen lists that athlete under Guardian details differ with what's on file and what's on the sheet side by side. The one on file is kept unless you check that athlete — a guardian's email is what links a parent's account to the athlete, so it's never swapped without you saying so. Each row says exactly what checking it does. For a different guardian, the sheet's guardian details go on file in place of the old ones — anything the file leaves blank is cleared — so a parent's email is never carried under someone else's name. For a different email, only what differs changes: the row names which of the name, email and phone that is, and everything else on file stays. When the file names the same guardian you have on file, their name stays exactly as it is on file — including how it's split between first and last name.
Levels are the exception, and they're deliberately opt-in. Because an imported level is just the class name, importing a summer-camp report would otherwise move everyone on it onto "Summer Camp". So levels only change if you check Also update levels from this sheet — which is exactly what you want at the start of a season, when athletes have moved up a level. The checkbox names who it would move, from which level to which (the first three, then how many more), and it only appears when someone on your roster would change level, or could depending on an answer you haven't given yet. If everyone on the file is already on their class, there's nothing to check.
Some of my athletes have left — can the import retire them?
Yes, and it's the tidiest way to do a season rollover. If athletes on the levels your sheet covers aren't listed on it, they show under Not on this sheet, collapsed. Nothing happens to them unless you check them.
It only ever looks at the levels the sheet actually covers, so importing a summer-camp sheet can't put your competitive team up for retirement. There's no select-all, on purpose — retiring is per athlete.
Retiring keeps all their history and takes them out of training groups. Their guardians are left alone; remove those from the Roster if you need to.
An athlete I retired is on the sheet
They'll show under Paused or retired, and nothing happens to them unless you check them to bring back. Worth knowing: reactivating restores the athlete, but not their group memberships or guardian links — you'll need to set those up again.
My class names don't match the level names I want
Import anyway, then clean up in three quick moves: add the level names you want in Settings → Program Settings → Levels, bulk-move the gymnasts onto them with Manage Levels on the Roster, then remove the old class-name levels from Settings.
What file types work?
An iClassPro roll sheet saved as an HTML file (.html or .htm), or a Jackrabbit Class Roll saved as a PDF or exported to Excel (.xls or .xlsx).
An iClassPro roll sheet can't be a PDF — if you clicked PDF in iClassPro, run the report again and click HTML instead. iClassPro's Roll Sheets report doesn't offer a CSV or Excel export, so HTML is the one to use there.
A Jackrabbit PDF has to be the file Jackrabbit saves, not a scan or a photo of a printed roll. If a PDF can't be read reliably, nothing is imported and the message asks for the Excel export of the same report.
Last updated October 11, 2026
New to Gym TeamHub?
One organized hub for your whole gymnastics program — built by a coach.
Start Your Gym