# What custom commands are

<i class="fa-crown">:crown:</i> **Premium feature.** Custom Commands let you set up **prefix-style** triggers your staff can type to send a saved response with one short command.

A custom command fires when someone types the trigger text in a Discord channel. For example, typing `!faq` in a ticket channel makes the bot post your saved FAQ response.

## These are not slash commands

Ticket King's custom commands are **prefix triggers**. The bot watches for the trigger text in normal messages. They are not Discord slash commands.

What this means:

* They do not appear in the `/` slash-command picker.
* The trigger is exactly the text the user types. Many teams use a `!` prefix, but any text works.
* The bot needs permission to read messages in the channel so it can see the trigger.

## What you configure

On the dashboard, open **Custom Commands** in the sidebar. The page is Premium.

For each command you set:

* **Command name**, your reference for it. Up to 100 characters. It is lowercased and must be unique in your server. Users do not see it.
* **Command trigger**, the text users type, for example `!faq`.
* **Response content**, up to 2000 characters.
* **Embeds**, optional, up to 10.
* **Link buttons**, optional, up to 5 rows of up to 5 buttons.
* **Permissions**, either Allow All Staff or a list of specific roles.
* **Options**, the Enabled, Ticket Only, Delete Command Message, and Reply to Command Message toggles.

[Creating a custom command](/docs/custom-commands/creating-a-command.md)

## Limits

* Up to **25 custom commands** per server.
* Free servers cannot create custom commands.

## Use cases

Common things custom commands are used for:

* FAQ replies. A staff member types `!faq.refund` and the bot posts your standard refund answer.
* Quick greetings. `!greet` for a friendly hello in a new ticket.
* Wrong-ticket nudges. `!wrongticket` to redirect a member politely.
* Server rules. `!rules` reposts the rules in a ticket.
* Common troubleshooting steps. `!restart` for "have you tried restarting?".

[Use cases](/docs/custom-commands/use-cases.md)

## Ticket-only commands

A command can be set to **Ticket Only**, so it works only inside ticket channels. Ticket-only commands can also use ticket placeholders, such as `{TICKET_NUMBER}` and `{USER}`.

Use this when a command only makes sense inside a ticket and should not fire in general channels.

## Permissions

Each command has a permissions section:

* **Allow All Staff**, so anyone with a server-wide support role can use the command.
* Or specific roles, chosen with a role selector.

A user does not need to be a server admin to use a command. Holding an allowed role is enough.

## Related

{% content-ref url="/pages/reYPizVLVHsc3ThwnHHX" %}
[Creating a custom command](/docs/custom-commands/creating-a-command.md)
{% endcontent-ref %}

{% content-ref url="/pages/iVFbqYWYBHtp3ivnAepW" %}
[Editing and deleting commands](/docs/custom-commands/editing-and-deleting.md)
{% endcontent-ref %}

{% content-ref url="/pages/CuVk7QZ2JZv7g18xkmkV" %}
[Use cases](/docs/custom-commands/use-cases.md)
{% endcontent-ref %}

{% content-ref url="/pages/ZrRf8S81rIkZBeccc3Wv" %}
[Limits](/docs/custom-commands/limits.md)
{% endcontent-ref %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://ticketking.xyz/docs/custom-commands/overview.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
