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

# Discord

> Send incidents to a Discord channel with a channel webhook.

The Discord integration posts every incident to a channel on your server, with the alert context and buttons that take you straight to the dashboard.

## Setting it up

<Steps>
  <Step title="Create a channel webhook">
    In your Discord server, open **Channel settings → Integrations → Webhooks → New webhook**, pick the channel that should receive incidents and click **Copy webhook URL**. The URL looks like `https://discord.com/api/webhooks/<id>/<token>`.
  </Step>

  <Step title="Add the integration in aciona.me">
    Under **Integrations → Discord**, paste the URL in **Organization configuration**. Optionally give it a **display name** (e.g. `#incidents-prod channel`) so you can recognize the destination later. Owners and admins can do this.
  </Step>

  <Step title="Test it">
    Click **Test**. A test message should show up in the channel within a few seconds.
  </Step>
</Steps>

<Tip>
  You don't need to set a name or avatar in Discord: messages already arrive as **aciona.me**, with the official icon.
</Tip>

## One channel per team

The organization configuration is the **default** for every team. Under **Team overrides**, you can point a specific team to another channel (or disable it). Teams without an override keep using the organization webhook.

Removing a team's override makes it fall back to the organization configuration, if there is one.

## What lands in the channel

An embed in the organization's language, colored by severity, with:

* Incident title and severity.
* Affected service, alert source and current owner, when there is one.
* Event time, shown in the reader's own time zone.
* **Open incident**, **Acknowledge** and **Assign to me** buttons, which open the authenticated dashboard.

Messages follow the lifecycle: creation, acknowledgement, assignment, escalation and resolution each post a message. Acknowledgement, assignment and resolution arrive **without sound or push** in Discord — only new and escalated incidents call for attention.

<Note>
  Mentions such as `@everyone`, `@here` or `@user` in the alert text **never notify anyone**. Alert content is shown as literal text.
</Note>

<Note>
  Like Slack and Teams, Discord receives the incident **regardless** of whether personal recipients were resolved. Even if the schedule points at nobody, the channel still sees the incident.
</Note>

## Good practices

<AccordionGroup>
  <Accordion title="Use a dedicated channel" icon="hash">
    A channel such as `#incidents` keeps the history readable and lets you tune Discord's own notifications for it alone.
  </Accordion>

  <Accordion title="Discord does not replace push" icon="triangle-alert">
    A channel message is visibility, not paging. Whoever is on call needs push on their phone.
  </Accordion>

  <Accordion title="Treat the webhook URL as a secret" icon="key-round">
    Anyone with the URL can post to the channel. If it leaks, delete the webhook in Discord, create a new one and update the integration in aciona.me.
  </Accordion>
</AccordionGroup>

## Troubleshooting

| Symptom | What to check |
| - | - |
| The URL is rejected | Use the URL copied from Discord, starting with `https://discord.com/api/webhooks/`. Other addresses are refused. |
| The test fails | The webhook may have been deleted in Discord, or the channel removed. Generate a new URL. |
| Nothing reaches the channel | The integration (or the team override) is **Active** and the service belongs to the expected team. |
| It lands in the wrong channel | Check whether the team has an override pointing at another webhook. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.