Skip to main content
Documentation

Managing Events

Day-to-day operations for running your competitions.

Competition Dashboard

Your manage area at /o/your-slug/competition-slug/manage/ gives you access to:

  • Dashboard — setup checklist and competition status at a glance
  • Stages — create, configure, activate, and finalize stages
  • Participants — registration management, seeding, status changes
  • Groups — manage group assignments and generate pairings (for group formats)
  • Rounds — generate, review, and release rounds (for Swiss formats)
  • Matches — view all matches, enter results, manage disputes
  • Game Config — entity pools and draft rules (if your game supports them)
  • Settings — competition settings, registration config, admin tools

Managing Participants

Registration Flow

When registration is enabled, players sign up through the competition's public page. Depending on your settings:

  • Open registration — players are immediately added as participants
  • Approval required — registrations land in a "Pending" queue for you to review

Approving Registrations

If you've enabled approval:

  1. Go to the Participants tab
  2. Review pending registrations (including answers to any custom questions)
  3. Click Approve or Reject for each

Adding Participants Manually

For walk-ins or late entries:

  1. Click Add Participant on the Participants tab
  2. Search for their user account
  3. They're added directly — no registration form required

Participant Status

| Status | Meaning | | -------------- | ----------------------------------------------------- | | Registered | Signed up, not yet confirmed | | Pending | Awaiting organizer approval | | Active | Confirmed and playing | | Waitlist | Competition is full, queued for a spot | | Eliminated | Knocked out of an elimination stage | | Advanced | Moved to the next stage | | Withdrawn | Player left, or you approved their withdrawal request | | Dropped | Removed by organizer |

Dropping Players

When you need to remove someone mid-event:

  1. Find them on the Participants tab
  2. Open the three-dot menu and choose Drop Participant
  3. They won't receive future pairings, and they're left out of any new pairings you generate

Dropped and withdrawn players show as a read-only badge in the Status column. The Confirmed / Waitlist toggle there is for active registrations only — use the row menu to drop someone, and the undo arrow next to the badge to reinstate them to Pending.

What happens to their standings:

  • A player who hasn't completed any matches disappears from the standings entirely — they never show up on a leaderboard for a stage they didn't play.
  • A player who has completed matches stays visible so their opponents' results still add up, but they sink to the bottom of the standings, lose their rank number, and get a Withdrew badge. Their existing results are preserved.

Withdrawal Requests

Players can't remove themselves from a competition that's already underway — they have to ask you, and you decide.

  • Before the competition starts (and for waitlisted or still-pending sign-ups at any time), a player's Withdraw takes effect immediately. Their status flips to Withdrawn and nothing lands on your desk.
  • Once the competition is Active, a confirmed player's button becomes Request withdrawal. Filing a request changes nothing — they stay entered, stay in the standings, and stay pairable until you resolve it. They can attach an optional reason.

When a request comes in you're notified, and the player's row on the Participants tab gets a Withdrawal requested badge. Their three-dot menu grows two entries:

  • Approve withdrawal — the player's status becomes Withdrawn (see the standings rules above) and they're notified. If they were in matches that hadn't finished, the confirmation offers a Resolve shortcut to those matches so you can forfeit, cancel, or reassign them deliberately.
  • Decline request — the player stays entered and is notified that you declined. The request is cleared.

A player can cancel their own request while it's still pending, and swapping in a replacement (see Swapping Participants below) resolves the request as part of the swap. Approving a withdrawal never promotes anyone from the waitlist automatically — that stays your call.

Players see this from their side in Leaving a Competition.

The Waitlist

When a competition is full, new sign-ups land in the Waitlist status instead of joining play. Promotion is always your call — withdrawing or dropping a player does not automatically pull someone off the waitlist. When a player withdraws you'll get a notification that tells you how many players are currently waitlisted, so you can decide whether to promote a replacement from the Participants tab.

Exporting Participants

