Plan, run and review server events without a spreadsheet
The Events page covers the full lifecycle: schedule one-off or recurring events, collect RSVPs with capacity and waitlist, run check-in at the door, then review attendance and conversion stats afterwards. Eight tabs map cleanly to those stages.
Before you schedule an event
- Events module enabled in Server Settings (or guild is on Custom-Host).
- You hold events.view to read; events.edit to create or edit; events.cancel for cancel/complete actions.
- A target channel exists for announcements — Settings tab needs an announcementsChannel before reminders can fire.
- Your guild timezone is set correctly (Server Settings → General). Reminder offsets and cron schedules use it.
The eight tabs
Calendar tab — the home view
Two view modes share this tab: a list view (default) and a month view. Both show every event regardless of status.
What each event card shows
- Status chip: SCHEDULED, LIVE, ENDED, COMPLETED, CANCELLED.
- Event title and type (Standard, Voice Session, Tournament, etc.).
- Start time and duration in your guild timezone.
- RSVP counts: going / maybe / waitlist, with capacity badge if set.
- Quick actions: open detail, cancel, complete, duplicate.
Create tab — the event form
A long form split into five sections. Most servers use Templates so they only fill this in once.
Section A — Basics
Headline shown in announcements and the calendar card.
Example: April Game Night
Eight types: STANDARD, VOICE_SESSION, TOURNAMENT, RAID_STATIC, WATCH_PARTY, WORKSHOP_CLASS, COMMUNITY_CALL, IRL_MEETUP. Sets defaults for capacity and slots.
Example: VOICE_SESSION
Long-form description rendered as Discord markdown in the announcement embed.
Optional banner image URL for the embed.
Section B — Schedule
Absolute start in your guild timezone. UI is a date+time picker; persisted as ms epoch.
Example: 2026-05-12 19:00
Length of the event. Combined with the unit picker (m / h / d) for human-readable input.
Example: 2
m, h or d. Used together with duration to compute the end time.
Example: h
Pre-event reminder offsets. Choose from 15m, 1h, 1d. Reminders post in announcementsChannel and DM RSVP'd members.
Example: ['1h', '1d']
Section C — Location
TEXT_CHANNEL, VOICE_CHANNEL, EXTERNAL_URL or IRL. Decides what the next field looks like.
Example: VOICE_CHANNEL
When locationType is a channel type — picks the channel.
When locationType is EXTERNAL_URL or IRL — accepts a URL or address respectively.
Section D — Access and capacity
Roles a member must hold to RSVP. Empty = anyone can RSVP.
Roles whose members can manage the event (cancel, complete, edit RSVPs) without being the original creator.
Hard cap on Going + waitlist promotions. Empty = unlimited.
Example: 20
If on, SYNTHET creates a discussion thread under the announcement message at scheduling time.
Example: On
Section E — RSVP behaviour and slots
Show the Maybe button on the RSVP message.
Example: On
When at capacity, late RSVPs land on a waitlist and are auto-promoted as slots free.
Example: On
Permit RSVP'd members to bring guests.
Example: Off
Maximum guests per host. Only used when allowPlusN is on.
Example: 2
At event start time the host can mark attendees as checked-in. Required for the attendance metric in Analytics.
Example: On
For role-based events (raids, classes). A list of named slots with maxCount each. Members pick a slot when they RSVP.
Example: Tank ×1, Healer ×2, DPS ×5
RSVPs tab — managing the roster
Open any event from the calendar to land here. Shows three (or four) columns of attendees and a small admin toolbar.
Columns
- going
- Members who clicked Going. If checkin is on, each row has a check-in toggle the host flips at event start.
- maybe
- Soft yes. Reminded but not counted toward capacity.
- declined
- No-shows. Kept on file for analytics.
- waitlist
- Only present when allowWaitlist is on. Members are auto-promoted to going as slots free up; the move triggers a DM.
Host toolbar
- Force-add member — drop a member into a column without their input.
- Move column — drag-and-drop or right-click → move to.
- Copy roster — copies a Discord-formatted list of mentions to clipboard for ping rounds.
- Mark complete — closes RSVPs and freezes the analytics row.
Templates tab
A grid of saved event templates. Click any card to open Create with the values pre-filled.
What is saved in a template
- Everything from the Create form except startAtMs and the schedule.
- Type, duration, location type, reminders, capacity, slots and RSVP behaviour all carry over.
- Templates are server-scoped — they do not leak across guilds, even on Custom-Host.
- Delete from the card menu; deletion is non-destructive (no events are touched).
Series tab — recurring events
A series is a parent record that spawns child events on a cadence. Manage the cadence here and individual occurrences appear in Calendar.
Columns in the series table
- Name — series title (e.g., "Weekly Standup").
- Cadence — daily / weekly / monthly with the chosen weekday or day-of-month.
- Events — how many child events this series has spawned to date.
- Status — active / paused / archived.
- Actions — pause, resume, archive, edit cadence, delete (only when no future events remain).
Analytics tab
Four KPIs and three charts. Window selector at the top toggles between 30d / 90d / All time.
KPI tiles
- Total events — count of events in the window with status COMPLETED.
- Total RSVPs — Going RSVPs across all events.
- Show rate — Going + checked-in divided by Going. Requires checkinEnabled to be useful.
- Repeat attendance — share of attendees who showed at 2+ events in the window. Sticky-community signal.
Charts
- RSVPs-over-time area chart, stacked by status.
- Top events bar chart by attendance.
- Daily breakdown table with show-rate column — sortable.
Audit tab
Filtered DataTable of every event lifecycle event. Filter chips for action type at the top of the table.
- CREATE — event scheduled.
- UPDATE — event details changed. Diff shown on row click.
- DELETE — event hard-deleted (rare; usually CANCEL is used instead).
- CANCEL — host marked the event as cancelled. RSVPs notified by DM.
- COMPLETE — host marked the event as a success and froze analytics.
Settings tab — defaults for new events
Announcement and reminders
Where SYNTHET posts the RSVP message and the reminder pings. Required for any event to be announced.
Pre-fill for the Create form. Choose any of 15m / 1h / 1d. Per-event overrides win.
Example: ['1h', '1d']
Behaviour defaults
| Setting | Type | Default | Description |
|---|---|---|---|
| allowMaybeDefault | toggle | On | Pre-fills the Maybe button toggle on Create. |
| allowWaitlistDefault | toggle | Off | Pre-fills waitlist toggle. Turn on if your events typically hit capacity. |
| allowPlusNDefault | toggle | Off | Pre-fills the plus-guest toggle. |
| checkinEnabledDefault | toggle | On | Pre-fills check-in toggle. Required for show-rate analytics. |
Common tasks
Schedule a one-off voice meeting
Open EventsCreate.
- Title the event and set type to VOICE_SESSION.
- Set startAtMs in the date picker and a 1h duration.
- Section C: locationType = VOICE_CHANNEL, pick the channel.
- Section B: reminders = 1h plus 15m.
- Save. RSVP message posts in announcementsChannel within seconds.
Run a raid with named slots
- Type = RAID_STATIC. Capacity matches your raid size (e.g., 8).
- Section E → slots: add Tank ×1, Healer ×2, DPS ×5.
- Turn on allowWaitlist so late sign-ups queue automatically.
- Set requiredRoles to your raider role so only eligible members can RSVP.
- After the run, open the event and click Mark Complete on the host toolbar.
Convert a popular event into a weekly series
- Open the event in Calendar → click the kebab menu → "Save as series".
- In the Series tab, set cadence to Weekly + your chosen weekday.
- Optionally change the start time of the next occurrence.
- Save. SYNTHET spawns child events automatically; cancelling the series stops new ones but leaves existing events intact.