Bulk Upload Players
When you have a large field to manage, adding players one by one isn't practical. Golfify's Bulk Upload lets you add an entire player list to your event or group from a single CSV spreadsheet — complete with handicaps, tee assignments, nationalities, and multi-round configurations.
Watch how Bulk Upload works from start to finish.
Make sure you've already created your event. If you haven't, follow the Quick Start Guide or Create Your First Event to get set up first.
Request the template
Before preparing your spreadsheet, request the latest template from inside your event or group. This ensures any players you've already added are included with their UID, preventing duplicates.
-
From your event, tap the gear icon to open the Host Menu.
-
Tap Player Manager to open Players & Tee Sheet.
-
On the PLAYERS tab, tap Add Players, then tap Bulk Upload.
-
Tap Request Template. Golfify will send a CSV template to your email.
Always request a fresh template before each upload. If you reuse an old template, you may accidentally create duplicate players who were added since the template was last generated.
You can also download a blank template from the Golfify website.
Fill in your spreadsheet
Open the template in any spreadsheet app (Excel, Google Sheets, Numbers). Each row represents one player. The template includes example rows — leave them in if you like, Golfify ignores them during import.
Required columns
| Column | Rules |
|---|---|
| firstName (or first_name) | Required. 2–35 characters. |
| lastName (or last_name) | Required. 2–35 characters. |
| Strongly recommended. Can be left blank if you provide a uid instead. |
Optional columns
| Column | What it does |
|---|---|
| uid | Include if the player already exists in Golfify. Auto-populated when you request the template. |
| handicap | A number between −9.9 and 54. |
| nationality | ISO-3 country code (e.g. AUS, USA, GBR). Displays national flags on the leaderboard. |
| groupingNumber | Tee grouping number (1-based). |
| playerNumber | Player slot within the grouping (1–4). |
| tees | Tee index (1-based). |
| startingHole | Starting hole number (1-based). Useful for shotgun starts. |
| invite | Any non-empty value sends an invite rather than auto-adding the player. Leave blank to add immediately. |
| teamNickname | Team name for team events. 2–50 characters. |
Both camelCase and snake_case headers are accepted — firstName and first_name work the same way.
Multi-round columns
For multi-round events, you can set different tee assignments and groupings for each round by prefixing columns with the round number.
Prefix any of the following with r1_, r2_, r3_, etc.:
| Column | Example |
|---|---|
| r1_groupingNumber | Grouping for Round 1 |
| r1_playerNumber | Player slot for Round 1 |
| r1_tees | Tee index for Round 1 |
| r1_startingHole | Starting hole for Round 1 |
| r1_teamNickname | Team name for Round 1 |
You can mix top-level columns with per-round overrides in the same row. Per-round values take priority where present — Golfify falls back to the top-level defaults for anything you don't override.
Upload your file
-
From the PLAYERS tab in Players & Tee Sheet, tap Add Players → Bulk Upload.
-
Select your completed CSV file.
-
Golfify auto-detects your file's delimiter (comma or semicolon) and processes each row.
-
After processing, you'll see a summary showing:
- How many players were added or invited
- Any tee sheet assignments applied
- Any rows that failed validation (with reasons)
-
Fix any flagged rows in your spreadsheet and re-upload if needed. Existing players won't be duplicated.
How it works
Once the upload completes, players appear on the PLAYERS tab in your event. Any grouping and tee assignments are applied to the TEE SHEET tab automatically.
Players added with an email address will have a Golfify account created for them if they don't already have one. If you set the invite column, existing active users receive an invitation to accept rather than being auto-added.
European CSV handling
If your spreadsheet software exports with semicolons instead of commas (common in many European countries), Golfify handles this automatically.
- Semicolon-delimited files: You can use decimal commas for handicaps (e.g.
15,5instead of15.5). Golfify converts them during import. - Comma-delimited files: All decimal values must use a dot (e.g.
15.5). Extra commas inside a value will shift columns and cause errors. - Other numbers:
groupingNumber,playerNumber,tees, andstartingHolemust always be plain digits with no decimals or thousands separators.
Don't mix delimiters within the same file. If your file uses semicolons between columns, use semicolons consistently throughout.
Validation rules
Golfify checks every row before importing. Rows that fail validation are skipped and listed so you can fix them.
- Names must be 2–35 characters each.
- Email must be a valid email address, or left blank if you provide a uid.
- Handicap must be between −9.9 and 54.
- playerNumber must be between 1 and 4.
- groupingNumber, tees, and startingHole must be whole numbers starting from 1.
- If more than 50% of rows are missing a first or last name, the entire file is rejected to prevent accidental imports.
Troubleshooting
This usually means your numeric values contain stray commas in a comma-delimited CSV. Check that handicaps use dots for decimals (e.g. 15.5, not 15,5) when your file uses commas as the column separator.
Make sure per-round columns use the correct prefix format — r1_groupingNumber, r2_tees, etc. Check that headers are spelled exactly as shown in the template.
Verify that values are whole numbers starting from 1. Don't mix dots and commas in the same number.
If more than half of your rows are missing a first or last name, Golfify blocks the import. This usually means the file format shifted — check your delimiter and re-export.
Frequently Asked Questions
Can I mix top-level and per-round columns?
Yes. Per-round values override the top-level defaults for that specific round. Anything you don't override at the round level uses the top-level value.
Do I need an email for every player?
It's strongly recommended, but not strictly required. If you don't have an email, you can leave it blank — the player will be added without an account email. They won't receive notifications until an email is added later.
Can I leave the template example rows in my file?
Yes. Rows that match template placeholders (like uid=internal/example) are automatically ignored during import.
What happens if I upload the same file twice?
Players with matching UIDs won't be duplicated. This is why requesting a fresh template before each upload is recommended — it includes UIDs for players already in the event.
Related Articles
- Getting Players into Your Event — other ways to add players
- Creating Multi-Round Events — set up events with per-round configurations
- National Flags — use the nationality column to display flags on leaderboards