Use the Export CSV button on the Participants tab to download the full list as a spreadsheet — handy for seeding groups or building pairings by hand. Each row includes the participant's status, seed, group, country, and timezone, plus:

  • Ratings and places — platform, organizer, and per-season ratings with the player's rank in each, so you can seed by strength at a glance.
  • Registration answers — any custom survey questions appear as their own columns.

Column groups that don't apply are left out entirely (no game system → no platform rating; no linked season → no season columns). New or provisional players show their rating but no rank, so a freshly-created 1500 isn't mistaken for a seasoned mid-tier player. The export always includes every non-child participant regardless of status, including waitlisted and withdrawn players.

Exporting Standings

Each stage has an Export CSV button on its detail page that downloads the full leaderboard as a spreadsheet — every player's rank, record, points, and all tiebreakers (Buchholz, Sonneborn-Berger, and the rest), not just the tiebreakers you've configured for display. Groups appear as a column (N/A when the stage has no groups), so one file covers the whole stage. Elimination brackets export final placements plus each player's win/loss record instead of a points board. For Ladder competitions, the Export Standings button lives on the manage Dashboard and downloads the whole ladder (tier, stars, win streak, and last-five record).

Swapping Participants

Sometimes you need to replace one participant with another mid-competition — a last-minute substitute, a registration error, or a player who can no longer attend. Swap handles this in a single operation instead of requiring you to drop one player, manually re-add another, fix seeding, and reassign matches.

When to use swap vs drop + re-add:

  • Use Swap when the replacement should inherit the original player's schedule, bracket position, or group assignment. This keeps the competition structure intact.
  • Use Drop + manual re-add only if you want the new player to start fresh with no inherited context (e.g., adding them to a waitlist or a future stage).

How to Swap

  1. Open the Participants tab and find the player being replaced
  2. Click the three-dot menu and select Swap Participant
  3. Step 1 — Search: Find the replacement player by name or username
  4. Step 2 — Match Handling: Choose how existing matches should be treated:
    • Clean Slate — All of the outgoing player's matches are cancelled. Standings are recalculated as if those matches never happened. Best when the replacement arrives early and can play a full schedule.
    • Forfeit Transfer — Completed matches are recorded as forfeits (losses for the outgoing player), and the replacement inherits any remaining unplayed matches. Best when the competition is partially underway and you want to preserve existing results.
  5. Step 3 — Confirm: Review the summary and confirm the swap

The swap takes effect immediately. Standings, brackets, and match assignments update automatically.

Limitations

  • Party/team entities cannot be swapped in the current version. To replace a team, drop the team and manually add the new one.
  • The replacement player must have an account on the platform (they cannot be added as an unregistered placeholder).

Running Stages

Activating a Stage

When you're ready to start a stage:

  1. Go to Stages in the manage area
  2. Click Activate on the stage — it transitions from Pending to Active
  3. Participants can now be paired and play matches

Generating Matches

How pairings get created depends on the format:

  • Swiss — go to the Rounds tab. Generating a round produces a pairing proposal you review before anyone sees it (see below). How the pairings themselves are computed is covered in Swiss Rounds.
  • Round Robin (with groups) — go to the Groups tab and click Generate All Matches. The full schedule is created in one go; matches appear in the Matches tab immediately.
  • Open — participants create their own matches. No organizer pairing needed.

Reviewing Swiss Pairings Before Players See Them

Swiss rounds don't go straight to your players. Clicking Generate Round N on the Rounds tab computes the pairings from the current standings and drops you into a review screen — a draft that is explicitly not visible to players until you release it. If you navigate away, the Rounds tab keeps a banner and a Resume review button so a half-reviewed round can't get lost.

