Docs / Community

Tickets

A private support channel per member, opened from a button, answered by whoever is actually on duty.

What it does

You post one panel in a public channel. A member clicks its button and Cyndrix opens a private channel that only they and your support roles can see. Every message is saved as a transcript you can read back in the dashboard long after the channel is gone.

It replaces "DM a mod and hope they're awake": every request lands in one place, any available staff member can pick it up, and nothing is lost in someone's inbox.

After close, the opener is asked for an optional 1โ€“5 star rating. They can tap Skip โ€” Cyndrix will not ask again, and a skip is not counted against your average.

On-duty pings

Pinging @Support at 4am wakes everyone who happens to have the role. Set Staff ping to On-duty staff and each support role gets a partner duty role instead โ€” @Tech pairs with @on duty Tech, @CS with @on duty CS โ€” so a new ticket mentions only the people actually around.

A ticket option listing two support roles pings both duty roles. Two options sharing a support role share its duty role, so this grows on its own as you add teams.

It follows Discord status by itself. Online, idle or do-not-disturb puts a staff member on duty; going offline or invisible takes them off, usually within a minute. Nobody has to remember to clock in.

For "online but not taking tickets", publish the duty board to a staff channel from Dashboard โ†’ Tickets โ†’ Duty. It shows a live head count per team, flags any team with nobody on it, and gives staff an Available / Not taking tickets switch. Prefer clocking on by hand? Turn off Follow Discord status and the board becomes one button per team.

Nobody on duty is never silence. That ticket falls back to pinging the whole support role, and the welcome message says why.

Running your own bot on Nexus? Automatic on-duty needs the Presence Intent switched on for your application โ€” Discord Developer Portal โ†’ your app โ†’ Bot โ†’ Presence Intent. Your bot picks the change up on its own within about ten minutes; there is nothing to restart. Until then everything else works and staff clock on from the board by hand.

Closing a ticket

Closing no longer destroys the channel. Staff pick one of two:

Members closing their own ticket always take the first path, and so does /supportclose unless you pass delete:true.

Archived channels are deleted automatically after 7 days โ€” change or disable that in Setup. Worth knowing before you set it to never: Discord caps a server at 500 channels, and at that ceiling no new ticket can be opened at all. The transcript is kept in the dashboard either way, so the channel is only a convenience.

Setup

  1. Dashboard โ†’ Tickets โ†’ enable.
  2. Pick the panel channel (where the button lives โ€” somewhere everyone can see, like #support) and the category new ticket channels are created under.
  3. Add your support roles. Only these roles โ€” plus the member who opened it โ€” can see a ticket.
  4. Write the panel title, description, button label, emoji and colour, then publish it.
  5. Set max open tickets per user so one person can't spawn twenty channels.
  6. Under Close & archive, choose how long the opener keeps access after a close and how long archived channels are kept.
  7. For on-duty pings: the Duty tab โ†’ Create missing duty roles โ†’ pick a staff channel โ†’ Publish Duty Board.

Move the panel later and the old message stops working โ€” republish rather than copying it by hand.

Good habits

What members see

๐ŸŽซ Opening a ticket
๐Ÿ‘ค
member
*clicks* ๐Ÿ“ฉ Open a ticket
๐Ÿ”ฅ
Cyndrix BOT
๐ŸŽซ Opened #ticket-0042 โ€” only you and the support team can see it. Describe the problem there and someone will pick it up.
๐Ÿ“„ Closed with transcript
๐Ÿ”ฅ Tickets ยท ticket closed
ticket-0042 ยท closed by @staffmember
Opened by: @member Open for: 14 minutes Messages: 23 Transcript: saved
๐ŸŸข Staff Duty Board
๐Ÿ”ฅ Tickets ยท live head count
Who is on duty right now
Tech: 3 on duty CS: 0 on duty ยท uncovered Mod: 7 on duty
๐Ÿ”” A ticket that only wakes the right people
๐Ÿ‘ค
member
*clicks* ๐Ÿ› Bug report
๐Ÿ”ฅ
Cyndrix BOT
@on duty Tech โ€” ๐ŸŽซ Ticket opened by @member.
๐Ÿ‘ค
member
*clicks* ๐Ÿ’ณ Payment
๐Ÿ”ฅ
Cyndrix BOT
@CS โ€” ๐ŸŽซ Ticket opened by @member.
๐Ÿ”• No one is on duty for CS right now, so the whole team was pinged.

Commands 4

Generated from the bot's source โ€” this list is always what is actually deployed.

/supportadd EVERYONE

Add a member to this ticket channel

userrequiredThe member to add to this ticket
/supportremove EVERYONE

Remove a member from this ticket channel

userrequiredThe member to remove from this ticket
/supportclose EVERYONE

Close this ticket

statusoptionalResolved or unresolved (defaults to unresolved)
reasonoptionalOptional close reason
deleteoptionalDelete the channel instead of archiving it (skips the rating prompt)
/ticket EVERYONE

Ticket staff tools

/ticket renamesubcommandRename this ticket channel
/ticket prioritysubcommandSet this ticket's priority
/ticket notesubcommandAdd an internal staff note
/ticket snippetsubcommandPost a canned reply
/ticket blocksubcommandBlock a member from opening tickets
/ticket unblocksubcommandAllow a member to open tickets again

Related