# Tickets

Set up the Discord ticket panel, with categories, a form, the team, ratings, transcripts and the AI agent.

Source: https://fivedash.fivex.gg/docs/en/discord/tickets

Tickets are your city's help desk on Discord. The bot posts a pinned panel with a menu of subjects; the member picks a category, answers a short form and gets a private channel with the team. When the ticket closes, they rate the support and get the conversation's transcript. This page is for owners and staff who set up and follow tickets in **Discord → Tickets**.

[Video: how to do it in under 20 seconds](https://fivedash.fivex.gg/docs/videos/discord-tickets-en.mp4)

## Before you start

* The **Discord** module must be in the organization's plan, and the bot must be connected to the Discord server (see [Bot](https://fivedash.fivex.gg/docs/en/discord/bot)).
* Tickets come with every plan. What changes per plan:

| Plan  | Ticket categories per bot | Longest transcript expiration |
| ----- | ------------------------- | ----------------------------- |
| Plus  | 5                         | 30 days                       |
| Pro   | 15                        | 180 days                      |
| Ultra | 25                        | 1 year                        |

* The **AI agent** only turns on if **FiveDash AI** is in the organization's plan (add it in **Settings → Plan**).
* The bot's role needs the **Manage Channels**, **Manage Roles**, **Connect** and **Speak** permissions to create ticket channels and calls. If one is missing, the page shows a notice naming each one.

### Access level per action

| Action                                                                            | Level in the **Tickets** area |
| --------------------------------------------------------------------------------- | ----------------------------- |
| See tickets, conversations, numbers, leaderboard and settings                     | **View**                      |
| Create and turn off a transcript's public link (**Share**)                        | **Manage**                    |
| Change categories, panel, messages and the AI agent; publish and delete the panel | **Configure**                 |

Levels are given in **Settings → Members** (see [Team and permissions](https://fivedash.fivex.gg/docs/en/dashboard/team-and-permissions)). The **Support** preset follows tickets and shares transcripts.

> Inside Discord, who handles tickets is the **support team** (Discord roles), not the dashboard level. Server administrators and anyone with **Manage Server** can always act on tickets.

## How the page is organized

The **Discord → Tickets** page has three tabs:

| Tab          | What it has                                                                                                       |
| ------------ | ----------------------------------------------------------------------------------------------------------------- |
| **Overview** | Ticket numbers, the **Team leaderboard** and the **Tickets** list with search, filters and history.               |
| **Settings** | Panel, categories, team, support, closing, rating, transcript and logs, with the **Discord preview** beside them. |
| **AI agent** | The agent that answers tickets before the team.                                                                   |

At the top are the **On** / **Off** switch and the **Publish panel** button (or **Resend panel**, after the first time). A dot on a tab means it has **Unsaved changes**.

## Set up and publish tickets

### Open the Settings tab

Go to **Discord → Tickets** and click **Settings**.

### Pick the panel channel

In **Panel → Channel**, pick where the message with the menu to open a ticket goes.

### Review the categories

In **Categories**, edit the ready-made ones or click **Add category**. Each category is one option in the menu.

### Pick the support team

In **Team → Support team**, pick the roles that handle tickets. Without a team, you can't save with tickets on.

### Turn on and save

Turn on the switch at the top (**On**) and click **Save** on the bar that shows up at the bottom.

### Publish the panel

Click **Publish panel**. The **Panel published** notice confirms the channel. From then on, every save updates the panel on Discord by itself.

> **Publish panel** stays blocked while there are unsaved changes, with tickets off, or without a channel, categories and team. Hover over it to see why.

To take the panel off Discord, click **More panel options** (the three dots next to **Resend panel**) and **Delete panel**.

## Settings

### Panel

| Field       | What it does                                                                     | Default |
| ----------- | -------------------------------------------------------------------------------- | ------- |
| **Channel** | Where the message with the menu to open a ticket goes. Required with tickets on. | None    |

### Categories

The menu's options. Each one opens tickets in a Discord category, with its own team and form. Use **Move up** / **Move down** to reorder, **Edit** to open a category and **Delete category** to remove it. Discord's menu takes up to 25 options; your plan's limit applies first.

When editing or creating a category (**New category**):

| Field                    | What it does                                                                                                                                                              | Limit          |
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- |
| **Name**                 | The option's name in the menu, with an optional emoji (from the bot's pack or Unicode). Required.                                                                         | 80 characters  |
| **Description**          | The smaller line below the name in the menu. Optional.                                                                                                                    | 100 characters |
| **Open tickets in**      | The Discord channel category where each ticket is created. Without one, the channel goes **At the top** of the server.                                                    | —              |
| **This category's team** | Roles that handle only this category. Empty uses the **Default team** (the support team). With roles picked, only they (and administrators) see and handle these tickets. | 10 roles       |
| Form questions           | The questions of the window that opens when the category is picked. The answers go into the ticket's message. With no questions, the ticket opens right away.             | 5 questions    |

Each question (**Add question**) has:

| Field             | What it does                                             | Default              |
| ----------------- | -------------------------------------------------------- | -------------------- |
| Question          | The text above the field. Required.                      | Up to 45 characters  |
| Sample            | Dimmed text inside the field before answering. Optional. | Up to 100 characters |
| **Answer length** | **Short** (one line) or **Paragraph**.                   | **Paragraph**        |
| **Required**      | Discord won't let them submit without answering.         | On                   |

Answers can be up to 1000 characters each.

### Team

| Field            | What it does                                                                                                                          | Default               |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------- | --------------------- |
| **Support team** | The roles that see every ticket, claim, add and remove people, start calls and close. Also the team for categories without their own. | None (up to 10 roles) |

### Support

| Field                  | What it does                                                                                                                                                       | Default                   |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------- |
| **Tickets per member** | How many open tickets each member can have at the same time: 1, 2, 3 or 5. Anyone over the limit gets links to the tickets they already have.                      | 1 at a time               |
| **Member can close**   | Whoever opened the ticket can close it too, not just the team.                                                                                                     | On                        |
| **Temporary calls**    | With the **Start call** button, the support team opens a voice channel just for the people in the ticket. It goes away when the team ends it or the ticket closes. | On                        |
| **Support hours**      | Tickets only open on the chosen days and hours (Brasília time). Outside them, the menu says tickets are closed and when they open.                                 | Off                       |
| **Days and hours**     | The weekdays and the **Opens at** and **Closes at** fields. An end before the start runs past midnight (e.g. 18:00 to 02:00).                                      | Every day, 09:00 to 23:00 |

### Closing

| Field                    | What it does                                                                                                | Default               |
| ------------------------ | ----------------------------------------------------------------------------------------------------------- | --------------------- |
| **Closed tickets**       | The Discord category the channel moves to on close. Whoever opened it loses access; the team still sees it. | **Leave where it is** |
| **Delete automatically** | Deletes a closed ticket's channel after 1, 3, 7, 14 or 30 days, or **Never**.                               | After 7 days          |

### Rating

| Field               | What it does                                                                                                                                                                             | Default         |
| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------- |
| **Support rating**  | When the ticket closes, whoever opened it gets a DM asking for 1 to 5 stars and a comment. The score counts toward the team's leaderboard. Off, existing scores stay on the leaderboard. | On              |
| **Ratings channel** | Optional. Each rating becomes a message here, with the stars; the comment is added when the person writes one. Without a channel, it goes to the **Log channel**.                        | **Log channel** |

### Transcript

| Field                  | What it does                                                                                                                                                                                | Default                                    |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------ |
| **Ticket transcripts** | On close, the conversation (messages, images and embeds) is saved and whoever opened it gets the link by DM. Off, nothing is saved, no link is sent and links already created stop working. | On                                         |
| **Expiration**         | How long the transcript and its link stay available after the ticket closes: 7 days, 1 month, 3 months, 6 months or 1 year, up to your plan's maximum.                                      | 6 months (or the plan's maximum, if lower) |

> A transcript keeps up to the 1000 most recent messages of the ticket. If the ticket had more, the page says only the most recent ones were saved.

### Logs

| Field           | What it does                                                                                                         | Default |
| --------------- | -------------------------------------------------------------------------------------------------------------------- | ------- |
| **Log channel** | Optional. Openings, claims, closings, reopenings and deletions, plus ratings when they don't have their own channel. | None    |

## Customize messages and embed

Next to the settings, the customize card has two items. Each one shows whether it was customized and can be restored to the default.

### Messages

Click **Messages** to open **Customize messages**. The tabs change when rating is on:

| Tab        | Field                | What it does                                                                               | Default (English city)                                                 |
| ---------- | -------------------- | ------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------- |
| **Panel**  | **Title**            | The panel's title (up to 80 characters).                                                   | Support center                                                         |
| **Panel**  | **Text**             | The panel's text (up to 1500).                                                             | Need help? Pick the subject of your request below…                     |
| **Panel**  | **Image**            | Optional. Wide (2:1), below the panel's text.                                              | None                                                                   |
| **Panel**  | **Menu text**        | What the menu shows before a category is picked (up to 100).                               | Pick the subject of your request                                       |
| **Ticket** | **Channel name**     | Each ticket's channel name (up to 60). Discord lowercases it and swaps spaces for hyphens. | `{categoria}-{numero}`                                                 |
| **Ticket** | **Title**            | The title of the message inside the ticket (up to 120).                                    | `Ticket {numero} · {categoria}`                                        |
| **Ticket** | **Message**          | The message inside the ticket (up to 1500).                                                | Hi, `{membro}`! Thanks for reaching out…                               |
| **Ticket** | **Image**            | Optional. Wide (2:1), at the end of the ticket's message.                                  | None                                                                   |
| **Ticket** | **Mention the team** | Mentions the support roles when the ticket opens, so they get notified.                    | On                                                                     |
| **Rating** | **Title**            | The rating request's title (up to 120).                                                    | How was your support?                                                  |
| **Rating** | **Message**          | Sent by DM to whoever opened the ticket, right after it closes (up to 600).                | Your ticket `{numero}` (`{categoria}`) on **`{servidor}`** was closed… |
| **Rating** | **Image**            | Optional. Wide (2:1), below the rating request.                                            | None                                                                   |

Images are PNG, JPG, WebP or GIF up to 1 MB. A city set to Portuguese starts with the Portuguese texts.

### Variables

Type the variable in the text and the bot swaps it for the real value. The variable names stay in Portuguese:

| Variable        | Becomes                               | Where it works                       |
| --------------- | ------------------------------------- | ------------------------------------ |
| `{membro}`      | Mentions whoever opened the ticket    | Ticket message, channel name         |
| `{nome}`        | The name of whoever opened the ticket | Ticket message, rating               |
| `{numero}`      | The ticket number (#0042)             | Ticket message, rating, channel name |
| `{categoria}`   | The category picked in the panel      | Ticket message, rating, channel name |
| `{responsavel}` | Who claimed the ticket                | Rating                               |
| `{servidor}`    | The Discord server's name             | Panel, ticket message, rating        |

### Embed

Click **Embed** to open **Customize embed**:

| Field             | What it does                                                                                                                    | Default       |
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------- |
| **Color**         | The side bar of the panel, the ticket and the rating.                                                                           | **Bot color** |
| **Server header** | The server's name and icon at the top of the panel.                                                                             | On            |
| **Thumbnail**     | Optional. Square, to the right of the panel.                                                                                    | None          |
| **Footer**        | Optional text below the panel (up to 100), with an icon from the bot's pack on its left. The icon only shows next to some text. | Empty         |

Thumbnail, header and footer only show on the panel, the public message with the menu.

## How a ticket works on Discord

1. The member picks a category in the panel's menu.
2. If the category has questions, the form window opens; on submit, the answers go into the ticket's message.
3. The bot creates the private channel, tells the member (**Go to the ticket**) and, with **Mention the team** on, mentions the support roles.
4. The ticket's message shows **Opened by**, **Assigned to** and the buttons below. (Buttons follow the city's language; these are the English labels.)

| Button                        | Who can                                                    | What it does                                                                                                                |
| ----------------------------- | ---------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
| **Claim**                     | Support team                                               | Marks you as the assignee. The button turns into **Claimed by** and the member is told. Only one person claims each ticket. |
| **Start call** / **End call** | Support team                                               | Opens (or closes) a voice channel just for the people in the ticket. Shows with **Temporary calls** on.                     |
| **Add**                       | Support team                                               | Adds up to 10 people to the ticket at once.                                                                                 |
| **Remove**                    | Support team                                               | Removes people who were added.                                                                                              |
| **Close**                     | Support team, and the opener if **Member can close** is on | Opens the **Close ticket** window with **Reason (optional)** (up to 300 characters).                                        |
| **Reopen**                    | Support team                                               | Shows on a closed ticket. Gives the opener access again.                                                                    |
| **Delete**                    | Support team                                               | Shows on a closed ticket. Asks for confirmation (**Delete ticket**) and deletes the channel for everyone.                   |

On close, the channel moves to the **Closed tickets** category (if set), only the team can see it, and the bot says in how many days it is deleted unless someone reopens it. The opener gets by DM:

* the **Transcript of ticket** with the **View transcript** button (with transcripts on);
* the rating request with 1 to 5 stars and the **Leave a comment** button (with rating on).

> For the transcript to keep the members' text, turn on the bot's **Message Content Intent** in the Discord Developer Portal (**Bot → Privileged Gateway Intents**). Without it, Discord hides the text and the saved conversation is incomplete.

## Follow tickets (Overview)

### Ticket numbers

| Number             | What it shows                                                                                     |
| ------------------ | ------------------------------------------------------------------------------------------------- |
| **Tickets opened** | Tickets opened and closed per day, compared with the previous 7 days.                             |
| **Open**           | How many are open now and how many are waiting for support (no assignee).                         |
| **Time to claim**  | Weekly average from when the ticket opens until someone claims it, compared with the week before. |
| **Support rating** | Average and count of ratings in the last 30 days, with **Ratings by score**.                      |

### Team leaderboard

Shows who claimed the most tickets in the period (**Week**, **Month** or **All time**), with the ticket count and the average rating. The week starts on Monday (Brasília time). Click a person to see their profile.

### Ticket list

* Search in **Search by member, number or category** (the member's ID works too).
* Filter by **All**, **Open**, **Closed** or **Deleted**.
* Columns: **Ticket**, **Member**, **Assignee**, **Status**, **Rating** and **Opened**. AI agent tickets show **Resolved by AI**, **AI handling** or **Team called**.
* Click **Refresh** to fetch new tickets. Pick 10, 25 or 50 rows per page.

Click a ticket to open its history: the full conversation, who opened it, the assignee, the rating and when it closed. While the channel still exists, **Refresh conversation** fetches the newest messages from Discord.

## Share a transcript

To show the conversation to someone who isn't on Discord, create a public link. You need the **Manage** level in **Tickets** and transcripts on.

### Open the ticket

In **Discord → Tickets → Overview**, click the ticket in the list.

### Create the link

Click **Share** and **Create link**.

### Copy and send

Click **Copy link**. Anyone with the link sees the conversation until the transcript's expiration date.

To cut access, open **Share** again and click **Turn off link**.

## AI agent

The agent answers tickets as the bot, in plain messages, before the team. It only uses what you allow and, when it doesn't know or the subject needs a decision, it calls the team and stops replying. It also stops as soon as someone on the team writes or claims the ticket.

> The agent never promises items, money, refunds or unbans, and only sees the orders of the account that opened the ticket. It always says it's a virtual assistant.

### Turn on the agent

### Check the requirements

**FiveDash AI** must be in the organization's plan, and the **Message Content Intent** must be on in the Developer Portal. Without the intent, the tab shows a notice and the agent can't be turned on.

### Open the AI agent tab

Go to **Discord → Tickets → AI agent**.

### Adjust and save

Fill in name, tone, instructions, categories and notes. Save on the bar at the bottom.

### Test first

Click **Test** to open **Test the AI agent**. Pick the test ticket's category and write as the player. The test uses what's on screen, without saving.

### Turn it on

Turn on **AI agent on**. New tickets now open with the agent.

### Agent settings

| Group                | Field                                  | What it does                                                                                                                                     | Default                                                                |
| -------------------- | -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------- |
| **Identity**         | **Name**                               | How the agent introduces itself in the ticket (up to 32 characters).                                                                             | Luna                                                                   |
| **Identity**         | **Tone**                               | **Friendly** (warm and close), **Professional** (polite and direct, no slang) or **Casual** (light and informal).                                | **Friendly**                                                           |
| **Identity**         | **Team instructions**                  | What the agent should know or never do (up to 2000 characters).                                                                                  | Empty                                                                  |
| **Knowledge**        | **The ticket's form and conversation** | What the player answered when opening it and everything said in the channel.                                                                     | **Always**                                                             |
| **Knowledge**        | **City rules**                         | The pages published in the [Rules](https://fivedash.fivex.gg/docs/en/rules/overview) module, with a link for the player when the site is online. | On                                                                     |
| **Knowledge**        | **Store**                              | The products on sale and the orders of whoever opened the ticket.                                                                                | On                                                                     |
| **Knowledge**        | **Player's files**                     | Screenshots, PDFs and text files (logs, configs) the player sends.                                                                               | On                                                                     |
| **Knowledge**        | **Team notes**                         | Ready answers that outweigh everything else: FAQs, prices, step-by-steps. Each has a title (up to 80) and text (up to 2000).                     | None (up to 20)                                                        |
| **Support**          | **Categories**                         | The tickets the agent handles. The others wait for the team.                                                                                     | **All**                                                                |
| **Support**          | **Reply on open**                      | As soon as the ticket opens, the agent greets the player and answers what they wrote in the form.                                                | On                                                                     |
| **Support**          | **Close the ticket**                   | When the player says it's solved or asks to close, the agent says goodbye and closes it. The transcript and the rating go out as usual.          | On                                                                     |
| **Calling the team** | **“Talk to the team” button**          | Sits below the first reply, so the player can call a person whenever they want.                                                                  | On                                                                     |
| **Calling the team** | **Call after**                         | After 4, 6 or 10 replies, if the player still needs help, the agent calls the team. Or **Only when needed**.                                     | 6 replies                                                              |
| **Calling the team** | **Mention the team on open**           | Off, the support roles are only mentioned when the agent hands the ticket over. On, they're mentioned when it opens too.                         | Off                                                                    |
| **Calling the team** | **Handoff message**                    | What the agent says before stepping out (up to 400). Right after, a notice mentions the team with the reason and a summary of what it saw.       | I'm getting someone from the team to continue with you, just a moment. |

The agent replies at most 30 times per ticket; after that, it calls the team. If FiveDash AI leaves the plan, the tickets it was handling go to the team.

The tab also shows the last 30 days: **Handled**, **Without the team**, **With the team**, **First reply** (median) and **Why the agent called the team**.

## FAQ

**A member says the menu tells them tickets are closed.**
**Support hours** is on and it's outside the chosen days or hours (Brasília time). Adjust it in **Settings → Support** or turn the hours off.

**I changed the texts and the panel on Discord didn't change.**
Saving already updates the published panel. If you see **Saved, but the panel wasn't updated**, check that the bot can still write in the channel and click **Resend panel**.

**Why can't I pick “Never expires” for transcripts?**
Expiration goes up to your plan's maximum: 30 days on Plus, 180 days on Pro and 1 year on Ultra.

**The transcript shows “Text hidden by Discord”.**
The bot's **Message Content Intent** is off. Turn it on in **Bot → Privileged Gateway Intents** in the Developer Portal; new tickets save the full text.

## Next steps

[Forms](https://fivedash.fivex.gg/docs/en/discord/forms)Panels with questions the team approves or refuses.
[Bot](https://fivedash.fivex.gg/docs/en/discord/bot)Connect the bot, turn on intents and pick the emoji pack.
[Team and permissions](https://fivedash.fivex.gg/docs/en/dashboard/team-and-permissions)Give staff the right level in Tickets.
[Commands](https://fivedash.fivex.gg/docs/en/discord/commands)Every slash command the bot has.
