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

# Integrations — Discord

> Set up Discord notifications about orders and daily sales reports.

With the Discord integration, your shop will automatically send messages to a channel of your choice — alerts about new orders and daily sales summaries. It's a great way to stay on top of things without logging into the panel.

<Frame caption="The Discord integration setup screen">
  <img src="https://mintcdn.com/andcze/6Qp9zwUm8VUzRssf/images/panel/integrations.png?fit=max&auto=format&n=6Qp9zwUm8VUzRssf&q=85&s=9d62023c8b5f4c70c90661866da7f49f" alt="The Discord integration settings panel" width="1280" height="720" data-path="images/panel/integrations.png" />
</Frame>

## Where to find it

Discord has its **own page** in the left-hand menu — under **Integrations → Discord** (next to payment operators). This is where you connect the channel and decide how the messages it sends should look.

The page is split into **Connection** (the webhook URL + the daily-reports toggle) and two appearance tabs: **Order notifications** and **Daily reports**. Each one has an **embed editor with a live preview** — on the right you immediately see how the message will look on Discord.

<Tip>
  Every appearance field (title, color, sender name, message) comes **pre-filled with sensible default values** — the same ones the shop would use automatically. You don't have to fill anything in for the messages to look good; just change what you want.
</Tip>

## Connecting Discord

For your shop to be able to send messages to your Discord server, you need to provide what's known as a webhook URL. It's a special link you create on Discord's side — it points to the channel where the notifications should arrive.

<Steps>
  <Step title="Create a webhook on Discord">
    In your Discord server's settings, go to **Integrations → Webhooks**, create a new webhook, and choose the channel where you want to receive messages. Then copy its URL.
  </Step>

  <Step title="Paste the webhook URL into the panel">
    Open **Integrations → Discord** in the left-hand menu and paste the copied URL into the **Discord webhook URL** field (in the **Connection** section). The URL has to be a full, valid link (it starts with `https://discord.com/api/webhooks/...`) — if you paste anything else, the panel will show a message about an invalid URL and won't let you save.
  </Step>

  <Step title="Save the integration">
    Click **Save integration** at the bottom of the page. From now on, your shop will be able to send notifications to the chosen channel.
  </Step>
</Steps>

<Warning>
  Treat the webhook URL like a password — don't share it with anyone. Anyone who knows it can send messages to your channel.
</Warning>

<Note>
  If you leave the webhook URL field empty, no messages will be sent — regardless of whether you have the individual notifications turned on. The webhook URL is the foundation of the whole integration.
</Note>

## What you can send to Discord

Once the webhook is connected, you decide which kinds of messages should arrive on the channel. You have two independent types of notification at your disposal, each with its own look and its own switch:

<Columns cols={2}>
  <Card title="Order notifications" icon="bell">
    A message sent automatically after every new, paid order — so you know right away that someone has bought something.
  </Card>

  <Card title="Daily sales reports" icon="chart-line">
    A combined summary of the previous day's sales, once a day — revenue, number of orders, and customers all in one place.
  </Card>
</Columns>

<Tip>
  The two types are completely independent of each other. You can turn on just order notifications, just daily reports, both at once, or neither. Each one also has its own look — a different title, color, sender name, and avatar.
</Tip>

## Order notifications

These are messages sent automatically after every new order. You'll find them on the **Order notifications** tab, in the **Embed appearance** panel (with a live preview on the right). You can fully customize their look and content.

<Columns cols={2}>
  <Card title="Notifications switch" icon="toggle-right">
    The **"Send a notification about new orders"** toggle decides whether these messages should go out at all. Turn it off if you want to pause purchase notifications for a while without touching the webhook URL.
  </Card>

  <Card title="Embed title" icon="heading">
    The heading shown at the top of the message, e.g. "🛒 New order". Up to 120 characters.
  </Card>

  <Card title="Embed color" icon="palette">
    The color of the vertical bar next to the message — you pick it from a color palette. Match it to your server's colors.
  </Card>

  <Card title="Sender name" icon="user">
    The name your shop will go by on the channel, e.g. "ItemShop". Up to 80 characters.
  </Card>

  <Card title="Sender avatar URL" icon="image">
    The address of the profile picture shown next to the messages — for example, your shop's logo. It has to be a valid web address.
  </Card>

  <Card title="Message above the embed" icon="message-square">
    Text shown above the notification (optional), where you can use data from the order. Up to 1500 characters.
  </Card>
</Columns>

<Note>
  The **title**, **color**, **sender name**, and **message** come pre-filled with sensible defaults — the message looks good with no configuration at all. Change them only if you want them more "on brand" for your shop. The **avatar URL** stays empty (optional) — add e.g. your shop logo.
</Note>

### Data you can insert into an order message

In the **Message above the embed** field, you can use the placeholders below. They'll be automatically replaced with the real data from the order:

| Placeholder       | What it inserts                                 |
| ----------------- | ----------------------------------------------- |
| `{nick}`          | The username of the player who placed the order |
| `{product}`       | The name of the product purchased               |
| `{amount}`        | The order amount                                |
| `{server}`        | The server the purchase relates to              |
| `{orderId}`       | The order number                                |
| `{date}`          | The order date                                  |
| `{paymentMethod}` | The chosen payment method                       |
| `{quantity}`      | The number of units purchased                   |

