# Custom welcome embeds and messages

When a member opens a ticket, Ticket King posts an **opening embed** as the first message in the new channel. You can customize what this embed says. Both the embed and the message above it are **free**.

## Two places to configure it

You set the opening message per ticket option, or set a panel-wide default that every option on the panel inherits.

| Layer                   | Field                                                                                                                               |
| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| **Per-panel default**   | Panel Defaults, **Default Ticket Embed Message** (max 2048 characters) and **Default Ticket Message Content** (max 1024 characters) |
| **Per-option override** | Per-option editor, Messages tab, **Custom Embed Content** (max 2048) and **Custom Ticket Message** (max 1024)                       |

There is no separate server-wide welcome-embed setting. If you set neither, Ticket King posts its built-in localized welcome.

## Embed Message vs Message Content

Two separate fields control two separate things:

### Custom Embed Content

Goes **inside the embed** (the body text). Up to **2048 characters**. Supports rich text, variables, and emojis.

This is what you'll usually customize. "Thanks for opening a ticket! Please describe your issue in detail."

### Custom Ticket Message

Goes **above the embed** as a plain Discord message. Up to **1024 characters**. It is often used for `@mention` pings, for example pinging the support role with a short message at the top of the ticket.

You can use both, just one, or neither.

## Variables

Both fields support variables that get substituted at ticket-open time:

| Variable          | Resolves to                                                |
| ----------------- | ---------------------------------------------------------- |
| `{TICKET_NUMBER}` | The ticket's number                                        |
| `{TYPE}`          | The panel option label                                     |
| `{USER}`          | Mention of the ticket author                               |
| `{USER_ID}`       | The ticket author's Discord ID                             |
| `{USER_NAME}`     | The ticket author's display name                           |
| `{GUILD_NAME}`    | Your server name                                           |
| `{CREATED_AT}`    | Ticket creation timestamp                                  |
| `{STEAM_ID}`      | Steam ID (only when Steam Linking is on, which is Premium) |

## Form answers in the welcome embed

When the panel option has a form (option questions), the member's answers are **added to the embed's description** automatically. You do not need to add any variable for them. The answers appear in the embed below whatever Embed Content you have set.

→ [What option questions are](/docs/forms/what-option-questions-are.md)

## Free on every plan

Both **Custom Embed Content** and **Custom Ticket Message** are free for every server, with no Premium required. You can set them per option and as a panel-wide default.

## Best practices

* **Keep it short.** Members are about to talk to staff. Do not bury the next step in a wall of text.
* **Set expectations.** "A staff member will be with you shortly" is good. "Please have your order number ready" is better.
* **Use form questions for required information** instead of asking in the welcome embed.
* **Put FAQ links on the panel, not in the welcome embed.** If you want members to read the FAQ first, add a link button to the panel itself.

## Related

{% content-ref url="/pages/QNRwt6LnGKeeAJyZJBDu" %}
[What option questions are](/docs/forms/what-option-questions-are.md)
{% endcontent-ref %}

{% content-ref url="/pages/lReMpkp1b1eGwoyCCw1X" %}
[Panel-wide defaults](/docs/panels/panel-wide-defaults.md)
{% endcontent-ref %}

{% content-ref url="/pages/aHGH6BOJh48aZHUVoiWW" %}
[Per-option settings](/docs/panels/per-option-settings.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/customization-and-branding/custom-welcome-embeds.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.
