Getting started
Two things stand between an empty server and a working shift system: inviting the bot, and running the setup wizard once.
-
Invite Shiftora
Use Add to Discord at the top of this page and pick your server. Shiftora needs permission to manage roles, read and send messages in its log channels, and send embeds.
-
Place the bot's role above your shift roles
Discord will not let a bot assign a role that sits above its own. Drag Shiftora's role above your shift, break, LOA and ROA roles in Server Settings › Roles, or clock-ins will fail to apply the role.
-
Run
/setupA guided wizard walks through the whole configuration. It loads your current settings first, so it is safe to re-run at any time to change one thing.
-
Clock in to check it
Run
/shift-manageand clock in. You should receive the shift role, and the clock-in should appear in your log channel.
Until /setup has been completed, /help shows a warning banner telling staff the server is not configured yet. The wizard is the only thing that marks a server as set up.
What the wizard covers
| Step | What you set |
|---|---|
| Roles | Shift role given on clock-in, staff role, break role, LOA and ROA roles, and the roles pinged on new LOA/ROA requests |
| Channels | Shift log, leaderboard, and the request and log channels for LOA and ROA |
| Types | Shift types such as Patrol or Training, and LOA/ROA reasons such as Vacation or Exams |
| Limits | Max and min shift duration, check-in interval, server timezone, and max LOA/ROA days |
| Requirements | Weekly hours expected of staff, and the reduced quota that applies during ROA |
| Behavior | Feature toggles - breaks, notes, DMs, logging (see Settings reference) |
| Branding | Bot nickname, embed footer text, and the primary, success, error and warning embed colours |
| Automation | Report channel and an optional text command prefix |
How shifts work
A shift is a tracked block of time between a clock-in and a clock-out. Staff drive it themselves from one panel; admins can step in when something goes wrong.
Running /shift-manage opens your personal shift panel. From it you can clock in to start the timer and receive the shift role, take a break to pause without ending the shift, and clock out to log the hours.
Breaks
A break pauses the shift and swaps the shift role for the break role. Can be turned off entirely so that staff must clock out instead.
Shift types
Optional labels like Patrol or Training. When Require Shift Type is on, staff must pick one at clock-in, and stats can be filtered by it.
Check-ins
If enabled, Shiftora DMs staff on an interval to confirm they are still active, and auto clocks out anyone who reaches the maximum shift duration.
Logging
Clock-ins, clock-outs, breaks and admin actions post to your shift log channel, each as a separate toggle you can switch off.
Restricting types by role
Roles can be limited to specific shift types. When someone whose roles carry a type restriction tries to clock in on a type outside their list, Shiftora refuses and tells them which types they are allowed. Configure this on the dashboard.
When a shift gets stuck
If someone leaves a shift open - they went offline, or Discord dropped the interaction - any admin can run /shift-admin on that member to end the shift, correct the logged time, or clock them out on their behalf. Admin actions can be mirrored to the log channel.
Leave & reduced activity
Two separate systems for two different situations: stepping away entirely, and staying on at lower hours.
Leave of absence (LOA)
For staff who will be away and not working at all. /leave-manage submits a request with a reason and duration. The roles you configured as LOA ping roles are notified in your LOA request channel, and once approved the member receives the LOA role. They can extend or end the leave early from the same panel.
Reduced activity (ROA)
For staff who can still work, just not at full hours. /roa-manage works the same way as LOA, but instead of excusing the member entirely it drops their weekly requirement to the server's ROA quota for the duration.
Both systems accept a maximum duration in days - set Max LOA Days or Max ROA Days to 0 to allow indefinite requests. Admins can grant, extend or end either on someone's behalf with /leave-admin and /roa-admin.
Hour requirements
Set a weekly target and Shiftora tracks every member against it automatically.
Shift Hours/Week is the number of hours you expect from staff in a week. Progress against it shows up in /whois and on the dashboard. Set it to 0 to turn requirements off entirely.
- Members on LOA are excused for the duration of their leave.
- Members on ROA are measured against the lower ROA Hours/Week quota instead.
- Weeks are cut using the timezone set in the wizard, not each member's local time.
If you configure a report channel, Shiftora can post a recurring summary of how staff are tracking - daily, every three days, weekly, fortnightly or monthly.
Command reference
Every slash command, grouped the way /help groups them. Run /help <command> in Discord for full options on any single one.
Shifts
| Command | What it does |
|---|---|
/shift-manage [type] | Opens your shift panel - clock in, take a break, or clock out. Pick a type if your server requires one. |
/shift-admin <user> [type] | Manage someone else's shift: clock them in or out, end a stuck shift, add or remove logged time, reset their stats. |
Leave & reduced activity
| Command | What it does |
|---|---|
/leave-manage | Request, extend or end your own leave of absence. |
/leave-admin <user> | Grant, extend or end someone's LOA, and review their leave history. |
/leave-active | List everyone currently on approved leave, with reasons and end dates. |
/roa-manage | Request, extend or end your own reduced activity. |
/roa-admin <user> | Grant, extend or end someone's ROA, and review their history. |
/roa-active | List everyone currently on reduced activity, with their quota and end date. |
Stats & leaderboards
| Command | What it does |
|---|---|
/shift-active | Everyone clocked in right now, how long they have been on, their type, and who is on break. |
/shift-leaderboard [type] | Staff ranked by time on duty across the week, month or all time. The raw data can be exported. |
/whois <user> | A member's total and weekly hours, progress against their requirement, recent shifts, and LOA/ROA status. |
Server setup
| Command | What it does |
|---|---|
/setup | The guided configuration wizard. Loads current settings first, so re-running it is safe. |
Utility
| Command | What it does |
|---|---|
/help [command] | Browse commands by category, or pass a name for full usage, options and permissions. |
/ping | Bot response time and connection health. |
/bot-info | Version, uptime, and how many servers, shifts and staff Shiftora is tracking. |
Text prefix
If you set a prefix during the Automation step, most commands also answer to short text aliases - !sm for /shift-manage, !lb for the leaderboard, !who for /whois, and so on. Leave the prefix blank to disable text commands entirely. /help <command> lists every alias for a command while a prefix is active.
Permissions
Shiftora recognises three ways a member can be allowed to run a command.
| Access | Applies to |
|---|---|
| Everyone | /help, /ping and /bot-info - open to all members. |
| Manage Server | /setup is restricted to this permission, and nothing else can grant it. |
| Staff role | The role you nominated in the wizard. It can run every shift, leave and stats command. |
| Granted role | Any role given that specific command on the dashboard, for finer control than one blanket staff role. |
For everything other than /setup, holding any one of Manage Server, the staff role, or a dashboard grant for that command is enough.
Clocking in is a staff action, not a public one - /shift-manage needs the staff role or a grant like any other command. If members report that clocking in does nothing, check their roles first.
The dashboard
Everything the commands do, plus the things that are awkward inside Discord - editing permissions, reading history, exporting data.
Sign in at shiftora.xyz/dashboard with Discord. You will see every server where you hold Manage Server or Administrator; pick one to open its dashboard. Servers that do not have Shiftora yet show an invite button instead.
- Overview - who is on shift now, shifts today, average duration, and hours across the week.
- Active - a live list of everyone clocked in, with the option to end a shift.
- Leaderboard - the same ranking as
/shift-leaderboard, filterable by type and period. - Users - per-member profiles, shift history, and private staff notes.
- Logs - the full event history, filterable by event type.
- Permissions - build named permission roles and grant them individual commands.
- Settings - the same configuration
/setupwrites, editable field by field.
Settings reference
The behaviour toggles from the wizard's Behavior step, and what turning each one on actually changes.
| Setting | Effect | Default |
|---|---|---|
| Allow Breaks | Staff can pause a shift without clocking out | On |
| Require Notes | Prompts for a note when clocking in | Off |
| Require Shift Type | Staff must pick a shift type on clock-in | Off |
| Check-in System | Activity DMs, and auto clock-out at max duration | On |
| DM on Clock-In | Sends a confirmation DM when a shift starts | Off |
| DM on Clock-Out | Sends a shift summary DM when a shift ends | Off |
| Log Breaks | Posts break start and end to the shift log channel | On |
| LOA Notifications | Notifies staff when their LOA is approved or ended | On |
| ROA Notifications | Notifies staff when their ROA is approved or ended | On |
| Admin Action Log | Logs admin clock-ins, manual ends and time edits | On |
Limits and timing
- Max Shift Duration - hours after which a shift is closed automatically.
0disables it. - Min Shift Duration - the shortest shift worth recording.
0disables it. - Check-in Interval - minutes between activity DMs.
0disables it. - Timezone - used for daily and weekly boundaries. Accepts names like
UTCorAmerica/New_York.
Branding
Shiftora can wear your server's colours. Set a nickname, custom embed footer text, and hex colours for the primary, success, error and warning embeds. Leaving a field blank restores the default.
Troubleshooting
Clocking in does not give the shift role
Almost always role hierarchy. Discord blocks a bot from assigning any role positioned above its own, so drag Shiftora's role above the shift, break, LOA and ROA roles in Server Settings › Roles. Confirm the shift role is still set in /setup, and that it has not been deleted since.
A command says I do not have permission
See Permissions. You need Manage Server, the configured staff role, or a dashboard grant for that specific command. /setup is the exception and requires Manage Server outright.
Nothing appears in the log channel
Check that the channel is still set in /setup, that Shiftora can both view and send messages in it, and that embeds are permitted. Breaks and admin actions have their own toggles that can be switched off independently.
A member is stuck on shift
Run /shift-admin on them and end the shift. If the time logged is wrong, the same panel can add or remove hours.
The dashboard will not show my server
The list only contains servers where you hold Manage Server or Administrator. If the server is there but greyed out with an invite button, Shiftora has not been added to it yet. Use the refresh control on the server picker after changing your roles in Discord.
Still stuck
Ask in the support server, check status for a live incident, or contact us.