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.
Navigation
After sign-in, select a server from Guilds. All dashboard pages are scoped to the selected guild.
| Route | Purpose |
|---|---|
/dashboard/guilds | Server picker |
/dashboard | Overview |
/dashboard/leaderboard | Current period rankings |
/dashboard/analytics | Activity heatmaps |
/dashboard/stats/user | Per-user attendance stats |
/dashboard/stats/channel | Per-channel attendance stats |
/dashboard/settings/tracking | Tracking mode, channels, fairness |
/dashboard/settings/periods | Leaderboard tracks, reset schedules, period history |
/dashboard/signing | Keys, unlock, verification, signature repair |
/dashboard/export | Signed period exports (Pro) |
/dashboard/verified-roles | Auto-role rules (Pro) |
/dashboard/automation | Manual adjustments and automation rules |
/dashboard/webhooks | Outbound webhooks (Pro) |
/dashboard/subscription | Tier management |
/dashboard/logs | Log 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:
| Setting | Description |
|---|---|
| Tracking mode | Off, Allowlist, Denylist, or All |
| Tracked channels | Add/remove channels for Allowlist/Denylist |
| Global tracked users | Optional allowlist/denylist members (Allowlist/Denylist modes) |
| Per-channel members | Optional allowlist scoped to one channel |
| Fairness rules | Pause 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:
| Action | Description |
|---|---|
| Generate keys | Create the initial keypair (once per server; unavailable after keys exist) |
| Rotate keys | Replace the active keypair; older signed records remain verifiable |
| Public key | Copy the verification key for sharing |
| Verify session | Check a session UUID signature |
| Verify period | Check an archived period snapshot signature |
| Repair sessions | Re-sign sessions that fail verification (dry-run or repair) |
| Repair period snapshots | Re-sign archived period snapshots that fail verification (dry-run or repair) |
| Signing status | Key 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:
| Feature | Description |
|---|---|
| Manual adjustments | Add or deduct voice time for a member with an audit reason |
| Recurring adjustments | Scheduled add/deduct for target members |
| Quota rules | Minimum hours, warning thresholds, DM templates, optional channel notify |
| Custom DSL rules | IF total seconds below threshold THEN send DM |
| Fairness presets | Apply 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:
| Tier | Highlights |
|---|---|
| Free | Core tracking, signing, 1 leaderboard track, 5 archived periods |
| Pro | Signed exports, webhooks, verified roles, up to 3 tracks, unlimited history |
| Enterprise | Pro + custom verification branding |
See Subscription Tiers for the full feature matrix.
Also available at attendibot.com/pricing.