User Guide
Everything your organization needs to run day-to-day in Formation, grouped the same way as the sidebar. Search this page with Ctrl/⌘ F or jump straight to a topic.
Welcome
Formation is invite-only: someone already running an org sends you a link, or you request access to start a new one. Accepting an invite email adds you as a member of that organization; once you're signed in, the org switcher in the header (or All organizations) moves you between every org you belong to.
New members land on a short onboarding checklist before the rest of the app unlocks — see Onboarding below.
Roles & permissions
Roles are fully custom per organization — there's no fixed "admin/member" split. Whoever creates the org gets a built-in Owner role with every permission; from there, Settings → Roles lets you create additional roles, pick a name and color, and check off exactly which permissions each one grants (managing the roster, publishing announcements, viewing analytics, and so on).
A member can hold more than one role, and what they see in the sidebar is just whichever pages their combined permissions unlock.
Roster
The org-wide list of every member, independent of which team(s) they're on. Each player has a profile page with their in-game name, position, self-reported rank, bio, tracker links, and a history of bench/disciplinary notes for coaches to reference.
Add someone to the roster by inviting them (see Members & invites) — a roster entry is created automatically once they accept.
Teams & ranks
A team is a game-specific squad pulled from the roster — you'll typically have one per title you compete in (a Valorant team, a League team, etc.). Add roster members to a team's lineup from the team page.
Every player can self-report a rank tier for their game (e.g. "Diamond 2"). A team's page automatically averages its lineup's ranks into one number — no manual math — which is also what gets shown to other orgs when you post a Scrim Finder listing.
Schedule
One calendar for both matches (official games) and practice sessions(scrims, VOD review, whatever your team calls its blocked practice time), filterable by team. Creating either one notifies the players involved and, if a venue is attached, checks it against everything else already booked there — a banner warns you before you double-book a LAN house or server slot, though it won't stop you from doing it anyway if that's intentional.
Every player can subscribe to their own teams' schedule as a live calendar feed (Google Calendar, Apple Calendar, Outlook) from the "Subscribe" button on this page.
Availability
Each player sets a recurring weekly availability pattern plus one-off exceptions (an exam week, a vacation) from My availability. Coaches use this when picking match/practice times so a scheduling conflict is visible before it's sent, not after someone declines.
Venues
The list of physical or virtual locations your org schedules against — a gaming house, a LAN venue, a dedicated server/lobby. Attaching a venue to a match or practice is what powers the double-booking warning on the Schedule page.
Scrim Finder
A matchmaking board for scheduling scrims against other Formation orgs. Post a listing for one of your teams (game, region, proposed time) and it's visible to every other org looking for the same game and region; or browse Open scrim listings and request one yourself.
Only teams that play a listing's game can request it, and your team's average rank (see Teams & ranks) travels with the request automatically. Once a request is accepted, it's added to both orgs' schedules as a practice session — no separate step needed. Track everything you've posted or requested, at any status, from the "Your listings" and "Requests sent" tabs.
Strategies
A shared playbook per team — write up executes, defaults, and set pieces as strategy entries your whole roster can reference before a scrim or match. Duplicate an existing strategy as a starting point for a variant instead of writing one from scratch.
Recruitment
A tryout pipeline for tracking prospective players through Scouting → Contacted → Tryout → Offer, ending in Signed or Passed. Moving a prospect's stage is logged and, if enabled, notifies whoever's watching the pipeline.
Analytics
Team-level performance at a glance: win rate from decided matches, and attendance broken down by team across practices and scrims. Numbers fill in as results get recorded and attendance gets marked — an empty chart just means there's no history yet, not a bug.
Announcements
Org-wide posts — roster news, schedule changes, anything everyone should see. Publishing one notifies every member and, if your org (or a specific team) has a Discord webhook configured (see Discord & calendar), posts it there too. You can schedule an announcement for later, edit a published one, or duplicate an old one as a starting point for a new post.
Messages
Direct, one-to-one messages between two members of the same org — for the kind of quick conversation that doesn't belong in an org-wide announcement or Discord. Start one from the Messages page or a player's roster profile.
Notifications
The bell icon in the header collects everything that happens to you — a new match, an accepted scrim, a message, an announcement — and links straight to it. Not every alert is useful to every person: mute individual notification types (per player, not org-wide) from Account → Notification preferences.
Onboarding
A checklist new members complete before the rest of the org unlocks for them — things like filling out their profile or reviewing team rules. Org admins define what's on that checklist from Settings → Onboarding tasks; everyone's progress against it is visible from the Onboarding page.
Gear
An inventory of equipment your org owns — peripherals, jerseys, hardware — each with a status (Available, Assigned, Maintenance, Lost, Retired) and, when handed out, the player or team it's assigned to. Export the full inventory as a CSV from the page toolbar.
Expenses
A running ledger of org spend — categorized, optionally attributed to a specific team, with who logged it and when. Export it as a CSV the same way as Gear, for whoever handles the org's books outside Formation.
Search
Press Ctrl/⌘ K anywhere in the app to open search — it covers players, teams, matches, practice sessions, scrim listings, and announcements across your current org, all from one box.
Keyboard shortcuts
Press ? anywhere to pop open the full shortcuts panel. The short version: Ctrl/⌘ Kfor search, and a "go to" chord — tap G, then a letter — for one-key navigation:
GthenD— DashboardGthenR— RosterGthenT— TeamsGthenS— Schedule
Both are disabled while you're typing in a text field, so they never interfere with actually writing something. The user menu also has Take a tour (a guided walkthrough of the app shell) and What's new(the release changelog) if you'd rather explore that way.
Organization profile
Settings → Organizationholds the org's name, logo, timezone (the default for everything scheduling-related), website, and brand color, plus a one-click JSON export of your whole org's data and, if you have the permission, a "reset" to wipe the roster, schedule, and pipeline clean for a new season — export a backup first if you want to keep one.
Roles
Covered above in Roles & permissions — manage the actual role list, colors, and permission checkboxes from Settings → Roles.
Members & invites
Invite people from Settings → Members— paste a single email or a whole batch (one per line or comma-separated) to invite several people at once in the same role. From the same page you can change anyone's role, remove a member, or revoke a pending invite before it's accepted.
Audit log
A record of sensitive actions — role changes, member removals, permission edits, data resets — with who did what and when. Useful for a quick "wait, who changed that" a few weeks later. Visible from Settings → Audit Log to anyone with permission to view it.
Discord & calendar
Discord webhook: set one org-wide from Settings → Integrationsto post announcements and match results into a channel; any team can override it with its own webhook from that team's edit page for a dedicated channel and match/practice/scrim reminders.
Discord bot: beyond webhook pings, connecting the bot to your server lets players run /available right from Discord to add a weekly availability rule without opening Formation at all.
Calendar sync: every player can subscribe to their own teams' schedule as a live feed from the "Subscribe" button on the Schedule page — no setup needed here. An org-wide feed covering every team at once is also available there, gated by the API key below.
API access
Generate a read-only API key from Settings → Integrationsto let another tool — like Atlas — read this org's teams and rosters (in-game names included) instead of keeping a separate, second copy of that data. Send it as a bearer token on every request:
Authorization: Bearer <api key>
GET /api/v1/organization
Basic org info — id, name, slug, timezone.
GET /api/v1/teams
Every team — id, name, game, slug, roster size.
GET /api/v1/teams/:teamId/roster
A team's roster, including each player's in-game name.
curl -H "Authorization: Bearer <api key>" \ https://your-formation-app.example/api/v1/teams
Still stuck?
Get in touch and we'll help you sort it out.