Skip to content

Discord

Discord’s webhook integration is simpler than Slack’s — works great for homelab and small team alerting.

  1. Open the Discord server where you want alerts
  2. Server Settings → Integrations → Webhooks → New Webhook
  3. Choose the channel (e.g. #alerts)
  4. Name the webhook (e.g. dockmesh)
  5. Optionally upload an avatar
  6. Copy the Webhook URL — looks like https://discord.com/api/webhooks/.../...

Settings → Channels → New channel → Discord

FieldValue
Namealerts
Webhook URLpaste from Discord
Mention role (optional)@here, @everyone, or a specific role ID like <@&123456789>
Severity filterAll / Warning+ / Critical only

Click Send test — message should land in your channel.

Discord webhooks can ping specific roles. For on-call pager behavior:

  1. Create an @oncall role in Discord, assign to the person currently on-call
  2. Get the role ID — right-click role with developer mode enabled → Copy ID
  3. In dockmesh, set Mention role to <@&1234567890> (format: <@& + role ID + >)
  4. Set severity filter to Critical only so you don’t spam the pager for warnings

Critical alerts now ping the @oncall role. Non-critical alerts arrive silently.

Typical setup:

SeverityDiscord channel
Info#alerts-log (muted)
Warning#alerts-warn
Critical#alerts-crit with @oncall role mention

Create three Discord webhooks + three dockmesh channels, one per severity.

Discord renders the alert as an embed:

  • Color-coded left border (red/amber/blue)
  • Title: the rule name
  • Body: target, metric, value, threshold
  • Timestamp
  • Link button “View in dockmesh”

Rate limiting:

  • Discord rate-limits webhooks at 30 requests per 60 seconds per channel
  • dockmesh automatically backs off on 429 Too Many Requests
  • For heavy alert volume, split across multiple channels

Embed too long:

  • Discord limits embed bodies to 4096 chars
  • Rare in practice, but long alert context (e.g. error logs) may be truncated with a “see full in dockmesh” link