How Do I...
Step-by-step answers for common admin tasks. Looking for what things mean instead? See the FAQs.
Getting started
How do I create a league?+
- From "My leagues & programs," click "Start a new league."
- Give it a name, sport, and public URL (slug) — this becomes your league's page at smallball.app/your-slug.
- You're set as the league's OWNER. From there you can add Seasons, Divisions, Teams, and (optionally) invite Programs to run under it.
How do I set up a program without joining an existing league?+
- Go to "My leagues & programs" and click "Set up a program."
- Choose "Start independently" instead of joining an existing league.
- Small Ball creates a hidden League behind the scenes just to host your Program, so your dashboard reads as one simple organization — you won't see multi-program admin screens cluttering things up.
If a league you're joining already exists and has an invite link, use that link instead — see "How do I accept an invite to run a program?" below.
How do I accept an invite to run a program?+
- Open the invite link a league admin sent you (looks like smallball.app/invite/...).
- Sign in, or create a free account if you don't have one yet.
- Confirm your program's name (and contact email, optional) and accept — you're now the OWNER of a brand-new Program under that league.
Programs
How do I add a program to my league?+
- Go to your league's Programs page.
- Either click "New program" and fill in a name (and optional contact email) yourself, or use the "Invite a program" card to generate a shareable link and let the program's own manager set it up.
Inviting is usually easier — the program manager picks their own name and becomes the OWNER automatically when they redeem the link, so you don't have to hand off admin access after the fact.
How do I choose which divisions my program runs?+
- Open your program's "Divisions & fees" page.
- Click "Add" next to any of the league's divisions your program wants to run.
- Set your program's own fee, capacity, and payment due date for that division — separate from what the league (or any other program) charges for the same age group.
Seasons & Divisions
How do I create a season?+
- From your league's "Seasons & Divisions" page, use the "New season" form at the bottom.
- Give it a name (e.g. "Spring 2027") and start/end dates, plus optional registration open/close windows.
- Add divisions to it once it's created (see the next question).
How do I add a division to a season?+
- Open the season from your league's Seasons & Divisions page.
- Use the "Add division" form to name it (e.g. "8U Coach Pitch") and choose how eligibility is determined: age range as of today, age range as of a specific cutoff date, or school grade.
- Set its fee, capacity, payment due date, and default game duration.
How do I set registration fees for a division?+
- On your league's Seasons & Divisions page, click "Edit" on the division and set the "Fee ($)" field.
- If any programs run that same division, each one sets its own fee separately on its own "Divisions & fees" page — a program's price doesn't have to match the league's.
Need to set the same fee across every division at once? Both the league's Seasons page and a program's Divisions & fees page have a bulk-set fees option for exactly that.
How do I turn on auto-assign teams for a division?+
- Click "Edit" on the division and check "Auto-assign teams."
- This only becomes available once the division has at least one team — new registrations then get spread across its teams automatically instead of sitting Unassigned until an admin picks a team by hand.
Teams
How do I create a team?+
- Go to your league's (or program's) Teams page and click "New team."
- Give it a name and division, and optionally a coach name/email, sponsor info, and home field(s).
How do I add a coach to a team?+
- Open the team and enter their address in the "Coach email (optional)" field, then save.
- If they already have a Small Ball account with that email, they're linked immediately and can sign in to manage the team. If not, it's remembered — they'll be linked automatically the moment they sign up with that same email.
- No email handy? Use "Generate invite link" under the team's "Coaches" section instead and send them that link — they'll be linked as soon as they open it and sign in.
Removing a coach's access is a separate, explicit step — click "Remove" next to their name in the team's Coaches list. Just clearing the "Coach email" field on the team itself does not revoke access.
How do I set a team's home field?+
- Open the team and use the home fields picker in the edit form.
- If the field you need isn't listed yet, add it from your league's (or program's) Fields page first — see "How do I add a field?" below.
How do I let parents and coaches see a team assignment?+
- Assigning (or reassigning) a player to a team doesn't notify anyone by itself — shuffle players between teams freely while you build rosters.
- Once you're ready, click "Finalize rosters" on your league's (or program's) Teams or Registrations page.
- Review the preview (and optionally add a note, e.g. practice times) and send — every affected parent and that team's coaches get an email, and the team shows up on their Dashboard, Schedule, and My Players pages.
Clicking "Finalize rosters" again later only announces whatever has changed since the last time — already-announced players aren't re-emailed.
How do I let a coach see a player's contact info and medical notes?+
- Coaches already see this automatically — no setup needed. Open a team's roster (either the team page or its "View roster" button) and tap any player to pop up their full contact card.
- The "View roster" button gives a clean, printable page of every player's name, number, emergency contact, and medical notes for that team.
Only a team's own coaches (and league/program admins) can see this — parents never see another family's player details.
How do I customize a team's public page?+
- Open the team (from the Teams page, or as its own coach from the coach dashboard) and find the "Public Team Page" section.
- Add an about blurb, a banner image URL, and up to a few links (e.g. a team group chat or fundraiser page).
- Share the public URL shown there — anyone can view it without signing in, though the roster itself stays hidden until rosters are finalized.
Sign-Up Sheets
How do I create a sign-up sheet?+
- Go to your league's (or program's) "Sign-Up Sheets" page and click "New sign-up sheet."
- Give it a title, description, and choose who can sign up: coaches only, parents only, or anyone with access.
- Add slots — "Build a weekly schedule" for a recurring pattern, "Add 1 slot" for a one-off, or "Upload a spreadsheet" to import a bunch at once — then "Publish" when it's ready.
Nothing is visible to coaches/parents, and no one can claim a slot, until you publish. You can keep editing slots freely beforehand.
How do I claim a sign-up sheet slot?+
- Go to the "Sign-Up Sheets" page — it lists every published sheet you're eligible for.
- Open one and click "Reserve this slot" on whichever slot works for you. Claiming it again later removes your reservation if you need to change your mind.
As an admin, you can also assign a slot directly to a specific coach from the sheet's own manage page, instead of waiting for them to claim it themselves.
How do I get claimed slots to show up on the team calendar automatically?+
- On the sign-up sheet's manage page, turn on "Add claimed slots to the coach's team calendar" (on by default for a new sheet).
- Set "Show those events as" to Practice or Other, depending on what the sheet is really for — this decides which Schedule tab the event lands under.
This only applies to claims made from that point on — flipping the setting later doesn't change slots that were already claimed.
Fields
How do I add a field?+
- Go to your league's (or program's) Fields page and click "+ Add field(s)."
- Enter a name and optional address for each field — add multiple rows at once with "+ Add another field" if you have several.
- Every team in that league or program can then pick from this same shared list, no matter which division it plays in.
Need every field to share one address (e.g. they're all at the same park)? Use "Set one address for all fields" instead of editing each one by hand.
Registration form
How do I customize my registration form?+
- Go to your league's (or program's) "Registration form" page and turn on the drag-and-drop builder toggle.
- Drag fields to reorder them, hide the ones you don't need (built-in fields like name/DOB/email can't be hidden), and use "Add question" to add your own — short answer, paragraph, dropdown, multiple choice, checkboxes, date, number, or a waiver-style agreement.
- Use "Show live preview" to see exactly what parents will see. Changes take effect immediately on your live registration link.
Turning the builder off (or clicking "Reset to default form") reverts to the standard player/guardian form — nothing is deleted, it's all still there if you turn it back on.
Payments
How do I accept online payments?+
- Go to your league's (or program's) Payment settings page — only the OWNER can do this step.
- Click "Connect Stripe" and complete Stripe's onboarding. If you started but didn't finish, the button changes to "Continue Stripe setup."
- Once connected, parents registering will see a "Pay online now" option alongside cash/check.
Each league and each program connects its own separate Stripe account — money goes straight to them, minus Stripe's processing fee and Small Ball's platform fee.
How do I record a cash or check payment?+
- When a parent chooses to pay in person, their registration is reserved as PENDING PAYMENT until you collect the money.
- On your league's (or program's) Payments page, find that registration and click "Mark as received" once you've collected the cash or check.
How do I refund a payment?+
- On the Registrations or Payments page, find the paid registration and click the refund action next to it.
- For an online (Stripe) payment this issues a real refund through Stripe. For a cash/check payment it just marks the record refunded — you still need to hand back the money yourself.
How do I pay for more than one of my own players at once?+
- Register (or have already registered) more than one player for the same league or program.
- On the "Payment Options" page for any of their still-unpaid registrations, a "Pay for everyone at once" card appears automatically, letting you pay the combined total in a single Stripe checkout.
This only ever bundles players you're an actual guardian of — never another family's child, even one you entered into the system yourself as an admin.
Messaging
How do I message all the parents on a team?+
- Go to "Messages" and pick that team's channel under the "Teams" group in the left column.
- Type your message and send — every parent with a player on that team (plus its coaches) receives it.
How do I message every coach or every parent across my whole program or league?+
- Go to "Messages" and pick the right channel: a program's parent/coach channels reach everyone in that program, and a league-wide channel (under "Admin" or "Programs") reaches across every program at once.
Guardians
How do I fix a guardian's wrong email?+
- As an admin: open your league's (or program's) Registrations page and click "Edit" under the guardian's name/email in that row.
- As a parent: go to "My players" and click "Edit" next to the guardian's name under "Parents / guardians."
- Save the corrected email — if it matches an existing Small Ball account, that guardian is linked to it right away.
How do I add a second parent/guardian to a player?+
- During registration, use "+ Add another parent/guardian" to enter a second parent's info alongside the primary one.
- Already registered? Go to "My players" and click "+ Add another parent" under that player's guardian list instead.
- Either way, if they already have a Small Ball account with that email they get access immediately; if not, they're linked automatically the moment they sign up with it.
Schedule
How do I see every upcoming game, practice, and event in one place?+
- Go to "Schedule" (in the bottom nav on phone, or the header on desktop) — it combines every upcoming game and team event across all of your players and teams, soonest first.
- Use the "Games," "Practices," and "Other" tabs to narrow the list down, and tap any row for its full details.
Your Account
How do I sign in with Apple or Google instead of a password?+
- On the sign-in or create-account page, use "Continue with Apple" or "Continue with Google" instead of filling in an email/password.
- This links to the same account as that email address — if you've already registered a player with that email, you'll see them right away.
How do I delete my account?+
- Go to "My Account" (in the header) and find the delete-account option.
- This permanently scrubs your login info — name, email, password — but leaves each league's own records (registrations, rosters, payment history) untouched, same as a league keeps its own data independent of your personal account.
Blocked if you're the sole Owner of a league or program — hand ownership to someone else first so it isn't orphaned.
Still have questions? Contact us at admin@beverlysports.com.