A planning worksheet for season rosters. There is no roster CSV import in Racey today — this sheet exists to help you plan offline, then feed names and emails into the real workflows once you are ready.
If you came here expecting a CSV-driven roster import, the short answer is: it does not exist, by design. Drivers register themselves through the league sign-up flow, and admins handle bulk additions through the bulk-invite-by-email dialog. This worksheet plugs into both.
What the worksheet is
A six-column CSV you can open in Excel, Google Sheets, Numbers, or any text editor.
/templates/roster-worksheet.csv— empty header row./templates/roster-worksheet-sample.csv— header row plus ten plausible rows, including a multiclass field with a waitlist entry and an invite-pending row.
The columns are the ones admins typically need when planning a season:
| Column | Purpose |
|---|---|
Display Name | Name to appear in standings, results, and roster lists. Match what the driver will use on Racey. |
Email | Address to send the invite to. The only column that feeds directly into the real workflow (see below). |
Discord Username | For race-day comms and Discord-link verification. Stored on driver profiles, not used in the import. |
Car Number | Planning aid. Drivers pick their own number during registration; this is your provisional grid. |
Team | Planning aid. Teams are assigned in season settings, not from this sheet. |
Notes | Free-form notes — class assignment, payment status, returning vs. new, anything you need. Wrap in double quotes if the note contains a comma. |
The worksheet does not import into Racey. There is no upload field for it anywhere in the product. It is a spreadsheet that helps you organise — and one of its columns (Email) plugs into the real roster workflow described below.
How rosters actually get built
Rosters in Racey are populated through two paths, both real and both already in the product. Neither involves uploading a CSV.
Path 1 — Drivers register themselves
The default. Drivers find your league in the public directory or via a shared link, hit the season's registration page, and submit their request. You approve them in the league admin → roster surface.
This is the right path for public leagues, returning drivers from previous seasons, and anyone who can navigate a sign-up flow on their own.
Path 2 — Bulk-invite by email
For closed leagues, invite-only seasons, or pre-populating a roster from your own contact list, use the Bulk Invite Members dialog at League → Staff → Bulk Invite. It accepts one email address per line, applies a single role to all of them (Driver, Steward, Admin, etc.), and sends each address a Racey invite email with a 7-day expiry.
The dialog is a textarea, not a file picker. Paste the emails, pick the role, hit Send Invitations. The server creates pending invites, deduplicates against existing pending invites for the league, and reports back per-address sent / skipped / error counts.
Worksheet → bulk invite workflow
The worksheet's Email column is designed to copy-paste straight into the bulk-invite dialog. The pattern:
- Plan the season in the worksheet — add display names, mark notes, decide who is in vs. waitlisted.
- When you are ready to send invitations, open the worksheet and copy just the
Emailcolumn. In Google Sheets, click theBcolumn header, thenCmd/Ctrl+C. In Excel, the same. - Open League → Staff → Bulk Invite.
- Paste into the email textarea. Each address lands on its own line, which is exactly what the dialog wants.
- Pick the role (most worksheet rows will be
Driver). - Click Send Invitations.
The other worksheet columns — display name, car number, team, notes — are for your own planning and reference. They are not transmitted in the invite. Drivers fill in their own display name and car number when they accept the invite and complete registration.
Tips
- Use the Notes column for state you need to remember. "Pay confirmed", "waitlist — ping if dropouts", "rookie, send onboarding link" — anything that helps you when you come back to the sheet next week.
- Filter the sheet before copying emails. If you have a
Notescolumn entry likewaitlist, filter those rows out before copying the email column so you only invite the confirmed list. - Keep one worksheet per season. When the season ends, archive it. The next season's worksheet usually inherits 70% of the prior list with a few changes.
- Plan car numbers, but expect changes. Drivers can request a different number when they register. The worksheet's
Car Numbercolumn is your starting plan, not a binding assignment. - Don't put real personal data you don't need. This sheet usually lives in your Drive or Dropbox. Email + Discord username + display name are usually enough; phone numbers, real names, addresses are not.
Related
/templates/roster-worksheet.csv— empty template/templates/roster-worksheet-sample.csv— sample data- Driver Guide — what drivers see when they self-register
- League Admin Guide — section on roster approval and the bulk-invite dialog
- Results CSV Guide — sibling doc for the results import (which IS a CSV-driven workflow)