Staff commands
The Staff category covers everything your support team does inside a ticket, plus staff duty tracking, metrics, linked side Discords and the ownership sheet. See How commands work for the option table format and the permission model.
The ticket-desk commands sit on the bottom step of the default ladder, Support, so every step above it has them too, as do the server owner and Discord Administrators. Commands that reach further (metrics, ownership sheets, role links, linked Discords) sit higher up; each command's own line says which step grants it. See Permissions.
#/duty
Clock in or out for staff duty.
No options: the command toggles. The first use starts a duty session, the next one ends it and tells you how long it ran. This is staff duty, separate from department shifts (/clock in). See Staff.
Who can use it by default: the Support group and above, plus the server owner and Discord Administrators ยท No Discord permission is set, so FiveUnity's permission check does the gating.
/duty
#/importasset
Track custom imported FiveM assets in a Google Sheet.
| Option | Required | What it is |
|---|---|---|
setup | n/a | Subcommand: create this server's ownership registry sheet, covering both assets and businesses. |
setup share_email | Yes | The Google account email that should get write access to the sheet. |
add | n/a | Subcommand: log a newly imported custom asset. |
add user | Yes | The customer's Discord user. |
add email | Yes | The email used for the purchase, or N/A from the autocomplete list when there is none. |
add file_name | Yes | The file or resource name the developer assigned. |
add type | Yes | The asset type: Clothing, Weapon, Vehicle, MLO or Other. |
add notes | No | Any notes to record with the row. |
repo | n/a | Subcommand: mark an active asset as repoed, for example when the player leaves. |
repo file_name | Yes | The file or resource name to repo. |
repo user | No | The customer's Discord user. Required when the file name matches more than one row. |
repo repo_tag | No | A repo tag. One is generated for you if you leave it out. |
repo notes | No | Notes to append to the row. |
link | n/a | Subcommand: show the link to this server's ownership registry sheet. |
See Ownership sheet.
Who can use it by default: the Admin group and above, plus the server owner and Discord Administrators ยท No Discord permission is set, so FiveUnity's permission check does the gating.
Track player-owned businesses in the shared ownership Google Sheet.
| Option | Required | What it is |
|---|---|---|
setup | n/a | Subcommand: create this server's ownership registry sheet, covering both assets and businesses. |
setup share_email | Yes | The Google account email that should get write access to the sheet. |
add | n/a | Subcommand: log a newly purchased or opened player-owned business. |
add user | Yes | The business owner's Discord user. |
add email | Yes | The email used for the purchase, or N/A from the autocomplete list when there is none. |
add business_name | Yes | The business display name. |
add type | Yes | The business type. Autocomplete suggests types, or type your own. |
add notes | No | Any notes to record with the row. |
activity | n/a | Subcommand: log a weekly event, whether the weekly hour quota was met, or both. |
activity business_name | Yes | The business to log activity for, from autocomplete. |
activity event | No | What happened, for example "Weekly community event". Leave it out to log only the hour quota. |
activity hours_quota | No | Met or Not met: whether the business met its weekly hour quota. Give this, event, or both. |
activity week | No | This week (the default) or Last week, for reviewing a week that has just ended. |
activity user | No | The owner's Discord user. Required when the name matches more than one business. |
activity notes | No | Notes to record with the entry. |
due | n/a | Subcommand: show who missed last week's requirement (hour quota plus 1 event), who has not met this week's yet, and strike counts. |
strike | n/a | Subcommand: give a business a strike. A business can hold at most 3. |
strike business_name | Yes | The business to strike, from autocomplete (shows each business's strike count). |
strike reason | Yes | Why the strike is being issued. |
strike user | No | The owner's Discord user. Required when the name matches more than one business. |
remove-strike | n/a | Subcommand: remove a strike from a business. The row stays on the sheet, marked as removed. |
remove-strike business_name | Yes | The business, from autocomplete (only businesses with strikes). |
remove-strike strike | No | The strike to remove, from autocomplete. Leave it out to remove the most recent one. |
remove-strike reason | No | Why the strike is being removed. |
remove-strike user | No | The owner's Discord user. Required when the name matches more than one business. |
strikes | n/a | Subcommand: list active strikes. |
strikes business_name | No | One business to show. Leave it out to list every business with strikes. |
repo | n/a | Subcommand: mark an active business as repoed or closed. |
repo business_name | Yes | The business to repo, from autocomplete. |
repo user | No | The owner's Discord user. Required when the name matches more than one business. |
repo repo_tag | No | A repo tag. One is generated for you if you leave it out. |
repo notes | No | Notes to append to the row. |
link | n/a | Subcommand: show the link to this server's ownership registry sheet. |
See Ownership sheet.
Who can use it by default: the Admin group and above, plus the server owner and Discord Administrators ยท No Discord permission is set, so FiveUnity's permission check does the gating.
/importbusiness due
#/linked-server
Link a side Discord (PD, EMS, etc.) to this main server.
| Option | Required | What it is |
|---|---|---|
add | n/a | Subcommand: link a Discord the bot is already in. You have to be an admin or the owner there too. |
add guild-id | Yes | The side Discord's server ID. |
remove | n/a | Subcommand: unlink a side Discord. |
remove guild-id | Yes | The side Discord's server ID. |
list | n/a | Subcommand: list linked side Discords and how many slots your plan allows. |
Linked side Discords inherit the main server's plan. See Linked servers.
Who can use it by default: the Senior Admin group and above, plus the server owner and Discord Administrators ยท No Discord permission is set, so FiveUnity's permission check does the gating.
/linked-server list
#/resetmetrics
Resets all ticket metrics and logs the current data to a channel.
No options. Before wiping anything, FiveUnity writes a summary and the current staff leaderboard to a metrics-logs channel, creating it if it does not exist.
This deletes every ticket record for the server, not just the counters. Transcripts already posted to a channel survive, but ticket history in the dashboard does not.
Who can use it by default: the Admin group and above, plus the server owner and Discord Administrators ยท Discord permission: Manage Server. It wipes staff statistics for the whole server, so it is worth moving to a narrower group than the default.
/resetmetrics
#/rolelink
Map roles between this main server and a linked side Discord, in either direction.
| Option | Required | What it is |
|---|---|---|
add | n/a | Subcommand: add a role map. |
add direction | Yes | Side โ Main watches a side role and grants a main role; Main โ Side watches a main role and grants a side role. |
add side-guild-id | Yes | The linked side Discord's ID. It has to be linked with /linked-server add first. |
add main-role | Yes | The role on this server (granted for sideโmain, watched for mainโside). |
add side-role-id | Yes | The role ID on the side Discord (watched for sideโmain, granted for mainโside). |
list | n/a | Subcommand: list the role maps for this server, with the ID of each. |
remove | n/a | Subcommand: delete a role map. |
remove link-id | Yes | The role link ID, copied from /rolelink list. |
See Linked servers.
Who can use it by default: the Admin group and above, plus the server owner and Discord Administrators ยท No Discord permission is set, so FiveUnity's permission check does the gating.
/rolelink list
#/sits
Tracks staff administrative sits.
| Option | Required | What it is |
|---|---|---|
log | n/a | Subcommand: log a new sit for yourself. |
log description | Yes | A detailed description of the sit. |
view | n/a | Subcommand: view the ten most recent sits. |
view user | No | The staff member whose sits you want to view. Leave it out for your own. Viewing someone else's requires Administrator. |
delete | n/a | Subcommand: delete one of your sits. |
delete sit-id | Yes | The ID of the sit, copied from the footer of the sit embed. Deleting someone else's sit requires Administrator. |
Who can use it by default: the Support group and above, plus the server owner and Discord Administrators ยท No Discord permission is set, so FiveUnity's permission check does the gating. The command also refuses anyone who is not staff, so the permission on its own is not enough: the member has to hold a role that belongs to some permission group.
/sits log description:Sat with @Member over a vehicle ramming report, verbal warning given
#/staffmetrics
Displays ticket metrics for staff: claimed, closed, escalated and renamed.
| Option | Required | What it is |
|---|---|---|
member | No | The staff member to get metrics for. Leave it out for the full leaderboard. |
The full leaderboard identifies staff from the roles on your permission groups, so it needs at least one step of the ladder to have roles on it. See Staff.
Who can use it by default: the Admin group and above, plus the server owner and Discord Administrators ยท No Discord permission is set, so FiveUnity's permission check does the gating. Working out who counts as staff needs at least one permission group with roles on it.
/staffmetrics member:@Support Lead
#/ticket
Staff commands for managing tickets. Most actions run inside the current ticket channel. The old standalone claim, open-ticket, rename, escalate, transcript and delete-ticket commands were removed; use the matching /ticket subcommands instead.
| Option | Required | What it is |
|---|---|---|
claim | n/a | Claim the current ticket, adding you to its staff list. Several staff can claim the same ticket; running it twice tells you that you already have. |
unclaim | n/a | Remove your own claim. |
close | n/a | Close the current open ticket; optional reason. |
close skip_transcript | No | Close without generating a transcript. Requires the skip-transcript permission (Head Admin by default), not ticket. |
open | n/a | Reopen a closed ticket in this channel. |
delete | n/a | Delete the record and channel after five seconds. Requires the delete-ticket permission node (Moderator by default). Not the same as closing: the channel and record are gone for good. |
rename / rename name | Yes | Rename this ticket channel to exactly what you type (cleaned to what Discord allows). Discord only allows two channel renames every ten minutes. |
transcript | n/a | Create a transcript of a ticket channel (defaults to here). |
transcript channel | No | Ticket channel to export; defaults to the current channel. |
transcript line_limit | No | Cap how many recent messages to include (1โ1000). |
transcript format | No | html (default) or txt. HTML returns a link; TXT posts a plain-text file to a #transcripts channel (created if needed). |
close-request | n/a | Ask the owner whether it is ready to close; optional reason. |
escalate / escalate reason | Yes | Post an escalation menu listing the other ticket categories. Only the staff member who ran it can pick a destination. |
new | n/a | Open a Command Style Ticket when that feature is enabled for this channel. |
new user | No | Ticket owner; defaults to you. |
new type | No | Panel ticket type to open. |
new reason | No | Opening reason shown in the ticket. |
automation / automation action | Yes | Start or stop panel automations for this ticket. |
timeout | n/a | Set a custom auto-close timer for this ticket. |
timeout hours | Yes | Hours of inactivity before auto-close (1โ8760). Works even when the server-wide inactivity timer is off. |
add | n/a | Add a user to this ticket channel. |
add user | Yes | The user to add. |
remove | n/a | Remove a user from this ticket channel. The person who opened the ticket cannot be removed. |
remove user | Yes | The user to remove. |
move | n/a | Move this ticket to a different category without touching permissions. |
move category | Yes | The category to move it to. |
summary | n/a | Generate an AI summary of this ticket for staff. |
summary question | No | Ask an optional follow-up question about the ticket. Autocomplete suggests dashboard presets. |
/ticket summary and /ticket delete are granted separately: ai.summary covers AI summaries, while delete-ticket preserves the existing Moderator-level delete permission. Legacy permission grants for claim, rename, escalate, transcript and open-ticket remap to ticket.claim, ticket.rename, ticket.escalate, ticket.transcript and ticket.new.
/ticket claim
/ticket rename name:refund-1042-escalated
/ticket escalate reason:Needs a senior admin, refund request over the limit
/ticket transcript format:txt
/ticket new user:@Member type:support reason:Follow-up on last night's report
/ticket summary question:"What proof is still missing?"
/ticket add user:@Second Witness
Who can use it by default: the Support group and above, plus the server owner and Discord Administrators ยท No Discord permission is set, so FiveUnity's permission check does the gating. The exceptions are /ticket summary (ai) and /ticket delete (delete-ticket).
#/edit-ticket-panel
Edits an existing ticket panel.
| Option | Required | What it is |
|---|---|---|
message_id | Yes | The ID of the ticket panel message to edit. |
title | No | The new title for the ticket embed. |
description | No | The new description for the ticket embed. |
buttons | No | New text for the panel's Open Ticket control, as a one-item JSON array: [{"label":"Open Ticket","emoji":"๐ฉ"}]. The control keeps the id FiveUnity dispatches on, so a custom id is refused: a button with any other id is one nothing answers. Build multi-type panels on the dashboard. |
Options you leave out keep their current value, and the panel message is rebuilt from the stored panel so Discord and the dashboard never disagree. See Tickets.
Who can use it by default: the Admin group and above, plus the server owner and Discord Administrators ยท No Discord permission is set, so FiveUnity's permission check does the gating.
/edit-ticket-panel message_id:1234567890123456789 title:Open a support ticket