AttendiBotAttendiBot

Dashboard Guide

Web dashboard guide for all admin routes.

The AttendiBot admin dashboard at attendibot.com/dashboard provides a web UI for server configuration, analytics, and verification. Sign in with Discord OAuth — you must have Manage Server on the guild.

After sign-in, select a server from Guilds. All dashboard pages are scoped to the selected guild.

RoutePurpose
/dashboard/guildsServer picker
/dashboardOverview
/dashboard/leaderboardCurrent period rankings
/dashboard/analyticsActivity heatmaps
/dashboard/stats/userPer-user attendance stats
/dashboard/stats/channelPer-channel attendance stats
/dashboard/settings/trackingTracking mode, channels, fairness
/dashboard/settings/periodsLeaderboard tracks, reset schedules, period history
/dashboard/signingKeys, unlock, verification, signature repair
/dashboard/exportSigned period exports (Pro)
/dashboard/verified-rolesAuto-role rules (Pro)
/dashboard/automationManual adjustments and automation rules
/dashboard/webhooksOutbound webhooks (Pro)
/dashboard/subscriptionTier management
/dashboard/logsLog channel destinations

Overview

Route: /dashboard

The overview page shows:

  • Current period index and reset schedule
  • Live voice occupancy (members in tracked channels)
  • Signing status (configured, unlocked, or locked)
  • Tracking mode summary
  • Quick links to common settings

Use this page to confirm AttendiBot is operational after setup or restart.


Leaderboard

Route: /dashboard/leaderboard

View the current period voice time leaderboard for your server. Use track tabs to switch between leaderboard tracks when your server has more than one.

Rankings reflect accumulated time in tracked channels, respecting fairness settings.

Members can also view rankings with /leaderboard in Discord. Use the optional track parameter or track tabs in the dashboard when you have multiple tracks.

Discord equivalent: /leaderboard (optional track parameter)


Analytics

Route: /dashboard/analytics

Activity heatmaps showing voice participation patterns over time. Useful for identifying peak hours and engagement trends.

Discord equivalent: /occupancy (live occupancy only — heatmap is dashboard-only)


Stats

Route: /dashboard/stats/user and /dashboard/stats/channel

User stats

Search for any server member by username or nickname prefix, then view their attendance for the selected track and period:

  • Total voice time
  • Session count

Use track tabs to switch leaderboard tracks when your server has more than one. Use the period filter to view the current period or an archived period.

Members with no tracked sessions show zero time and zero sessions.

You can also open a member from the Leaderboard or use the advanced Discord user ID lookup for support cases.

Discord equivalent: /stats and /stats user:@Member (optional track and period parameters)

Channel stats

Per-channel leaderboard and participation metrics for the selected track and period. Use track tabs and the period filter the same way as user stats.

Discord equivalent: /channel-stats channel:#Voice-1 (optional track and period parameters)


Settings → Tracking

Route: /dashboard/settings/tracking

Configure voice channel tracking:

SettingDescription
Tracking modeOff, Allowlist, Denylist, or All
Tracked channelsAdd/remove channels for Allowlist/Denylist
Global tracked usersOptional allowlist/denylist members (Allowlist/Denylist modes)
Per-channel membersOptional allowlist scoped to one channel
Fairness rulesPause on mute, pause on deafen, pause when solo, minimum session duration

See Fairness & Tracking for detailed explanations.

Discord equivalents: /admin tracking-mode, /admin track-channel, /admin track-user, /admin fairness


Settings → Tracks

Route: /dashboard/settings/periods

