Alert Channels
Get notified where your team already works. Configure multiple channels and link them to individual monitors.
| Channel | Plans | Setup complexity |
|---|---|---|
| All plans | Trivial | |
| Slack | Hobby+ | Easy (webhook) |
| Discord | Hobby+ | Easy (webhook) |
| Telegram | Hobby+ | Easy (bot token + chat ID) |
| Webhook | Hobby+ | Moderate (custom HTTP endpoint) |
| SMS | Business+ | Requires Twilio account |
Email alerts are included on every plan, including the free tier. Alert emails include: the monitor name, URL, failure reason, timestamp, and a link to the monitor dashboard.
Setup
- Go to Alert Channels → Add Channel
- Select Email
- Enter the email address (can be a team distribution list)
- Click Send Test to verify delivery
- Link the channel to one or more monitors
Slack
is0k posts rich Slack messages using Block Kit formatting — color-coded by status (green = up, red = down), with response time, error details, and a button to open the monitor.
Setup
- In Slack: Apps → Incoming Webhooks → Add to Slack
- Choose the channel to post to, then click Allow
- Copy the Webhook URL (starts with
https://hooks.slack.com/services/...) - In is0k: Alert Channels → Add Channel → Slack → paste the webhook URL
- Click Send Test — you should see a test message in your Slack channel
#alerts or #incidents channel so monitoring noise doesn't bury regular team conversation.
Discord
is0k sends Discord embeds with color-coded status (green/red/yellow), monitor details, and response time.
Setup
- In Discord: right-click your server → Server Settings → Integrations → Webhooks
- Click New Webhook, choose the channel, copy the webhook URL
- In is0k: Alert Channels → Add Channel → Discord → paste the URL
- Click Send Test
Telegram
Receive beautifully formatted Telegram messages with emoji status indicators and monitor details.
Setup
- Open Telegram, search for @BotFather
- Send
/newbotand follow the prompts to create a bot - Copy the Bot Token (looks like
123456789:ABCdef...) - Start a conversation with your bot, or add it to a group/channel
- Get your Chat ID by forwarding a message to @userinfobot
- In is0k: Alert Channels → Add Channel → Telegram → enter bot token + chat ID
Webhooks
Send alert payloads to any HTTP endpoint. is0k signs every request with HMAC-SHA256 so you can verify authenticity. Failed deliveries are retried with exponential backoff (1s, 2s, 4s).
Payload format
POST https://your-server.com/webhook
Content-Type: application/json
X-Is0k-Signature: sha256=<hmac>
{
"event": "monitor.down",
"monitor": {
"id": "mon_abc123",
"name": "Production API",
"url": "https://api.example.com/health",
"type": "http"
},
"check": {
"status": "down",
"status_code": 503,
"response_time_ms": 12043,
"error": "connection timeout",
"region": "us-east",
"checked_at": "2026-02-20T14:32:11Z"
}
} Verifying the signature
// Node.js example
import crypto from 'crypto';
const signature = req.headers['x-is0k-signature'];
const expectedSig = 'sha256=' + crypto
.createHmac('sha256', process.env.WEBHOOK_SECRET)
.update(req.body)
.digest('hex');
if (!crypto.timingSafeEqual(
Buffer.from(signature),
Buffer.from(expectedSig)
)) {
return res.status(401).send('Invalid signature');
} Event types
monitor.downmonitor.upmonitor.degradedssl.expiringssl.expired Alert Thresholds & Rate Limiting
Avoid alert fatigue with configurable thresholds:
- Failure threshold — Number of consecutive failures before alerting (default: 2). Prevents false positives from transient issues.
- Rate limiting — Alerts are de-duplicated within a 5-minute window per monitor/channel. You won't receive 50 alerts if a check fails repeatedly.
- Recovery alerts — Automatically sent when a monitor recovers, with total downtime duration.