League Setup Wizard
2026-05-11
League Setup Wizard
The league setup wizard creates a new league with sensible defaults you can customize at every step. This walkthrough takes you from "Create league" to a running league with seeded teams — and you can change every value later from League Settings.
What you'll set up
A new league in FanPoolHQ is a League row plus a LeagueSettings row plus a handful of seeded Team rows. The wizard walks you through naming the league, picking the visibility, dialing in the roster rules and scoring, deciding on the trade workflow, and seeding the teams that will exist on day one. Defaults are picked to mirror a standard dynasty-style fantasy hockey league (cap, position limits, trade approval required), but every field is editable later from League Settings — nothing the wizard sets is permanent.
The whole flow takes a few minutes. Expect to revisit the settings page a couple of times in the first week as you and your GMs negotiate the final shape of the league; the wizard's job is to get you from zero to a runnable league fast, not to lock you into a specific config.
Walking through the wizard
Sign in as the commissioner. From your dashboard, click Create league. The wizard opens on the first screen — the league name and URL slug.
Set the league name and slug. The league name is the human display (e.g. "FanPoolHQ Founders League"). The slug is the URL identifier — it must be unique across FanPoolHQ and is used in /public/{slug} for the public standings page. Choose public if you want anyone to browse the league's standings and team pages, or invitation-only if you want it locked to invited members. You can flip this later.
Configure roster rules. Salary cap (default 95.5M USD, fully editable), max forwards / defense / goalies (defaults 12 / 6 / 2 to mirror an NHL game-day lineup), and the monthly roster change limit (default 5). Every roster rule is enforced server-side at transaction time and can be tightened, loosened, or disabled later via the feature toggles on League Settings.
Configure scoring. Pick a scoring format (roto for accumulating-totals or h2h for weekly matchups), then set per-position scoring rules (goals, assists, plus-minus, PIM, power-play points, shots, etc. for skaters; wins, losses, GAA, shutouts, etc. for goalies). The defaults are league-standard category weights; you can leave them or tune them now. The scoring rules are stored on ScoringConfig and re-read every time the points engine runs.
Set the trade rules. Whether trades require commissioner approval before executing (tradeApprovalRequired, default on), the trade approval threshold (number of assets that triggers an approval), and the trade deadline date (tradeDeadline, optional — leave blank to keep trading open all season). See Trade Approval Workflow for what the approval queue looks like in practice.
Configure the draft. Pick the default draft type (snake / linear / lottery / auction), the number of rounds, and — for auction drafts — the team budget and minimum bid. The wizard creates the draft as scheduled but not started; you'll open it from the Drafts admin page when you and your GMs are ready.
Add seed teams. Either create empty team slots and invite GMs to fill them by email, or import a list of team names from the previous season if you're migrating an existing league. Each new team gets a Team row, and once a GM accepts their invite, their UserTeam row is created and they can start managing the roster.
Click Create league. The wizard writes the League, LeagueSettings, ScoringConfig, draft, and team rows in a single transaction. You land on the new league's commissioner dashboard with everything wired up — GMs have invites in their inbox, the league appears in the public list if you set it public, and you can start configuring the rest from League Settings.
After the wizard
Once the league is created, your next steps are usually:
- Invite GMs — see Managing Team Owners for the invitation flow and the GM Finder integration if you have open team slots
- Open the draft — when your GMs are ready, open the draft from
/admin/drafts; see the sibling articles on each draft type (snake, auction) - Set the trade deadline — if you didn't pick one during setup, do it before the season starts so GMs know the window
- Configure scheduled drops (optional) — if your league uses scheduled-drop compliance checkpoints, set them up from the scheduled-drops tab in League Settings
Everything else can stay on defaults until your league develops opinions. The wizard is intentionally light-touch on advanced settings so first-time commissioners don't get buried; the depth lives on the League Settings page when you need it.