Slack Alerts Setup
Send NGINX and server alerts to a Slack channel via an Incoming Webhook. This guide walks through creating the webhook URL in Slack, registering it in Amplify, and attaching it to one or more alerts.
1. Create an Incoming Webhook in Slack
Slack has deprecated the older "custom integrations" route. The supported way is to create a small Slack App, enable Incoming Webhooks on it, and install it to your workspace. You only need to do this once per channel.
- Go to api.slack.com/apps and click Create New App → From scratch.
- Name it something like Amplify Alerts, pick your workspace, click Create App.
- In the left sidebar open Features → Incoming Webhooks and toggle Activate Incoming Webhooks to On.
- Scroll down and click Add New Webhook to Workspace.
- Pick the destination channel (e.g.
#alerts) and click Allow. Slack will create the channel-bound webhook URL. - Copy the Webhook URL from the table at the bottom of the Incoming Webhooks page. It looks like
https://hooks.slack.com/services/T.../B.../...— treat it as a secret. - (Optional) Under Features → App Home or Basic Information → Display Information, set an app icon and short description so posts have a friendly avatar in Slack.
Need a different channel later? Return to your app's Incoming Webhooks page and click Add New Webhook to Workspace again. Each click produces a fresh URL bound to one channel — paste each into Amplify as a separate webhook.
2. Register the webhook in Amplify
- In Amplify, go to Webhooks.
- Click New Webhook.
- Set Name to something memorable (e.g. Slack #alerts).
- Set Type to Slack.
- Paste the URL from step 1 into URL.
- Click Save.
Verify delivery: hit the Test button next to the new webhook on the Webhooks page — Amplify will post a sample message to the Slack channel right away. If nothing appears, double-check the URL and that the destination channel still exists.
3. Attach the webhook to alerts
Webhooks fire only for alerts they're explicitly subscribed to. From the Alerts page, edit any alert (or create a new one) and add your Slack webhook under Notification channels. One webhook can power any number of alerts; one alert can fan out to multiple webhooks.
What the message looks like
Slack posts use Slack's simple text payload, so they render as a single line in any channel:
[Amplify Alert] High CPU — system.cpu.user > 90.00 on web-01 (current: 95.00)
[Amplify] High CPU — system.cpu.user recovered on web-01 (value: 12.00)
Website-monitor alerts (site_down, site_up, http_downgrade,
cert_expiry, cf_origin_shielded) and host SSL-certificate expiry alerts use the same
channel automatically once the webhook is attached.
Troubleshooting
No messages in Slack
Click Test on the Webhooks page. If the test arrives but real alerts don't, the alert isn't subscribed to the webhook — edit the alert and add it under Notification channels. If even the test doesn't arrive, the webhook URL is stale (regenerated, revoked, or the integration was removed in Slack).
Messages stopped arriving
Slack sometimes archives unused channels. If the destination channel was archived or renamed, the webhook may silently fail. Re-open it (or pick a new channel) on the Incoming Webhooks page in Slack.
Rotating the URL
Treat the URL as a secret. To rotate, create a new Incoming Webhook in Slack, paste the new URL into the existing webhook in Amplify (Edit → URL), then remove the old one from Slack.