Skip to content

Webhook payloads ​

Notification channels of kind webhook POST JSON to your HTTPS endpoint. Discord and Slack channels use their own simple formats.

Generic webhook ​

json
{
  "text": "Fledge: Survival crashed (Survival) — exit code 137, out of memory",
  "content": "Fledge: Survival crashed (Survival) — exit code 137, out of memory",
  "event": {
    "kind": "server.crashed",
    "severity": "bad",
    "title": "Survival crashed",
    "body": "exit code 137, out of memory",
    "server": { "id": "<uuid>", "name": "Survival" },
    "nodeId": null,
    "data": { "exit": { "code": 137, "oomKilled": true } },
    "at": "2026-10-03T12:00:00.000Z"
  }
}
  • allowed_mentions is always empty, so names such as @everyone never ping anyone on Discord.
  • text and content hold the same line, so the payload works with Slack-compatible (text), Discord-compatible (content) and Mattermost endpoints unchanged.
  • event.kind is one of the notification events; severity is ok, info, warn or bad.
  • server and nodeId are null when the event is not about a server or node. data is event specific.

Step-by-step set-up, event suggestions and troubleshooting are in Discord and webhook notifications.

Discord and Slack ​

With the Better Discord Notifications plugin a Discord channel can send embeds instead (embeds, plus the same allowed_mentions).

ChannelBody
Discord{ "content": "<text>", "allowed_mentions": { "parse": [] } }
Slack{ "text": "<text>" }

Text is limited to about 1900 characters.

Delivery ​

  • POST, Content-Type: application/json, a response body limit of 64 KB, and a short timeout. Any 2xx is success.
  • Failures are recorded on the channel (last_status, last_error) and counted in fledge_notification_channels_failing.
  • Customer webhooks must be public HTTPS; administrator webhooks may target private addresses and HTTP.
  • The URL (which often contains a secret) is stored encrypted and never shown again.

Failover webhook ​

The separate webhook under Settings → Automatic failover receives node offline/online and recovery events in the same Slack/Discord/Mattermost-compatible shape.

Released under the AGPL-3.0-only license.