Manage one or more concurrent leaderboard tracks. Voice time in tracked channels counts toward every enabled track at the same time.

  • Active tracks — scannable list with period number, next reset, and schedule summary
  • Default track — used for Discord commands and dashboard overview when no track is specified; switch via Set as default on any enabled track
  • Additional tracks — e.g. monthly + yearly with independent reset schedules
  • Set as default — promote an enabled track; the previous default can then be removed
  • Remove track — disables counting while preserving archived periods and verification (restorable from Inactive tracks); cannot remove the current default until you switch default first
  • Delete permanently — only for inactive tracks with no archived periods or automation rules
  • Reset interval — hourly through yearly (per track)
  • Anchor mode — rolling or calendar-aligned (per track)
  • Timezone — IANA timezone for calendar alignment (per track)
  • Reset now — per-track manual reset archives a signed snapshot for that track only
  • Period history — archived periods per track

Each reset archives a signed period snapshot. Free tier retains 5 archived periods; Pro and Enterprise have unlimited history.

Tier limits: Free = 1 track, Pro = 3 tracks, Enterprise = unlimited.

Discord equivalents: /admin tracks, /admin reset-interval, /admin reset-now, /admin history (all support optional track parameter)


Signing

Route: /dashboard/signing

Manage Ed25519 signing keys:

ActionDescription
Generate keysCreate the initial keypair (once per server; unavailable after keys exist)
Rotate keysReplace the active keypair; older signed records remain verifiable
Public keyCopy the verification key for sharing
Verify sessionCheck a session UUID signature
Verify periodCheck an archived period snapshot signature
Repair sessionsRe-sign sessions that fail verification (dry-run or repair)
Repair period snapshotsRe-sign archived period snapshots that fail verification (dry-run or repair)
Signing statusKey state, tracking mode, active period

See Signing & Verification for the full cryptographic workflow.

Discord equivalents: /admin generate-keys, /admin rotate-keys, /admin signing-status, /admin public-key, /admin verify-session, /admin verify-period, /admin repair-sessions, /admin repair-periods


Logs

Route: /dashboard/logs

Configure automated log posting to Discord text channels:

  • Add destinations (text channel + log type, including All to enable every type at once)
  • Enable/disable log types per destination
  • Set frequency for periodic logs (leaderboard, attendance summary) — required when adding All, Leaderboard, or Attendance Summary

Log types: All, Voice Join, Voice Leave, Session Time, Leaderboard, Attendance Summary.

Discord equivalent: /admin logs subcommands


Automation

Route: /dashboard/automation

Manage attendance automation beyond basic tracking:

FeatureDescription
Manual adjustmentsAdd or deduct voice time for a member with an audit reason
Recurring adjustmentsScheduled add/deduct for target members
Quota rulesMinimum hours, warning thresholds, DM templates, optional channel notify
Custom DSL rulesIF total seconds below threshold THEN send DM
Fairness presetsApply patrol, meeting, or strict AFK presets

List, enable, disable, or delete existing rules from the same page.

Discord equivalents: /admin adjust, /admin rules list|toggle|delete, /admin adjustments list. Creating recurring, quota, or DSL rules is dashboard-only.

See Subscription Tiers for automation rule limits by tier.


Export (Pro)

Route: /dashboard/export

Download signed period bundles for external auditing or backup. Requires Pro or Enterprise tier.

See Subscription Tiers.


Webhooks (Pro)

Route: /dashboard/webhooks

Configure outbound webhooks that fire when attendance events occur. Requires Pro or Enterprise tier.

Use webhooks to integrate AttendiBot with external systems (CRM, analytics, custom dashboards).


Verified Roles (Pro)

Route: /dashboard/verified-roles

Automatically assign Discord roles to members who meet attendance thresholds. Requires Pro or Enterprise tier.

Configure rules based on minimum voice time within a period.


Subscription

Route: /dashboard/subscription

View and manage your server's subscription tier:

TierHighlights
FreeCore tracking, signing, 1 leaderboard track, 5 archived periods
ProSigned exports, webhooks, verified roles, up to 3 tracks, unlimited history
EnterprisePro + custom verification branding

See Subscription Tiers for the full feature matrix.

Also available at attendibot.com/pricing.


Edit on GitHub

On this page