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

Anyone can sign up and start their own organization, or someone already running one can send you a link to join theirs. 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.

You stay signed in as long as you use Formation at least once every 30 days. Prefer less motion on screen? Turn on Reduce animations under Account → Accessibility.

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.

Need something that isn't a match or practice — a season kickoff, a community event? Define your own event types from Settings → Event Types, each with attendance/RSVP tracking on or off, and schedule them the same way. Already have a schedule somewhere else? "Import .ics" on this page uploads one or more calendar files, shows you every event it found so you can review and adjust before committing, then creates them all at once — for one team, several teams, or every team (each kept event is created once per team you pick, and the page states exactly which teams that is before you import).

Schedule event opens a menu to pick what you're scheduling — a match, scrim, practice, or one of your custom event types — and takes you to the right form.

A custom event can also be for specific people or roles instead of a team — say, a meeting just for everyone with the Head Captain role. Pick People & roles under "Who's it for?", choose roles and/or individual people, and set when reminders go out. Everyone invited gets a notification in Formation and, if they've linked Discord, a DM — nothing is posted in a team channel. Anyone given a targeted role later is included automatically.

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.

Only a name is required to add one — address, online URL, capacity, and contact details can all be filled in later.

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. Each strategy is a title, an optional map or category to group it under, and one free-form text box — write executes, comps, callouts, anti-strats, or VOD notes however your team thinks. A team's strategies also show on its upcoming matches and practices. 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.

An org admin can turn this off entirely from Settings → Organization if your org prefers to keep all coordination on Discord.

Anyone who can manage org settings also sees a pinned Formation Support conversation at the top of Messages — a direct line to us for questions, feedback, or anything not working. It stays available even if org chat is turned off, and you get a notification when we reply.

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.

A task can target a specific role, a specific team, or both at once (e.g. "coaches on this team only") — and you can exempt specific members or whole teams from a task that would otherwise apply to them.

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.

Assets

A shared library for your org's brand files — banners, merch designs, graphics, logos, and templates. Upload images, PDFs, Word or Excel documents, CSVs, text files or ZIPs (up to 50 MB), tag each with a category and optionally a team, and filter the grid by category. Access is controlled by the Manage brand assets permission, which Owners and Managers have by default.

Surveys from Formation

Occasionally we'll send your org a short survey. Only the org owner (anyone who can manage org settings) sees it: a prompt appears on the Dashboard, and the questions can be free text, a 1–5 star rating, a slider, or multiple choice. Each org answers once.

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.

Keyboard shortcuts

Press ? anywhere to pop open the full shortcuts panel. The short version: Ctrl/⌘ K for search, and a "go to" chord — tap G, then a letter — for one-key navigation:

  • G then D — Dashboard
  • G then R — Roster
  • G then T — Teams
  • G then S — 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 → Organization holds 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.

Each pending invite also has a "QR code" button next to its copy-link option, for signing up straight from a phone.

Audit log

A record of sensitive actions — role changes, member removals, permission edits, data resets — with who did what and when, including the IP address and browser it came from. Useful for a quick "wait, who changed that" a few weeks later. Visible from Settings → Audit Log to anyone with permission to view it, with a CSV export and a configurable retention period (forever, by default) alongside it.

Discord & calendar

Sign in with Discord: on your Account page, choose Connect with Discord — one click, no code. (The bot's /link command still works too, and anything already linked that way stays linked.) After that, the Continue with Discord button on the login page signs you in without a password. It only signs in accounts that already exist — it doesn't create new ones — and if you've turned on two-factor authentication you'll still enter your code.

Discord bot: connect it from Settings → Integrations — add the bot to your server, run /connect there, and paste the code it gives you. Everything Formation posts then goes through the bot. Players can run /available to add a weekly availability rule and /schedule to see what's coming up, and RSVP buttons on reminders update the same message live to show who's in and who's out.

Choosing what posts where: Settings → Integrations → Discord notifications lists every kind of post — event reminders, new events, team announcements, scrim finder, org-wide announcements, match & scrim results, and onboarding completions — each with its own on/off switch. Team posts go to each team's own channel; the org-wide ones get a channel and ping role of their own. Results can post wins only or every result, and with no results channel picked, each result goes to its team's channel. The Test button posts a sample so you can see exactly where it lands.

A team's channel and ping role: on a team's edit page, pick the channel for its posts, the Ping role mentioned on each one, and reminder lead times (as many as you want, e.g. a day before and an hour before). Roster role sync is separate: it gives players a Discord role when they join the roster and removes it when they leave — it never pings anyone. Players who've linked Discord also get their reminders by DM.

Webhook fallback: without the bot, a webhook (org-wide, or per team) still posts everything. With the bot connected, a webhook is only used if the bot can't post, and webhook posts can't have RSVP buttons.

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 → Integrations to let another tool — like ValRAI — 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.