Getting started

Two things stand between an empty server and a working shift system: inviting the bot, and running the setup wizard once.

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

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

  3. Run /setup

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

  4. Clock in to check it

    Run /shift-manage and 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

StepWhat you set
RolesShift role given on clock-in, staff role, break role, LOA and ROA roles, and the roles pinged on new LOA/ROA requests
ChannelsShift log, leaderboard, and the request and log channels for LOA and ROA
TypesShift types such as Patrol or Training, and LOA/ROA reasons such as Vacation or Exams
LimitsMax and min shift duration, check-in interval, server timezone, and max LOA/ROA days
RequirementsWeekly hours expected of staff, and the reduced quota that applies during ROA
BehaviorFeature toggles - breaks, notes, DMs, logging (see Settings reference)
BrandingBot nickname, embed footer text, and the primary, success, error and warning embed colours
AutomationReport 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

CommandWhat 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

CommandWhat it does
/leave-manageRequest, extend or end your own leave of absence.
/leave-admin <user>Grant, extend or end someone's LOA, and review their leave history.
/leave-activeList everyone currently on approved leave, with reasons and end dates.
/roa-manageRequest, extend or end your own reduced activity.
/roa-admin <user>Grant, extend or end someone's ROA, and review their history.
/roa-activeList everyone currently on reduced activity, with their quota and end date.

Stats & leaderboards

CommandWhat it does
/shift-activeEveryone 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

CommandWhat it does
/setupThe guided configuration wizard. Loads current settings first, so re-running it is safe.

Utility

CommandWhat it does
/help [command]Browse commands by category, or pass a name for full usage, options and permissions.
/pingBot response time and connection health.
/bot-infoVersion, 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.

AccessApplies 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 roleThe role you nominated in the wizard. It can run every shift, leave and stats command.
Granted roleAny 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 /setup writes, editable field by field.

Settings reference

The behaviour toggles from the wizard's Behavior step, and what turning each one on actually changes.

SettingEffectDefault
Allow BreaksStaff can pause a shift without clocking outOn
Require NotesPrompts for a note when clocking inOff
Require Shift TypeStaff must pick a shift type on clock-inOff
Check-in SystemActivity DMs, and auto clock-out at max durationOn
DM on Clock-InSends a confirmation DM when a shift startsOff
DM on Clock-OutSends a shift summary DM when a shift endsOff
Log BreaksPosts break start and end to the shift log channelOn
LOA NotificationsNotifies staff when their LOA is approved or endedOn
ROA NotificationsNotifies staff when their ROA is approved or endedOn
Admin Action LogLogs admin clock-ins, manual ends and time editsOn

Limits and timing

  • Max Shift Duration - hours after which a shift is closed automatically. 0 disables it.
  • Min Shift Duration - the shortest shift worth recording. 0 disables it.
  • Check-in Interval - minutes between activity DMs. 0 disables it.
  • Timezone - used for daily and weekly boundaries. Accepts names like UTC or America/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.