Skip to main content

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.

Video walkthrough

Watch how Bulk Upload works from start to finish.

Before you start

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.

  1. From your event, tap the gear icon to open the Host Menu.

  2. Tap Player Manager to open Players & Tee Sheet.

  3. On the PLAYERS tab, tap Add Players, then tap Bulk Upload.

  4. Tap Request Template. Golfify will send a CSV template to your email.

tip

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

ColumnRules
firstName (or first_name)Required. 2–35 characters.
lastName (or last_name)Required. 2–35 characters.
emailStrongly recommended. Can be left blank if you provide a uid instead.

Optional columns

ColumnWhat it does
uidInclude if the player already exists in Golfify. Auto-populated when you request the template.
handicapA number between −9.9 and 54.
nationalityISO-3 country code (e.g. AUS, USA, GBR). Displays national flags on the leaderboard.
groupingNumberTee grouping number (1-based).
playerNumberPlayer slot within the grouping (1–4).
teesTee index (1-based).
startingHoleStarting hole number (1-based). Useful for shotgun starts.
inviteAny non-empty value sends an invite rather than auto-adding the player. Leave blank to add immediately.
teamNicknameTeam name for team events. 2–50 characters.
Header formatting

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.:

ColumnExample
r1_groupingNumberGrouping for Round 1
r1_playerNumberPlayer slot for Round 1
r1_teesTee index for Round 1
r1_startingHoleStarting hole for Round 1
r1_teamNicknameTeam 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

  1. From the PLAYERS tab in Players & Tee Sheet, tap Add Players → Bulk Upload.

  2. Select your completed CSV file.

  3. Golfify auto-detects your file's delimiter (comma or semicolon) and processes each row.

  4. 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)
  5. 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,5 instead of 15.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, and startingHole must always be plain digits with no decimals or thousands separators.
warning

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

Columns shifted errors

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.

Players not appearing in a specific round

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.

Tee or starting hole not applied

Verify that values are whole numbers starting from 1. Don't mix dots and commas in the same number.

Upload rejected entirely

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.