Slack alerts when your service goes down
Your API can look fine on your laptop and still be down for customers — deploy stuck, DNS wrong, TLS expired, region outage. External uptime monitoring hits your public health URL from the internet. Slack is where indie teams already live, so routing owner alerts there beats refreshing a dashboard.
StillOnline sends plain-text messages to a Slack Incoming Webhook you control. No Slack App review and no global bot token on our servers — only your webhook URL stored in account settings.
What you get in Slack
After a check is configured, StillOnline can post to your channel when:
| Event | When |
|---|---|
| Check down | Probe fails twice in a row (degraded → down). Throttled to at most once every 15 minutes per owner (same as email). |
| Check recovered | Status returns to operational after down/degraded. |
| 24h stability | Check stays operational for 24 hours without an outage (milestone message). |
Each message includes project name, check name, URL, and a link to your public status page.
StillOnline does not post every failed probe — only status transitions and the stability milestone.
Before you connect Slack
- A StillOnline account — sign in (Google or GitHub).
- A project with an HTTP check — URL that should return 2xx (see health check quickstart).
- Permission in Slack to add an app / incoming webhook to a channel (often
#alerts,#incidents, or a private channel).
On Free, pick one owner alert channel: Email, Telegram, or Slack. On Pro / Ultimate, you can enable email, Telegram, and Slack together (Pricing).
Part A — Create a Slack Incoming Webhook
Step 1 — Open Slack API apps
Go to api.slack.com/apps and sign in to the workspace where you want alerts.
Step 2 — Create an app
- Click Create New App.
- Choose From scratch.
- App Name: e.g.
StillOnline Alerts. - Workspace: select your team → Create App.
Step 3 — Enable Incoming Webhooks
-
In the left sidebar, open Incoming Webhooks.
-
Turn Activate Incoming Webhooks to On.
-
Click Add New Webhook to Workspace at the bottom.
-
Choose the channel (e.g.
#alertsor#devops) → Allow. -
Copy the webhook URL — it looks like:
https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX
Keep this URL secret. Anyone with it can post to that channel.
Step 4 — (Optional) Restrict the channel
Use a dedicated channel so uptime messages do not mix with product chat. Mute the channel if you only want @mentions on down events (Slack client settings).
Part B — Connect the webhook in StillOnline
Step 5 — Open owner notification settings
- Go to https://stillonline.tech/en/app/settings.
- Scroll to Owner notifications.
Step 6 — Paste the webhook and enable Slack
- In the Slack section, paste the Incoming Webhook URL into the field.
- Check Slack alerts.
- On Free, under Free: one channel, select Slack (if you use email today, switching to Slack disables email alerts until you change it back or upgrade).
- Click Save.
If the URL is invalid (not https://hooks.slack.com/services/...), the form will reject it.
Step 7 — Confirm a check exists
In Projects, open your project and ensure an HTTP check points at your live URL (e.g. https://api.example.com/health). The worker probes on your plan interval (5 minutes on Free).
Part C — Verify alerts work
Step 8 — Trigger a test down (carefully)
Pick a non-production check or a temporary URL:
- Edit the check URL to something that returns 500 or is unreachable, or pause your service briefly in a staging environment.
- Wait for two failed probe cycles (up to ~10 minutes on a 5-minute interval).
- You should see a Slack message like StillOnline — check down with project and URL.
Step 9 — Confirm recovery
Restore the correct URL or service. After the next successful probes, you should get StillOnline — check recovered.
Do not rely on Slack alone for compliance — keep your status page linked for customers.
Slack vs email vs Telegram
| Channel | Best for |
|---|---|
| Slack | Teams already in Slack; #alerts for on-call visibility |
| Founders who live in inbox; works on Free as the single channel | |
| Telegram | Mobile-first; link bot in settings, same down/recovery/24h events |
Subscribers on the public status page still get email when they subscribe with Google — that is separate from owner Slack alerts.
Limits and troubleshooting
| Issue | What to check |
|---|---|
| No message on failure | Check enabled? Two failures needed for down? Free plan: Slack selected as the only channel? |
| Webhook saved but silent | URL copied fully; channel not archived; Slack app not removed from workspace |
| Too many messages | Down alerts are throttled (15 min); recovery and 24h are separate |
| Message in wrong workspace | Webhook is per-workspace — create another app if you use multiple teams |
StillOnline logs delivery in the database (NotificationLog, channel SLACK) for support debugging.
Related guides
- Health check URL quickstart — create the URL Slack will watch.
- Best uptime monitoring for indie SaaS 2026 — how we compare to other tools.
- MCP for agents — recreate checks from Cursor on Pro.
FAQ
Do I need a paid Slack plan?
Incoming Webhooks work on free Slack workspaces. You need permission to install apps in the workspace.
Can I send alerts to a DM?
Some teams add the webhook to a private channel or use Slack workflows. The standard path is a channel webhook from Add New Webhook to Workspace.
Does StillOnline support Slack OAuth or slash commands?
Not yet. Owner alerts use Incoming Webhooks only — simpler setup, no Slack marketplace review.
Will I get an alert on every timeout?
No. Status must flip to down (after consecutive failures). Transient blips may show as degraded on the status page without a down alert.
Can I use Slack and email on Free?
No — one owner channel on Free. Pro allows email + Telegram + Slack together.
Is the webhook URL stored securely?
Treat it like a password. Rotate by creating a new webhook in Slack and updating settings. Leave the field blank on save to keep the previous URL unchanged.