Monitorion supports ten alert channels so you can be notified wherever your team already works. Email is available on all plans; every other channel requires a Pro or higher subscription.
Email alerts are built into every Monitorion account with no external service required. Alerts are sent via Monitorion's own transactional email infrastructure and arrive within seconds of an incident being confirmed.
SMS alerts are delivered internationally SMS carriers, with coverage in 180+ countries. International numbers in E.164 format (e.g. +447911123456) are fully supported. No third-party account needed.
+306981234567).🚨 Monitorion: api.acme.com is DOWN — Connection timeout after 30s✅ Monitorion: api.acme.com is back UP| Plan | SMS included/month | Extra credits |
|---|---|---|
| Free | — | — |
| Pro | 50 SMS/month | Yes — buy credit packs |
| Business | 200 SMS/month | Yes — buy credit packs |
| Agency | 500 SMS/month | Yes — buy credit packs |
SMS credits are additional messages you can purchase on top of your monthly plan allocation. Credits never expire and are used automatically when your monthly allocation runs out.
rate_limited in your alert logs.Your current credit balance and monthly usage are shown in Settings → Notifications → SMS Alerts. The usage bar shows plan SMS used this month; the blue card shows remaining purchased credits.
SMS supports international delivery. Rates vary by country. You do not pay per-message directly — Monitorion absorbs the cost within your plan allocation and credit purchases.
Slack alerts post rich-formatted messages to any channel. The message includes the monitor name, current status, error detail, and a button linking directly to the monitor detail page.
https://hooks.slack.com/services/).{
"text": "🔴 Monitor alert from Monitorion",
"attachments": [
{
"color": "#e53e3e",
"fields": [
{ "title": "Monitor", "value": "api.acme.com", "short": true },
{ "title": "Status", "value": "DOWN", "short": true },
{ "title": "Error", "value": "503 Service Unavailable","short": false },
{ "title": "Since", "value": "2026-06-25 14:32 UTC", "short": true }
],
"actions": [
{
"type": "button",
"text": "View Monitor",
"url": "https://app.monitorion.com/monitors/abc123"
}
]
}
]
}Discord alerts use Discord's native webhook API to post rich embeds with colour-coded status (red for down, green for recovered) to any server channel.
{
"username": "Monitorion",
"avatar_url": "https://app.monitorion.com/logo.svg",
"embeds": [
{
"title": "🔴 Monitor Down: api.acme.com",
"color": 15158332,
"fields": [
{ "name": "Status", "value": "DOWN", "inline": true },
{ "name": "Error", "value": "503 Service Unavailable", "inline": true },
{ "name": "Triggered at", "value": "2026-06-25 14:32 UTC", "inline": false },
{ "name": "Monitor URL", "value": "https://api.acme.com", "inline": false }
],
"footer": { "text": "Monitorion" },
"timestamp": "2026-06-25T14:32:00Z",
"url": "https://app.monitorion.com/monitors/abc123"
}
]
}3066993 (green). Degraded (high response time) uses 16776960 (yellow).Monitorion can send alerts to any Telegram user, group, or channel via a custom bot. The bot only needs to be a member of the target chat — it does not require admin rights.
/newbot, follow the prompts, and copy the Bot API token (looks like 110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw).https://api.telegram.org/bot<TOKEN>/getUpdates and look for chat.id. Channel IDs start with -100.🔴 *ALERT — Monitor Down*
*Monitor:* api.acme.com
*Status:* DOWN
*Error:* 503 Service Unavailable
*Since:* 2026-06-25 14:32 UTC
[View Monitor](https://app.monitorion.com/monitors/abc123)Teams alerts use Adaptive Cards posted via an incoming webhook connector. The card includes the monitor name, status, error, and a button to open the monitor.
{
"type": "message",
"attachments": [
{
"contentType": "application/vnd.microsoft.card.adaptive",
"content": {
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"type": "AdaptiveCard",
"version": "1.4",
"body": [
{
"type": "TextBlock",
"text": "🔴 Monitor Down: api.acme.com",
"weight": "Bolder",
"size": "Medium",
"color": "Attention"
},
{
"type": "FactSet",
"facts": [
{ "title": "Status", "value": "DOWN" },
{ "title": "Error", "value": "503 Service Unavailable" },
{ "title": "Since", "value": "2026-06-25 14:32 UTC" },
{ "title": "Project", "value": "Acme Corp" }
]
}
],
"actions": [
{
"type": "Action.OpenUrl",
"title": "View Monitor",
"url": "https://app.monitorion.com/monitors/abc123"
}
]
}
}
]
}Google Chat (formerly Hangouts Chat) alerts post card messages to any Google Chat space, making them ideal for Google Workspace teams.
{
"cardsV2": [
{
"cardId": "monitorion-alert",
"card": {
"header": {
"title": "Monitorion Alert",
"subtitle": "api.acme.com is DOWN",
"imageUrl": "https://app.monitorion.com/logo.svg",
"imageType": "CIRCLE"
},
"sections": [
{
"widgets": [
{
"decoratedText": {
"topLabel": "Status",
"text": "DOWN",
"startIcon": { "knownIcon": "DESCRIPTION" }
}
},
{
"decoratedText": {
"topLabel": "Error",
"text": "503 Service Unavailable",
"startIcon": { "knownIcon": "BOOKMARK" }
}
},
{
"decoratedText": {
"topLabel": "Since",
"text": "2026-06-25 14:32 UTC",
"startIcon": { "knownIcon": "CLOCK" }
}
},
{
"buttonList": {
"buttons": [
{
"text": "View Monitor",
"onClick": {
"openLink": {
"url": "https://app.monitorion.com/monitors/abc123"
}
}
}
]
}
}
]
}
]
}
}
]
}The custom webhook channel POSTs a JSON payload to any URL you specify. It supports custom HTTP headers so you can authenticate with an API key, HMAC signature, or bearer token. Use it to integrate with any system that accepts HTTP callbacks — PagerDuty alternatives, internal ticketing systems, serverless functions, Zapier, Make, n8n, and more.
Authorization: Bearer <token>X-API-Key: <key>X-Webhook-Secret: <shared-secret>{
"event": "monitor.down",
"triggered_at": "2026-06-25T14:32:00Z",
"monitor": {
"id": "abc123",
"name": "api.acme.com",
"monitor_type": "http",
"url": "https://api.acme.com/health",
"project_id": "proj_xyz"
},
"check": {
"status": "down",
"status_code": 503,
"response_time": null,
"error": "503 Service Unavailable",
"region": "eu-central",
"checked_at": "2026-06-25T14:32:00Z"
},
"incident": {
"id": "inc_789",
"started_at": "2026-06-25T14:32:00Z",
"duration_s": 0
}
}| Event | When it fires |
|---|---|
| monitor.down | Monitor transitions from up to down |
| monitor.recovered | Monitor transitions from down to up |
| monitor.degraded | Response time exceeds threshold |
| monitor.ssl_expiring | SSL certificate expires within warning window |
| monitor.domain_expiring | Domain expires within warning window |
| incident.created | New incident opened |
| incident.resolved | Incident marked resolved |
The PagerDuty integration uses the Events API v2 to create and auto-resolve incidents in your PagerDuty service. On-call schedules, escalation policies, and suppression rules configured in PagerDuty all apply automatically.
{
"routing_key": "YOUR_INTEGRATION_KEY",
"event_action": "trigger",
"dedup_key": "monitorion-abc123",
"payload": {
"summary": "[Monitorion] api.acme.com is DOWN — 503 Service Unavailable",
"severity": "critical",
"source": "api.acme.com",
"timestamp": "2026-06-25T14:32:00Z",
"custom_details": {
"monitor_id": "abc123",
"monitor_type": "http",
"url": "https://api.acme.com/health",
"status_code": 503,
"region": "eu-central",
"project": "Acme Corp"
}
},
"links": [
{
"href": "https://app.monitorion.com/monitors/abc123",
"text": "View in Monitorion"
}
]
}{
"routing_key": "YOUR_INTEGRATION_KEY",
"event_action": "resolve",
"dedup_key": "monitorion-abc123"
}dedup_key is derived from the monitor ID, ensuring that all check failures for a single monitor roll up into one PagerDuty incident rather than generating duplicate alerts. When the monitor recovers, Monitorion sends the resolve event automatically.The Jira integration automatically creates issues in your Jira Cloud project when a monitor goes down and resolves them when it recovers. Issues are created using the Jira REST API with your API token.
https://yourcompany.atlassian.net).MON-123). You can find it under Project Settings > Details in Jira.monitorion and the monitor ID to prevent duplicates. If a monitor is already down and triggers again, a comment is added to the existing open issue instead of creating a new one.Nothing is worse than being woken up at 3 AM for a false alarm. Monitorion uses two layers of verification to ensure every alert represents a real problem — not a network hiccup, DNS glitch, or deploy restart.
For single-region monitors, when a check fails we don't alert immediately. Instead, we automatically run a confirmation recheck 30 seconds later. Only if the confirmation also fails do we create an incident.
For multi-region monitors, every check runs from up to 5 global locations simultaneously. We use majority-vote consensus: your site is only flagged as down when 3 or more regions agree. A local network issue in one region won't trigger a false alarm. This is even stronger than confirmation rechecks.
On top of confirmation rechecks, single-region monitors have a configurable consecutive failure threshold. This is the number of confirmed failures required before an alert fires. Go to Monitor Settings > Alert After Consecutive Failures (1–10).
Multi-region monitors don't need this setting — consensus voting already prevents false alarms, so alerts fire on the first consensus failure.
| Check Interval | Recommended Threshold | Time to Alert |
|---|---|---|
| 30 seconds | 3 | ~90 seconds |
| 1 minute | 2 | ~2 minutes |
| 5 minutes | 2 | ~10 minutes |
| 10+ minutes | 1–2 | ~10–20 minutes |
| Hourly or daily | 1 | Full interval |
By default, Monitorion sends one alert when a monitor goes down and one when it recovers. For long-running outages you can configure a re-alert interval to receive follow-up reminders until the monitor recovers.
When a monitor that was previously down passes a check, Monitorion automatically sends a recovery notification across all the same channels that received the initial down alert.
{
"attachments": [
{
"color": "#38a169",
"fields": [
{ "title": "Monitor", "value": "api.acme.com", "short": true },
{ "title": "Status", "value": "RECOVERED", "short": true },
{ "title": "Downtime", "value": "14 min 32 sec", "short": true },
{ "title": "Recovered", "value": "2026-06-25 14:47 UTC","short": true }
]
}
]
}Schedule a maintenance window to suppress all alerts for one or more monitors during planned downtime — deployments, infrastructure changes, or scheduled maintenance. Checks still run and results are recorded; only alert delivery is paused.
Every alert dispatch — whether successful or failed — is recorded in the alert log. Use it to audit delivery, troubleshoot missing notifications, or verify that integrations are working correctly.
| Field | Description |
|---|---|
| Timestamp | When the alert was dispatched (UTC) |
| Channel | The alert channel type (email, Slack, webhook, etc.) |
| Event | monitor.down, monitor.recovered, etc. |
| Status | Delivered, Failed, or Retrying |
| Response | HTTP status returned by the channel endpoint |
| Retries | Number of delivery attempts made |
Our support team can walk you through any integration.