Overview
Events Dashboard

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.

Path
DashboardServerEvents
Module
Events
Required permission
events.view

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
Create
RSVPs
Templates
Series
Analytics
Audit
Settings
Calendar
Default landing tab. Month or list view of every scheduled event.
Create
The form that builds a new event. Twenty-plus fields grouped into sections.
RSVPs
Per-event roster — going / maybe / declined / waitlist columns.
Templates
Saved event presets you can clone instead of starting from scratch.
Series
Recurring events: weekly meetings, monthly raids, daily standups.
Analytics
Attendance, RSVP-to-show ratios, channel breakdown.
Audit
Lifecycle log — create / update / cancel / complete with diffs.
Settings
Defaults for new events: channel, reminders, plus-N policy.

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.

ListMonth

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.
LIVE means the event has started but is not over
SYNTHET flips status from SCHEDULED to LIVE at the start time and to ENDED at start + duration. COMPLETED is a manual action a host takes from the calendar card to mark the event as a success and freeze its analytics row.

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

titleText input

Headline shown in announcements and the calendar card.

Example: April Game Night

typeDropdown

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

descriptionText input

Long-form description rendered as Discord markdown in the announcement embed.

imageUrlText input

Optional banner image URL for the embed.

Section B — Schedule

startAtMsText input

Absolute start in your guild timezone. UI is a date+time picker; persisted as ms epoch.

Example: 2026-05-12 19:00

durationNumber

Length of the event. Combined with the unit picker (m / h / d) for human-readable input.

Example: 2

duration unitDropdown

m, h or d. Used together with duration to compute the end time.

Example: h

remindersMulti-select

Pre-event reminder offsets. Choose from 15m, 1h, 1d. Reminders post in announcementsChannel and DM RSVP'd members.

Example: ['1h', '1d']

Section C — Location

locationTypeDropdown

TEXT_CHANNEL, VOICE_CHANNEL, EXTERNAL_URL or IRL. Decides what the next field looks like.

Example: VOICE_CHANNEL

channelChannel picker

When locationType is a channel type — picks the channel.

locationUrlText input

When locationType is EXTERNAL_URL or IRL — accepts a URL or address respectively.

Section D — Access and capacity

requiredRolesRole picker

Roles a member must hold to RSVP. Empty = anyone can RSVP.

cohostRolesRole picker

Roles whose members can manage the event (cancel, complete, edit RSVPs) without being the original creator.

capacityNumber

Hard cap on Going + waitlist promotions. Empty = unlimited.

Example: 20

autoThreadToggle

If on, SYNTHET creates a discussion thread under the announcement message at scheduling time.

Example: On

Section E — RSVP behaviour and slots

allowMaybeToggle

Show the Maybe button on the RSVP message.

Example: On

allowWaitlistToggle

When at capacity, late RSVPs land on a waitlist and are auto-promoted as slots free.

Example: On

allowPlusNToggle

Permit RSVP'd members to bring guests.

Example: Off

maxPlusNNumber

Maximum guests per host. Only used when allowPlusN is on.

Example: 2

checkinEnabledToggle

At event start time the host can mark attendees as checked-in. Required for the attendance metric in Analytics.

Example: On

slotsTags

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

Save as Template before publishing
The Create form has a "Save as Template" link in the footer. If you run weekly game nights with the same shape, do this once — the next event takes 3 clicks instead of 30.

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).
Editing a series does not retro-update past events
Changing the template inside a series only affects events spawned from that point on. To bring already-scheduled events into line, edit them individually from the Calendar tab.

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

announcementsChannelChannel picker

Where SYNTHET posts the RSVP message and the reminder pings. Required for any event to be announced.

defaultReminderOffsetsMulti-select

Pre-fill for the Create form. Choose any of 15m / 1h / 1d. Per-event overrides win.

Example: ['1h', '1d']

Behaviour defaults

SettingTypeDefaultDescription
allowMaybeDefaulttoggleOnPre-fills the Maybe button toggle on Create.
allowWaitlistDefaulttoggleOffPre-fills waitlist toggle. Turn on if your events typically hit capacity.
allowPlusNDefaulttoggleOffPre-fills the plus-guest toggle.
checkinEnabledDefaulttoggleOnPre-fills check-in toggle. Required for show-rate analytics.

Common tasks

1

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.
2

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.
3

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.

Troubleshooting

No reminder ever posts
announcementsChannel is unset on the Settings tab, or the bot lacks Send Messages there. The Create form will warn you on save, but it does not block — the event still exists, it just cannot announce. Fix the channel and the next reminder cycle will pick it up.
Show rate reads 0% even though people attended
checkinEnabled is off on that event, so SYNTHET never collected check-ins. Show rate is computed from check-ins, not RSVPs. Turn on checkinEnabledDefault in Settings so future events default-on.
Cancelled event still has its RSVP message visible
By design — the message is left in place with a CANCELLED banner so members understand what happened. Delete the message manually in Discord if you need to clean up.
Series stops spawning events
Check the series row — status is probably Paused or Archived. Resume from the Series tab. If status is Active and there is still no new event, your guild timezone may have changed; SYNTHET schedules in guild-time so a moved zone shifts the cadence.