Docs Alert Channels

Alert Channels

Get notified where your team already works. Configure multiple channels and link them to individual monitors.

Channel Plans Setup complexity
Email 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

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

  1. Go to Alert ChannelsAdd Channel
  2. Select Email
  3. Enter the email address (can be a team distribution list)
  4. Click Send Test to verify delivery
  5. 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

  1. In Slack: AppsIncoming WebhooksAdd to Slack
  2. Choose the channel to post to, then click Allow
  3. Copy the Webhook URL (starts with https://hooks.slack.com/services/...)
  4. In is0k: Alert Channels → Add Channel → Slack → paste the webhook URL
  5. Click Send Test — you should see a test message in your Slack channel
Note: Create a dedicated #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

  1. In Discord: right-click your server → Server SettingsIntegrationsWebhooks
  2. Click New Webhook, choose the channel, copy the webhook URL
  3. In is0k: Alert Channels → Add Channel → Discord → paste the URL
  4. Click Send Test

Telegram

Receive beautifully formatted Telegram messages with emoji status indicators and monitor details.

Setup

  1. Open Telegram, search for @BotFather
  2. Send /newbot and follow the prompts to create a bot
  3. Copy the Bot Token (looks like 123456789:ABCdef...)
  4. Start a conversation with your bot, or add it to a group/channel
  5. Get your Chat ID by forwarding a message to @userinfobot
  6. 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.