What the review screen shows

  • Every match, numbered, one row per pairing, grouped by group when the stage uses them.
  • A Bye row per group, and an Unassigned tray for anyone not currently paired.
  • A plain-language list at the top of anything worth a second look, each naming the players involved and offering a Go to match jump link when it points at a specific pairing. The matches themselves are highlighted to match:
    • Rematch — these two have already played each other.
    • Cross-group pairing — the two players are in different groups.
    • Unassigned players — someone is still sitting in the Unassigned tray.
    • Bye in an even pool — you've given a bye, but the remaining players pair up evenly.
    • Blocking problems (the same player in two places, a match with only one player, a player who isn't eligible for this round) are called out separately and must be fixed.
  • Why these pairings — an expandable explanation of how the engine landed on this arrangement.

Making changes

Editing is click-to-place, so it works with a mouse, a touch screen, or the keyboard alone:

  1. Click a player to pick them up (they highlight).
  2. Click a slot to move them there — if the slot is taken, the two players swap.
  3. Click the Bye slot to give them the bye, or Move here in the Unassigned tray to set them aside.
  4. To pair two players who are both unassigned, click one and then the other.

Each match's menu adds Swap sides (who's listed first), Unpair (to unassigned), and Delete match. Changes save themselves as you go — the header shows Saving… and then All changes saved.

Finishing up

| Action | What it does | | ----------------- | ------------------------------------------------------------------------------- | | Release round | Creates the round and all its matches and makes the pairings visible to players | | Regenerate | Throws away your edits and recomputes the round from scratch | | Discard | Throws the whole proposal away — you can generate a fresh round afterwards |

Release round stays disabled until every blocking problem is fixed and your last edit has saved. Warnings don't block you: the confirmation dialog lists the ones you're accepting (that deliberate rematch, that cross-group pairing) so releasing with them is a decision rather than an accident.

If a player withdrew or was dropped after the pairings were computed, release is refused and names the players involved — regenerate the round to pair the current field.

Once released, players see their matches and the round can be opened for play. A released round can still be reverted from the round page as long as no results have been entered yet.

Finalizing a Stage

When all matches are complete:

  1. Go to Stages and click Finalize
  2. The stage status changes to Completed
  3. Final standings are locked
  4. If advancement is configured, top participants are moved to the next stage
  5. Final placements are recorded — finishing positions (1st, 2nd, tied 3rd, …) are derived from the completed stage (bracket results for elimination formats, final standings for Swiss/round-robin/league/ladder). These power the competition podium and placement-based season scoring. Double-elimination and GSL placements aren't recorded automatically yet.

Match Management

Viewing Matches

The Matches tab shows all matches in the competition as a sortable, filterable table with:

  • Participants (Player A vs Player B) with the winner highlighted on completed matches
  • Stage, group, and round the match belongs to
  • Format (BO1, BO3, BO5, BO7, Two-Game)
  • Status (New, Scheduled, Drafting, In Progress, Pending, Correction, Completed)
  • Result (game wins for each side)
  • When — shows the completion timestamp for completed matches, the scheduled start time otherwise

Filtering and search:

  • Search box matches against participant names, the match title, and the stage, group, or round name.
  • Stage / Group / Round / Status / Format dropdowns narrow the table. Selecting a stage also narrows the group and round options to that stage.
  • Preset buttons give you one-click views for common workflows:
    • Unscheduled — matches with no start time that haven't been completed.
    • Passed incomplete — matches whose scheduled start time is in the past but whose status is still New, Scheduled, Drafting, In Progress, or Pending. Use this to find games that need organizer attention.
  • Clear resets all active filters and the search.

Sort a column by clicking its header. The default sort is "When" descending, so the most recent activity is at the top and unscheduled matches sink to the bottom.

The row action menu (…) provides Match Settings, Nudge players directly, Nudge in Discord thread, Reset Match, Delete Match, and — for completed matches — Post Discord Notification and Reopen Match. The header also has a Nudge players button for bulk reminders. See Notifications & Nudges for how nudges, notification settings, and private Discord threads work.

Match Settings

