Events¶
Events are what you schedule staff for — a party, a grand opening, a recurring weekly night. Each event has one or more Positions attached, each with its own shifts (a time range and a capacity), and staff can sign themselves up. Event Templates let you save a recurring event's whole shape — positions, shifts, and all — and reuse it without rebuilding it from scratch every time.
Quick Start¶
- Run /admin menu → → → , then choose . Set its name, description, and start/end time from the detail screen that opens.
- From that same screen, a Position to the event, then open it and a shift (start/end time and capacity).
- Click and pick a channel — this posts a live-updating announcement staff can sign up from.
Screenshot needed
Creating an event, attaching a position with a shift, and posting it.
- Open Events → + New Event, fill in name/description/start/end/image, and create it.
- On the event's page, attach a position and add a shift (start, end, capacity) inline.
- Add signups directly by searching for a member — no posting step; the Dashboard shows everything on one page.
Screenshot needed
The new-event form and the event detail page with shifts.
Full reference¶
Event basics¶
lists every event with its start time, plus / / . Add asks Blank Event or From Template first (see Event Templates below).
An event's detail screen shows Name, Description, Start Time, End Time, and Image (a URL — Discord doesn't render it visually yet, only the Dashboard does), each with its own Edit. Below that: its Positions (with shift counts) and Elements (see below), each with their own Add/Modify/Remove row, and / .
Events lists every upcoming event with a fill-status chip (how many shifts are staffed) and its position tags, sorted by start time. + New Event takes name, description, start/end, and an image URL — there's no "from template" option on the Dashboard.
An event's own page shows its image (rendered, unlike the Discord side), description, and every attached position with its shifts — editing name/description/time isn't available from this page, only positions/shifts/signups.
Positions & shifts¶
Attaching a position to an event only offers positions from your catalog that aren't already attached. Each attached position has its own shift list — creates a 1-hour, capacity-1 shift starting at the event's start time, ready to adjust. A shift's detail screen shows Start Time, End Time, and Capacity, plus who's Signed Up, with and for admin-side changes.
Removing a position from an event deletes its shifts and signups too — you're warned before confirming.
Positions and shifts are managed inline on the event's own page: attach a position from a dropdown, then add a shift by typing start/end (your browser's local time) and capacity directly under that position. Signups show as small avatar circles per shift — dashed circles are open slots, and one turns into a red ! if the shift starts within 7 days and is still unstaffed. Add a signup by searching for a member; remove one by clicking their avatar.
Signups¶
Staff join shifts themselves via the posted announcement in Discord (see below) — there's no Dashboard equivalent of the public join/leave flow, since the Dashboard is an admin tool. Admins can add or remove a signup directly on either surface (Assign Member / Remove Signup in Discord, the inline signup list in the Dashboard).
If your venue has a signup lockout configured (see Settings below), a shift too close to its start time shows as Locked and can't be joined or left through self-service. Admin actions on either surface (Assign Member / Remove Signup in Discord, the inline signup controls in the Dashboard) always bypass the lockout — it only gates the public self-service join/leave flow.
Posting & the shift browser¶
picks a text channel and posts a compact, interactive summary (name, description, times, and each position's fill count) with two buttons:
- View Shifts & Sign Up — opens a private, personal shift browser listing up to 10 shifts with Join/Leave buttons (or Locked, if the lockout applies).
- Event Details — opens the event's Secondary Elements as a private message, if any have a value set.
The posted summary keeps itself up to date automatically as you edit the event, its positions, shifts, or elements — you never need to repost it.
The Posted to Discord section (bottom of an event's page) posts a static summary (name, description, times, per-position fill counts) to a channel you pick — not the same interactive message Discord's own Post to Channel produces, and it has no Join/Leave buttons for staff. Unlike the Discord side, it doesn't refresh itself automatically — click Refresh after editing the event to update an existing post, or Remove to take it down. You can post the same event to multiple channels; each one is tracked and managed separately.
Secondary Elements¶
Discord-only — the Dashboard has no equivalent yet. Elements are small optional info cards on an event: Address, Theme, Syncshell, Party Finder, Shout Run, Greeting, Venue Shout, DJ Info, or Misc, each with an optional title (auto-numbered if you leave it blank, e.g. a second Theme becomes "Theme 2") and a value. Add up to 20 per event from the event's detail screen; only elements with a value set actually show up in the posted Event Details view.
Event Templates¶
Discord-only — the Dashboard has no template management or "create from template" option.
A template stores its positions, shifts, and elements the same way a live event does, except shift times are stored as offsets (e.g. "2 hours after the event starts") rather than fixed dates — so applying the same template on different weeks schedules everyone at the right relative time automatically. Two ways to create one:
- Build as Template, from the Templates menu — start from scratch.
- Save as Template, from a live event's detail screen — snapshots that event's current positions/shifts/elements into a new template, name it and you're done.
To use a template, Add an event → From Template → pick one → pick an anchor date/time (everything else is scheduled relative to it) → confirm. You're then asked whether to post the new event immediately. If a template references a Position that's since been deleted from your catalog, applying it skips that position and tells you, rather than failing or silently dropping it.
Settings¶
(from the Events menu) has:
- Signup Lockout — how many minutes before a shift starts to freeze public self-service sign-ups/drops (15 minutes up to 8 hours, or disabled). This is enforced by the API itself, not just hidden in the UI. See Signups above for how this interacts with admin actions on each surface.
- Require Staffing Qualification — off by default. When on, a shift's Position needs at least one qualified staff member before anyone can self-sign-up for it; admin actions (Assign Member, and the Dashboard's signup controls) always bypass this, same as the lockout. Leaving a shift doesn't retroactively re-gate it, so losing a qualification never traps someone who already signed up.
The venue's Settings page has an Event Signup Lockout (minutes) field alongside its other venue-wide settings (timezone, log channel, accent color, and the VIP warning threshold — see VIP) — same value, same effect, just typed as a plain number instead of picked from Discord's preset list.
Related¶
- Positions — every shift belongs to a position from this catalog; set it up first.