Discord integration
The Discord integration uses an incoming webhook URL from a Discord channel. Site Qwality posts embeds with a colored bar (red when a monitor goes down, green when it recovers) and named fields: Monitor, Status and URL on every alert, Reason when the check reported one, and Started and Resolved on a recovery. The embed has no link back to Site Qwality.
Set up
Section titled “Set up”-
In Discord, open the target channel’s settings → Integrations → Webhooks → New Webhook.
-
Name it (for example
Site Qwality Alerts) and copy the Webhook URL. -
In Site Qwality, go to Manage → Integrations and click the Discord card. Give the integration a name, paste the URL into Webhook URL and click Add integration.
Or through the API, with POST /integration/discord:
curl -X POST https://api.siteqwality.com/integration/discord \ -H "Authorization: Bearer $SITEQWALITY_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "friendly_name": "Discord ops", "url": "https://discord.com/api/webhooks/<id>/<token>" }'The URL must be a Discord webhook URL (https://discord.com/api/webhooks/...).
Add it to a notification group
Section titled “Add it to a notification group”Right after you add the integration, the dashboard offers to do this for you: choose a group or create one, choose which monitors alert that group (the ones that already do, every monitor, or ones you pick), then send a test. If you skipped it, Route alerts on the integration’s card opens the same step. To do it by hand:
-
Go to Respond → Notifications. Click a group’s name to open it, or click Add group to make a new one.
-
Under Notifications, click Add notification method. Set Notification type to Discord and choose this integration under Integration.
-
Click Done editing, then Save changes (Create group for a new group).
Through the API, create the channel with POST /notification:
curl -X POST https://api.siteqwality.com/notification \ -H "Authorization: Bearer $SITEQWALITY_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "notification_group_id": "<your-group-id>", "type": "discord", "details": { "discord_integration_id": "<discord-integration-id>" } }'- One integration per Discord channel. Create multiple integrations for multiple destinations.
- A failed send is not retried later, so a send that Discord rate-limits can fail. See delivery guarantees.
- Heartbeat (cron) monitors and DNS record changes do not post to Discord. See the coverage table.
- Webhook URLs are secrets, since anyone with the URL can post to the channel. If one leaks, delete the webhook in Discord, add a new integration with a new URL and move your channels to it, then delete the old integration.