The Match Settings entry in the row action menu opens a dialog for editing an individual match's attributes:

  • Format (BO1 / BO3 / BO5 / BO7 / Two-Game) — editable only before the match starts. Once games have been played or the match is in progress, format is locked.
  • Match name — editable at any status. Leave the field blank to keep the current name unchanged.
  • Scheduled time — editable at any status. Adding a time on a New match auto-promotes it to Scheduled; clearing the time on a Scheduled match returns it to New.
  • Stage and Round — visible but locked once assigned. The selectors are only editable on orphan matches (created without a stage/round) for repair. Moving an existing match to a different stage or round is intentionally not supported, since standings and bracket caches key off the assigned values.

Participant slots are managed separately from this dialog — use the bracket controls or Swap Participants for slot changes.

Player-initiated deletions (friendly competitions)

Friendly-competition players can delete their own matches without organizer involvement. The flow uses mutual approval: a request goes to the opponent, who has 7 days to approve or reject. A reporter whose match auto-completed (verification window expired without opponent action) can hard-delete within 1 hour with no approval (audit-logged + opponent notified). Reporter-undo is not available on opponent-verified results — those route through the request flow so the opponent has to confirm again. DISPUTED matches stay locked to organizer-only deletion. As an organizer you can intervene at any time — your Delete Match action bypasses the request flow. See Match deletion (player docs) for the full state machine players see.

Entering Results

As an organizer, you can enter or override results directly:

  1. Click on a match to open its details
  2. Enter the game wins for each participant
  3. Save — the result is recorded immediately (no player confirmation needed when entered by organizer)

Match Verification

If match verification is set to Required:

  • When a player reports a result, their opponent must confirm it
  • If there's a disagreement, the match is flagged for organizer review
  • Organizers can always override and enter the correct result

If set to None, results are accepted immediately on submission.

Forfeits and Byes

Sometimes a match cannot be played normally. From the Match Setup phase, click Record Forfeit/Bye to end a match immediately.

Forfeit Types:

  • Full Forfeit — Select a winner. The winner receives the stage's Forfeit Win points, the loser receives Forfeit Loss. Use this when one player cannot or will not play.
  • Split Forfeit (Draw) — No winner is declared. Both players receive the stage's Forfeit Draw points. Use this when neither player can play.

Forfeit point values are configured separately from regular Win/Draw/Loss in your stage's scoring config. Forfeit matches are excluded from strength-of-schedule tiebreakers (Buchholz, SB, Koya) per the USCF unplayed-round rule. If you'd rather rank players by wins from actual play, add the Matches Played & Won or Games Won tiebreakers — both exclude forfeits.

Forfeits and byes are also excluded from platform Glicko-2 ratings and fighter matchup statistics — recording a forfeit affects standings points only, never anyone's skill rating. Players in rated competitions can't gain or lose rating from a walkover.

Byes:

Toggle "Bye" when a player has no opponent (e.g., odd number of participants in a round). Select the advancing player as the winner. Byes are tracked separately from forfeits for scoring purposes.

All organizer-entered forfeits and byes take effect immediately — no player verification is needed.

Player Self-Forfeit:

Players can also forfeit their own matches from the match page. The win is automatically assigned to their opponent, and the opponent is asked to verify the result (following the same verification flow as normal match reporting).

Resolution Queue

When a round's deadline passes and some matches are still incomplete, those matches can pile up unnoticed. The Resolution Queue surfaces them in one place so you can deal with them deliberately — it never changes a match on its own.

Turn it on: go to Settings → Deadline Resolution and enable Surface overdue matches. Set a grace period (0–168 hours) — how long after a round's deadline to wait before a match is added to the queue (default 24 hours). Detection is off by default.

