Tutorial: Slack Notifications
This tutorial walks through setting up Slack alert notifications from scratch — create a Slack app, add it as a receiver in the console, and verify delivery.
Prerequisites
Section titled “Prerequisites”- A Kupe Cloud tenant with at least one cluster.
- Admin access to a Slack workspace (permission to install apps).
Step 1: Create the Slack app
Section titled “Step 1: Create the Slack app”- Go to https://api.slack.com/apps and click Create New App.
- Select From scratch.
- Set the app name to Kupe Alerts, select your workspace, and click Create App.
- On the Basic Information page, scroll to Display Information:
- Set Short description to
Alert notifications from Kupe Cloud - Optionally, upload an App icon — you can download ours from kupe.cloud/brand/kupe-icon.png
- Click Save Changes
- Set Short description to
- Click Incoming Webhooks in the left sidebar.
- Toggle Activate Incoming Webhooks to On.
- Click Add New Webhook to Workspace.
- Select the channel where alerts should be posted (e.g.,
#alerts) and click Allow. - Copy the Webhook URL — it looks like
https://hooks.slack.com/services/T.../B.../xxx.
Keep this URL — you will paste it into the console in the next step.
Step 2: Add the receiver in the console
Section titled “Step 2: Add the receiver in the console”- In the Kupe Console, navigate to Alerting > Notifications.
- On the Receivers tab, click Add Receiver.
- Select Slack as the notification type.
- Fill in the form:
- Name: a descriptive name, e.g.,
slack-alerts - Webhook URL: paste the URL from Step 1
- Send resolved: leave enabled to get notified when alerts recover
- Name: a descriptive name, e.g.,
- Click Create.
The receiver appears in the list with rich notification templates pre-configured — severity-aware colors, per-alert detail with summary, description, runbook links, and labels.
Step 3: Verify delivery
Section titled “Step 3: Verify delivery”Click the Test button on your new receiver. You should see a test notification arrive in your Slack channel within a few seconds.
The test alert auto-resolves immediately, so if you enabled Send resolved, you will also see a green resolution message shortly after.
Step 4: Configure routing (optional)
Section titled “Step 4: Configure routing (optional)”By default, all alerts go to the first receiver you created. If you want specific alerts to go to specific channels, set up routing rules.
- Switch to the Routing tab.
- Click Add Routing Rule.
- Select your receiver and add matchers, for example:
severity = critical— route critical alerts to this channelteam = backend— route team-specific alerts
See Alerting > Routing Rules for full details on matchers, continue matching, and grouping overrides.
Multiple channels
Section titled “Multiple channels”To send alerts to different Slack channels, create additional webhooks in your Kupe Alerts app:
- Go back to your app at https://api.slack.com/apps.
- Click Incoming Webhooks → Add New Webhook to Workspace.
- Select a different channel (e.g.,
#critical-alerts). - Copy the new webhook URL.
- In the console, create a new receiver with this URL.
- Add a routing rule to direct specific alerts to it.
You only need one Slack app — each webhook targets a different channel.
Troubleshooting
Section titled “Troubleshooting”Test button shows success but no message in Slack
Section titled “Test button shows success but no message in Slack”- Verify the webhook URL is correct — copy it again from your Slack app settings.
- Check the channel still exists and hasn’t been archived.
- Try posting directly to the webhook with curl to isolate the issue:
Terminal window curl -X POST -H 'Content-type: application/json' \--data '{"text":"Test from curl"}' \'https://hooks.slack.com/services/YOUR/WEBHOOK/URL'
Messages arrive but look plain
Section titled “Messages arrive but look plain”The receiver ships with rich templates by default. If you previously created the receiver with an older version, edit it and the templates will be populated automatically.
Webhook returns 403 or invalid_payload
Section titled “Webhook returns 403 or invalid_payload”- 403 Forbidden: the Slack app may have been uninstalled from your workspace. Reinstall it.
- invalid_payload: the webhook URL may have been revoked. Create a new webhook in your app settings.
Further reading
Section titled “Further reading”- Alerting — alert rules, receivers, routing, and Go template customization
- Slack incoming webhooks — Slack documentation