FiveUnityManual

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.

Note

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.

text
/duty

#/importasset

Track custom imported FiveM assets in a Google Sheet.

OptionRequiredWhat it is
setupn/aSubcommand: create this server's ownership registry sheet, covering both assets and businesses.
setup share_emailYesThe Google account email that should get write access to the sheet.
addn/aSubcommand: log a newly imported custom asset.
add userYesThe customer's Discord user.
add emailYesThe email used for the purchase, or N/A from the autocomplete list when there is none.
add file_nameYesThe file or resource name the developer assigned.
add typeYesThe asset type: Clothing, Weapon, Vehicle, MLO or Other.
add notesNoAny notes to record with the row.
repon/aSubcommand: mark an active asset as repoed, for example when the player leaves.
repo file_nameYesThe file or resource name to repo.
repo userNoThe customer's Discord user. Required when the file name matches more than one row.
repo repo_tagNoA repo tag. One is generated for you if you leave it out.
repo notesNoNotes to append to the row.
linkn/aSubcommand: 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.

OptionRequiredWhat it is
setupn/aSubcommand: create this server's ownership registry sheet, covering both assets and businesses.
setup share_emailYesThe Google account email that should get write access to the sheet.
addn/aSubcommand: log a newly purchased or opened player-owned business.
add userYesThe business owner's Discord user.
add emailYesThe email used for the purchase, or N/A from the autocomplete list when there is none.
add business_nameYesThe business display name.
add typeYesThe business type. Autocomplete suggests types, or type your own.
add notesNoAny notes to record with the row.
activityn/aSubcommand: log a weekly event, whether the weekly hour quota was met, or both.
activity business_nameYesThe business to log activity for, from autocomplete.
activity eventNoWhat happened, for example "Weekly community event". Leave it out to log only the hour quota.
activity hours_quotaNoMet or Not met: whether the business met its weekly hour quota. Give this, event, or both.
activity weekNoThis week (the default) or Last week, for reviewing a week that has just ended.
activity userNoThe owner's Discord user. Required when the name matches more than one business.
activity notesNoNotes to record with the entry.
duen/aSubcommand: show who missed last week's requirement (hour quota plus 1 event), who has not met this week's yet, and strike counts.
striken/aSubcommand: give a business a strike. A business can hold at most 3.
strike business_nameYesThe business to strike, from autocomplete (shows each business's strike count).
strike reasonYesWhy the strike is being issued.
strike userNoThe owner's Discord user. Required when the name matches more than one business.
remove-striken/aSubcommand: remove a strike from a business. The row stays on the sheet, marked as removed.
remove-strike business_nameYesThe business, from autocomplete (only businesses with strikes).
remove-strike strikeNoThe strike to remove, from autocomplete. Leave it out to remove the most recent one.
remove-strike reasonNoWhy the strike is being removed.
remove-strike userNoThe owner's Discord user. Required when the name matches more than one business.
strikesn/aSubcommand: list active strikes.
strikes business_nameNoOne business to show. Leave it out to list every business with strikes.
repon/aSubcommand: mark an active business as repoed or closed.
repo business_nameYesThe business to repo, from autocomplete.
repo userNoThe owner's Discord user. Required when the name matches more than one business.
repo repo_tagNoA repo tag. One is generated for you if you leave it out.
repo notesNoNotes to append to the row.
linkn/aSubcommand: 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.

text
/importbusiness due

#/linked-server

Link a side Discord (PD, EMS, etc.) to this main server.

OptionRequiredWhat it is
addn/aSubcommand: link a Discord the bot is already in. You have to be an admin or the owner there too.
add guild-idYesThe side Discord's server ID.
removen/aSubcommand: unlink a side Discord.
remove guild-idYesThe side Discord's server ID.
listn/aSubcommand: 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.

text
/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.

Danger

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.

text
/resetmetrics

Map roles between this main server and a linked side Discord, in either direction.

OptionRequiredWhat it is
addn/aSubcommand: add a role map.
add directionYesSide โ†’ Main watches a side role and grants a main role; Main โ†’ Side watches a main role and grants a side role.
add side-guild-idYesThe linked side Discord's ID. It has to be linked with /linked-server add first.
add main-roleYesThe role on this server (granted for sideโ†’main, watched for mainโ†’side).
add side-role-idYesThe role ID on the side Discord (watched for sideโ†’main, granted for mainโ†’side).
listn/aSubcommand: list the role maps for this server, with the ID of each.
removen/aSubcommand: delete a role map.
remove link-idYesThe 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.

text
/rolelink list

#/sits

Tracks staff administrative sits.

OptionRequiredWhat it is
logn/aSubcommand: log a new sit for yourself.
log descriptionYesA detailed description of the sit.
viewn/aSubcommand: view the ten most recent sits.
view userNoThe staff member whose sits you want to view. Leave it out for your own. Viewing someone else's requires Administrator.
deleten/aSubcommand: delete one of your sits.
delete sit-idYesThe 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.

text
/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.

OptionRequiredWhat it is
memberNoThe 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.

text
/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.

OptionRequiredWhat it is
claimn/aClaim 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.
unclaimn/aRemove your own claim.
closen/aClose the current open ticket; optional reason.
close skip_transcriptNoClose without generating a transcript. Requires the skip-transcript permission (Head Admin by default), not ticket.
openn/aReopen a closed ticket in this channel.
deleten/aDelete 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 nameYesRename this ticket channel to exactly what you type (cleaned to what Discord allows). Discord only allows two channel renames every ten minutes.
transcriptn/aCreate a transcript of a ticket channel (defaults to here).
transcript channelNoTicket channel to export; defaults to the current channel.
transcript line_limitNoCap how many recent messages to include (1โ€“1000).
transcript formatNohtml (default) or txt. HTML returns a link; TXT posts a plain-text file to a #transcripts channel (created if needed).
close-requestn/aAsk the owner whether it is ready to close; optional reason.
escalate / escalate reasonYesPost an escalation menu listing the other ticket categories. Only the staff member who ran it can pick a destination.
newn/aOpen a Command Style Ticket when that feature is enabled for this channel.
new userNoTicket owner; defaults to you.
new typeNoPanel ticket type to open.
new reasonNoOpening reason shown in the ticket.
automation / automation actionYesStart or stop panel automations for this ticket.
timeoutn/aSet a custom auto-close timer for this ticket.
timeout hoursYesHours of inactivity before auto-close (1โ€“8760). Works even when the server-wide inactivity timer is off.
addn/aAdd a user to this ticket channel.
add userYesThe user to add.
removen/aRemove a user from this ticket channel. The person who opened the ticket cannot be removed.
remove userYesThe user to remove.
moven/aMove this ticket to a different category without touching permissions.
move categoryYesThe category to move it to.
summaryn/aGenerate an AI summary of this ticket for staff.
summary questionNoAsk an optional follow-up question about the ticket. Autocomplete suggests dashboard presets.
Note

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

text
/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.

OptionRequiredWhat it is
message_idYesThe ID of the ticket panel message to edit.
titleNoThe new title for the ticket embed.
descriptionNoThe new description for the ticket embed.
buttonsNoNew 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.

text
/edit-ticket-panel message_id:1234567890123456789 title:Open a support ticket