<Tip>
  Use placeholders to make your messages personal. For example, this entry: `Player {nick} just bought {product} for {amount}! 🎉` will turn into a specific message with the data from a real order.
</Tip>

## Daily sales reports

Besides notifications about individual orders, you can turn on daily summaries. Once a day, your shop will send a sales rundown for the previous day to Discord.

Daily reports have **two switches** that you control separately:

<Columns cols={2}>
  <Card title="Send daily sales reports" icon="power">
    The main reports switch — you'll find it in the **Connection** section, right below the webhook URL field. Only when it's on will your shop send daily summaries at all.
  </Card>

  <Card title="Personalize the daily report embed" icon="sliders-horizontal">
    The toggle on the **Daily reports** tab, in the **Embed appearance** panel. It decides whether your own appearance settings (title, color, sender name, avatar, message) should be used for the report. Off = the report goes out in its default version.
  </Card>
</Columns>

<Note>
  For reports to start arriving, first turn on the main **"Send daily sales reports"** switch. The personalization below only changes how they look — on its own, it doesn't trigger sending.
</Note>

Reports have the same appearance fields as order notifications — you can give them a different **title** (e.g. "📊 Daily report"), **embed color**, **sender name**, **avatar**, and your **own message**. The same limits apply: title up to 120 characters, sender name up to 80 characters, message up to 1500 characters, and the avatar has to be a valid web address.

### Data you can insert into a daily report

| Placeholder   | What it inserts                                   |
| ------------- | ------------------------------------------------- |
| `{date}`      | The date the report covers                        |
| `{revenue}`   | Total revenue for the day                         |
| `{net}`       | Revenue after costs are deducted (the net amount) |
| `{orders}`    | Number of orders                                  |
| `{customers}` | Number of customers                               |

<Tip>
  Just like with orders — use placeholders to make your reports personal. Example: `📊 Summary for {date}: {orders} orders, revenue {revenue}, net {net}.`
</Tip>

<Note>
  The placeholders from order notifications and from daily reports aren't interchangeable. In a daily report, use only the placeholders from the table above.
</Note>

## Saving your changes

You save all the integration settings with **a single "Save integration" button** at the bottom of the page — it covers both tabs (orders and reports). Until you click it, your changes won't be kept.

<Warning>
  If you enter something invalid in any field — a wrong webhook URL, a bad avatar address, or an invalid color — a red message will appear next to that field, and the save will fail. Fix the highlighted field and click save again.
</Warning>

<Note>
  The save button itself is only visible to people with permission to edit settings. A team member without that permission can see the tab, but can't change its settings.
</Note>

## Frequently asked questions

<AccordionGroup>
  <Accordion title="Nothing's arriving on Discord — what should I check?">
    First, make sure the **Discord webhook URL** field is filled in with a valid address. Then check the right switch: for orders, the **"Send a notification about new orders"** toggle has to be on, and for reports — **"Send daily sales reports"**. Finally, make sure you've clicked **Save integration**.
  </Accordion>

  <Accordion title="Messages are going to the wrong channel.">
    The webhook URL is tied to a specific channel on Discord. To change the channel, create a new webhook on Discord's side for the right channel and paste its URL into the **Discord webhook URL** field, then save.
  </Accordion>

  <Accordion title="Daily reports aren't arriving, even though I have personalization turned on.">
    Personalization only changes how the report looks — it doesn't trigger sending. Also turn on the main **"Send daily sales reports"** switch at the top of the section.
  </Accordion>

  <Accordion title="I want to pause notifications for a while, but not delete the webhook.">
    You don't have to remove the URL. Simply turn off the relevant toggle — **"Send a notification about new orders"** or **"Send daily sales reports"** — and save. The webhook URL will stay saved for later.
  </Accordion>

  <Accordion title="The messages look 'bare', without the shop's name and logo.">
    That means the appearance fields (title, sender name, avatar) are empty and Discord is using its defaults. Fill in the **Embed title**, **Sender name**, and **Avatar URL**, and the messages will take on your shop's character.
  </Accordion>
</AccordionGroup>

## Best practices

<Tip>
  * **A separate channel for notifications** — create a dedicated channel on Discord (e.g. `#orders`) just for messages from the shop. That way they're easier not to miss.
  * **Guard the webhook like a password** — don't paste the webhook URL anywhere public. Whoever knows it can post to your channel.
  * **Personalize the look** — fill in the title, sender name, and avatar (e.g. your shop's logo) so the notifications stand out and are instantly associated with your shop.
  * **Make use of placeholders** — messages with `{nick}`, `{product}`, or `{amount}` are far more readable than a dry embed. In reports, reach for `{revenue}`, `{orders}`, and `{date}`.
  * **Don't mix up the two report switches** — first the main **"Send daily sales reports"**, and only then the personalization. Without the main one, no reports will go out.
  * **Always click "Save integration"** — no integration setting will work until you save the page.
  * **Make a test purchase** — the best way to test the integration is a test order: you'll see right away whether and how the notification looks on the channel.
</Tip>
