> ## Documentation Index
> Fetch the complete documentation index at: https://docs.invaro.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Ticket Boards

> Create and manage ticket boards with fully customisable categories, message blocks, roles, and transcript logging

Ticket Boards let your Discord members open support tickets by clicking a button or selecting from a dropdown. Each board contains one or more **categories** — each category is a distinct ticket type with its own channel, staff roles, log channel, and optional modal questions. The board message is built using content blocks and posted directly to a Discord channel.

***

## Overview Tab

The Overview tab gives you a snapshot of your ticket system:

* Total tickets, open tickets, and closed tickets across all boards
* A summary of all boards showing their category count and Discord live status
* Plan usage showing how many boards you've used out of your limit

***

## Plan Limits

| Plan          | Boards    | Categories per Board |
| ------------- | --------- | -------------------- |
| Free          | 2         | 4                    |
| Invaro+       | 2         | 4                    |
| Invaro+ Boost | Unlimited | Unlimited            |

***

## Creating a Board

<Steps>
  <Step title="Open the Boards tab">
    Navigate to **Tickets** in your portal dashboard and select the **Boards** tab. Click **New Board**.
  </Step>

  <Step title="General settings">
    Configure the board's core options in the **General** section:

    * **Board name** — internal label used in logs and the dashboard
    * **Discord channel** — where the board message is posted
    * **Display type** — **Buttons** (each category is its own button) or **Select menu** (a dropdown selector)
    * **Components position** — place buttons **outside** the container block or **inside** it
    * **Use container** — wraps the message in a Discord container block with an accent colour and optional spoiler
    * **Accent colour** — the left-border colour of the container block (6-digit hex)
    * **Spoiler** — hides the container content until clicked
    * **Enabled** — disabled boards won't accept new tickets
  </Step>

  <Step title="Build the message">
    Switch to the **Message** section to build the content shown in Discord above the buttons. Add blocks in any combination:

    * **Text** — a markdown text block
    * **Separator** — a visual divider with configurable spacing
    * **Media** — one or more image URLs with optional descriptions

    A live Discord preview updates as you build. You can expand the preview into a larger modal using the **Expand** button.
  </Step>

  <Step title="Add categories">
    Switch to the **Categories** section and click **Add category**. Each category represents one ticket type and has its own settings:

    <Accordion title="Category settings">
      <ResponseField name="Name" type="string" required>
        The label shown on the button or in the dropdown. Max 64 characters.
      </ResponseField>

      <ResponseField name="Emoji" type="emoji">
        Optional emoji shown alongside the name. Supports standard Unicode emoji and your server's custom emoji.
      </ResponseField>

      <ResponseField name="Description" type="string">
        Shown inside the ticket channel when it first opens. Max 2500 characters.
      </ResponseField>

      <ResponseField name="Open message" type="string">
        Sent into the ticket channel as the first message after the channel is created. Max 2500 characters.
      </ResponseField>

      <ResponseField name="Questions" type="modal">
        Optional modal questions presented to the user before the ticket opens. Each question has a label, description, placeholder, short or paragraph style, required toggle, and optional min/max character limits.
      </ResponseField>

      <ResponseField name="Button colour" type="select">
        The colour of the category's button: **Blurple** (Primary), **Grey** (Secondary), **Green** (Success), or **Red** (Danger).
      </ResponseField>

      <ResponseField name="Ticket category" type="select">
        The Discord channel category where ticket channels are created.
      </ResponseField>

      <ResponseField name="Log channel" type="select">
        The Discord channel where transcripts are posted when a ticket closes.
      </ResponseField>

      <ResponseField name="Ticket limit" type="number">
        Maximum simultaneous open tickets per user for this category. Default is 1, max is 50.
      </ResponseField>

      <ResponseField name="Staff roles" type="roles">
        Discord roles that can view and reply to tickets in this category.
      </ResponseField>

      <ResponseField name="Admin roles" type="roles">
        Discord roles with full control — can force-close, delete, and manage all tickets.
      </ResponseField>
    </Accordion>

    Categories can be toggled enabled or disabled individually using the eye icon, and removed using the trash icon. Each category is collapsed by default; click the header row to expand it.
  </Step>

  <Step title="Save and send">
    Click **Create board** (or **Save changes** when editing). If a Discord channel is configured, Invaro will automatically send or update the board message in that channel.

    <Info>
      When saving a board that already has a live Discord message, you'll be prompted to confirm the update. The message will show an "edited" marker in Discord.
    </Info>
  </Step>
</Steps>

***

## Sending Boards to Discord

Each board in the Boards tab shows a Discord status indicator:

* **Live** (green) — the board message is currently posted in Discord
* **Send to Discord** (amber) — a channel is configured but the message hasn't been sent yet
* **No channel** — no channel has been set; configure one in the board editor first

Click **Send to Discord** on any board row to post it. If the board is already live, a refresh icon lets you resend the message. A direct link to the Discord message is also shown when the board is live.

***

## Logs Tab

The Logs tab gives a full history of all tickets across every board.

**Filter options:**

* Search by opener's username
* Filter by status: **All**, **Open**, or **Closed**
* Filter by board

Each log entry shows the opener's avatar and username, the category name, when the ticket was opened, how long it was open, and its current status. Click the **eye icon** to open the transcript viewer.

### Transcripts

The transcript viewer displays the full conversation in a Discord-style chat layout — staff replies appear on the right, user messages on the left. The header shows the ticket ID, opener, open time, duration, message count, and close reason if one was recorded. Click **Export** to download the transcript as a `.txt` file.

***

## Managing Boards

From the Boards tab you can:

| Action     | Description                                                                                                                                   |
| ---------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| **Edit**   | Click the settings icon to open the board editor and update any setting.                                                                      |
| **Delete** | Click the trash icon to permanently delete the board. A confirmation dialog will appear. Ticket logs are kept separately and are not deleted. |

Deleting a board that has a live Discord message will also remove that message from Discord.

***

## Access Control

Only portal **Owners** and **Admins** can create, edit, and manage ticket boards. The Tickets page is not accessible to staff members without Owner or Admin status.
