FleetWP Docs
Platform

Notifications & alerts

Route fleet alerts to email, Slack, and signed webhooks, and control exactly which events go where.

FleetWP sends alerts through multiple channels and lets you decide, per event type, which channels receive them. Everything is configured on the fleet Notifications page (admin only).

Channels

  • Email: sent to your configured recipients; falls back to the workspace owner's email if no recipients are set.
  • Slack: an incoming-webhook URL from your own Slack app, so alerts carry your brand. See Connect Slack.
  • Webhook: a signed HTTP POST to your endpoint. Each request carries an X-FleetWP-Signature: sha256=<hmac> header so you can verify authenticity with your webhook secret.

Slack and webhook deliveries go through an SSRF guard. Delivery is best-effort and isolated per channel: a failure in one never blocks the others or your monitoring.

Connect Slack

FleetWP posts to Slack through an incoming webhook on a Slack app that you create. Because the app is yours, alerts arrive under your agency's name and logo, and FleetWP's name never appears in your Slack or your clients'. Setup takes about two minutes.

  1. Go to api.slack.com/apps and click Create New App. Under "Or start your own way", choose Blank app, then click Continue.
  2. Name the app after your agency (for example "Acme Alerts") and choose the Slack workspace that should receive alerts, then create the app.
  3. Optional but recommended: under Basic Information, scroll to Display Information and upload your logo. Set a background color too if you like. This is the name and icon shown on every alert.
  4. In the left menu, open Incoming Webhooks and switch Activate Incoming Webhooks on.
  5. Scroll down and click Add New Webhook. Pick the channel the alerts should go to and click Allow.
  6. Copy the new webhook URL. It starts with https://hooks.slack.com/services/.
  7. In FleetWP, open Notifications, paste the URL into Slack incoming webhook, and click Save.
  8. Click Test next to the Slack field. A test alert should appear in your channel within a few seconds.

Then use the routing matrix to choose which alerts go to Slack. Every alert type is on by default.

Good to know

  • Use a Slack app, not the old "Incoming WebHooks" integration. The legacy integration in the Slack app directory is being retired by Slack. If your current URL came from it, create an app as above and paste the new URL.
  • Private channels: you must be a member of a private channel to pick it in step 5.
  • Admin approval: if your Slack workspace restricts app installs, step 5 sends a request to your Slack admin instead. Alerts start once they approve.
  • Changing the channel: add a new webhook for the other channel (step 5), paste the new URL into FleetWP, and remove the old webhook in Slack.
  • One channel per workspace: all Slack alerts for a FleetWP workspace go to one channel.
  • Keep the URL private. Anyone with it can post to your channel. If it leaks, remove that webhook in Slack and add a new one.

Alert kinds

KindFires whenSource
uptimeA site goes down or recoversUptime cron
offlineThe site is up but the agent is silentUptime cron
securityA new high/critical hardening findingScan cron
backupA backup failsBackup status callback
errorsA new fatal/parse PHP errorHeartbeat
linksNew broken links foundManual link scan
edgeA Cloudflare threats spikeEdge cron

Routing matrix

The Notifications page has a matrix of alert kind × channel. By default an alert goes to every channel that's configured. Absence means on. Untick a cell to stop a specific kind from reaching a specific channel.

Testing

Each channel has a Send test button so you can confirm delivery end-to-end. You can also rotate the webhook signing secret from the same page.

On this page