Work the queue: open the Resolution Queue tab in the manage sidebar. Each incomplete-past-deadline match appears with the players, its round, and a short reason it was flagged (e.g. one side never engaged, neither side engaged, or an elimination match that always needs a human decision). For each entry you choose one of the verbs you already use:

  • Forfeit [player] — that player takes a forfeit loss; the other is awarded the win.
  • Double forfeit — both players take a forfeit loss, no winner.
  • Cancel match — void the match so it doesn't count.
  • Reopen — push a completed match back for re-submission.
  • Nudge players — send a reminder; the entry stays in the queue. (See Notifications & Nudges for direct vs. Discord-thread delivery and the 12-hour rate limit.)
  • Dismiss — clear the entry without changing the match.

Resolving an entry runs exactly the same path as doing it by hand from the match — standings recompute and notifications fire identically. Nothing here is automatic: the queue is a to-do list, and you decide every outcome.

Match Formats

Matches can be configured as:

  • BO1 — single game decides the match
  • BO3 — first to 2 game wins
  • BO5 — first to 3 game wins
  • BO7 — first to 4 game wins
  • Two-Game — both players play twice

Format can be changed via Match Settings before the match starts. Once games are played, format is locked.

Posting Updates

Keep participants informed with rich markdown updates directly from the competition page.

Creating an Update

  1. Go to the Updates tab on your competition's public page
  2. Click Post Update (visible to organizers and admins only)
  3. Add an optional title and write your content using the markdown editor
  4. Choose visibility: Public (everyone) or Participants only
  5. Optionally pin important updates to keep them at the top
  6. Select which notification channels to use (in-app, push, email, Discord DM, Discord channel)
  7. Click Post Update

Markdown Editor

The editor supports:

  • Bold, italic, ~~strikethrough~~ via toolbar or keyboard shortcuts (Cmd+B, Cmd+I)
  • Links via Cmd+K
  • Images via URL (click the image button, paste a URL)
  • Lists, headings, blockquotes, horizontal rules
  • Live preview on desktop (side-by-side), toggle on mobile

Notification Channels

When posting, you choose which channels to notify participants through:

| Channel | What happens | | ------------------- | ----------------------------------------- | | In-app | Notification appears in the bell icon | | Push | Browser/PWA push notification | | Email | Email with preview and "View Update" link | | Discord DM | Direct message with link | | Discord channel | Embed posted to subscribed channels |

Select no channels to post silently (useful for minor edits).

Editing & Deleting

  • Click the three-dot menu on any update to Edit or Delete
  • Edits show an "(edited)" indicator but do not re-notify participants
  • Deleted updates cannot be recovered; notifications already sent are not recalled

Pinning

Pin important updates (schedule changes, rulings) to keep them visible at the top of the feed and in the overview preview card.

Groups

For formats that use groups (Round Robin, Swiss with pools):

  • View all groups and their participants
  • See group standings with match points, game wins, and tiebreaker results
  • Generate matches for all groups at once — Round Robin only; grouped Swiss is paired round by round from the Rounds tab
  • Track match completion per group

Seeding within a group

Each participant in a group carries a seed — their position within that group, used when a later stage builds a bracket from group results. Drag players up or down in a group to reorder them; the seeds renumber themselves 1, 2, 3, … to match the new order. An em-dash (—) in the seed column means a player has no seed set yet. Competitions created before seeding was tracked per group may show gaps or repeated numbers; reorder the group once to renumber everyone cleanly.

Standings & Stats

Standings are automatically calculated based on:

  • Match results and configured point values
  • Tiebreaker priority (configurable per stage)
  • Head-to-head results

Use the Stats Refresh button in competition settings to manually recalculate standings if needed.

Open Stage Management

For competitions using the Open format:

  • Participants create matches against any other active participant
  • You configure the rules: default format, format choice, max matches per pair
  • Standings update automatically as results come in
  • Optionally show/hide the public leaderboard

See Stages & Formats for Open stage configuration details.

Admin Tools

In Settings, you'll find admin tools:

  • Refresh Stats — manually recalculate all standings and statistics
  • Delete Competition — permanently remove the competition (blocked if matches exist)