- Home
- Integrations
Send alerts where your team already is
Ten channels, one-minute setup, a test button that proves it works. Pick a channel to see exactly what lands in it, before you connect anything.
10 channels · Chat, e-mail and webhooks. No SMS and no voice calls: that is deliberate, and PagerDuty can phone someone if you need it.
10 channels
- Starter+ Slack Chat Incoming webhook into a channel Setup →
- Starter+ Telegram Chat Alerts in a chat or group, reply /ack Setup →
- Free Email Notifications Included on every plan Setup →
- Free Discord Chat Channel webhook, on the Free plan Setup →
- Starter+ Microsoft Teams Chat Incoming webhook connector Setup →
- Free Google Chat Chat Incoming webhook for a space Setup →
- Starter+ Mattermost Chat Incoming webhook, self-hosted too Setup →
- Pro+ Webhook Webhooks Signed JSON POST to any URL Setup →
- Agency+ Zapier Connectors Catch Hook, the zap gets the JSON Setup →
- Agency+ PagerDuty Connectors Events API v2, trigger and resolve Setup →
No channel matches. Try “chat” or “webhook”.
Pick a channel, press the button
The same alert as it looks in each tool. Four events: a site going down, recovering, an SSL certificate about to expire and a missed heartbeat.
Down
DOWN · Client A shop
Client A shop · HTTP 503 Service Unavailable · confirmed from Amsterdam (AMS), London (LON)
Error: HTTP 503 Service UnavailableConfirmed by: Amsterdam (AMS), London (LON)Target: https://shop.clienta.comClient: Client A
AcknowledgeOpen incident
Check the server / hosting panel. Acknowledge so the team knows you are on it. · checked from Frankfurt
Simulation: nothing is sent from this page.
Three steps, about a minute
Chat tools use a webhook URL you paste, not an OAuth screen, so Tenium can only post to the one channel you chose.
- 1
Paste the webhook URL
Create an incoming webhook in the tool and paste the URL. We check its shape before saving.
SlackSaved - 2
Press Test
A test alert goes to the channel within seconds.
Save the contact first
- 3
Attach to monitors
Make it a default or pick it per monitor.
Save the contact first
Interactive mock, nothing is saved.
Which plan do I need?
Every plan has email. Chat channels start on Free; Slack, Telegram, Teams and Mattermost on Starter; webhooks on Pro; Zapier and PagerDuty on Agency.
| Channel | Free $0 | Starter $7/month | Pro $29/month | Agency $59/month |
|---|---|---|---|---|
| Slack | — | ✓ | ✓ | ✓ |
| Telegram | — | ✓ | ✓ | ✓ |
| ✓ | ✓ | ✓ | ✓ | |
| Discord | ✓ | ✓ | ✓ | ✓ |
| Microsoft Teams | — | ✓ | ✓ | ✓ |
| Google Chat | ✓ | ✓ | ✓ | ✓ |
| Mattermost | — | ✓ | ✓ | ✓ |
| Webhook | — | — | ✓ | ✓ |
| Zapier | — | — | — | ✓ |
| PagerDuty | — | — | — | ✓ |
| Escalation | ||||
| Alert delay (escalation) | — | — | ✓ | ✓ |
| Alerts per hour, all channels | 40 | 300 | 1,500 | 6,000 |
Prices in US dollars. An alert delay holds a contact back until the incident has stayed open for N minutes, and acknowledging stops it.
Quiet first, louder if nobody answers
Give each contact a delay. Email goes out at once, Slack after one minute if the incident is still open, PagerDuty after five. The moment someone acknowledges, the chain stops.
- ! Site down, confirmed2 of 2 regions agree. Incident opens.
- Email to the teamNo delay: sent immediately.Sent
- Slack #alertsOnly if the incident is still open and unacknowledged.Waiting
- PagerDuty incidentPages the on-call engineer if nobody has reacted.Waiting
Alert delays need Pro; Slack starts on Starter; PagerDuty on Agency.
Signed, so you can trust them
Webhook requests carry an HMAC-SHA256 signature over the raw body. Check it before you act on a payload.
- JSON body for down, blocked, up, degraded, heartbeat missed, SSL and domain expiry and test events
- Timestamp inside the signature: reject requests older than five minutes
- Failed deliveries are retried up to 3 attempts in total, 30 seconds apart
Request headers
POST https://example.com/tenium-hook Content-Type: application/json X-Tenium-Signature: t=1737279554,v1=5f3a9c1e07b2…
Verify in Node
import { createHmac, timingSafeEqual } from 'node:crypto';
export function verify(rawBody, header, secret) {
const p = Object.fromEntries(header.split(',').map((s) => s.split('=')));
const mac = createHmac('sha256', secret)
.update(`${p.t}.${rawBody}`).digest('hex');
return timingSafeEqual(Buffer.from(mac), Buffer.from(p.v1));
}Integrations FAQ
Which integrations does Tenium have?
Email, Discord, Google Chat, Slack, Telegram, Microsoft Teams, Mattermost, signed webhooks, Zapier and PagerDuty. That is the full list: there is no SMS, no voice call and no mobile app.
Do I need OAuth to connect Slack or Teams?
No. Slack, Teams, Mattermost, Discord and Google Chat use a webhook URL you paste. Tenium can post to that channel only and cannot read your workspace.
Which plan includes which channel?
Email, Discord and Google Chat are on every plan including Free. Slack, Telegram, Teams and Mattermost start at Starter ($7/month). Webhooks start at Pro ($29). Zapier and PagerDuty are on Agency ($59).
How do I test a channel?
Press Send test next to the contact in Settings, Contacts. A message labelled TEST is delivered within seconds. You need at least one monitor, because the checker dispatches alerts. The demo on this page is a simulation and sends nothing.
Can I send different clients to different channels?
Yes. Add one contact per destination and choose contacts per monitor. Monitors with no list use your default contacts, and a contact can belong to a client workspace.
How do I verify a webhook?
Each request has an X-Tenium-Signature header with a timestamp and an HMAC-SHA256 signature of the raw body. The docs have a Node example, and you should reject anything older than five minutes.
Is SMS or voice available?
No. Alerts go to Telegram, chat tools, email and webhooks. If you need a phone call at night, connect PagerDuty and let it page the on-call engineer.
Can you add an integration I need?
Anything that accepts a webhook already works through the signed webhook contact (Pro) or Zapier (Agency). For a native integration, email us what you use and why; the roadmap page lists what is planned and what is not.
Connect your first channel in a minute
Start free with email, Discord and Google Chat. 30 monitors, no card.
Slack
Chat · Available from Starter
Incoming webhook into a channel
What arrives
Down
DOWN · Client A shop
Client A shop · HTTP 503 Service Unavailable · confirmed from Amsterdam (AMS), London (LON)
Error: HTTP 503 Service UnavailableConfirmed by: Amsterdam (AMS), London (LON)Target: https://shop.clienta.comClient: Client A
AcknowledgeOpen incident
Check the server / hosting panel. Acknowledge so the team knows you are on it. · checked from Frankfurt
Simulation: nothing is sent from this page.
Connect in three steps
- Create an incoming webhook in Slack
- Paste it in Tenium and press Test
- Attach it to your monitors
Telegram
Chat · Available from Starter
Alerts in a chat or group, reply /ack
What arrives
Down
Tenium
🔴 DOWN · Client A shop · HTTP 503 Service Unavailable · confirmed from Amsterdam (AMS), London (LON)
reply /ack or acknowledge · open incident
Simulation: nothing is sent from this page.
Connect in three steps
- Press Connect in Tenium
- Press Start in the chat
- Test, then attach to monitors
Notifications · every plan
Included on every plan
What arrives
Down
[DOWN] Client A shop — HTTP 503 Service Unavailable
Tenium alerts <[email protected]>
DOWN
Client A shop
| Error | HTTP 503 Service Unavailable |
| Confirmed by | Amsterdam (AMS), London (LON) |
| Target | https://shop.clienta.com |
| Client | Client A |
| Next step | Check the server / hosting panel. Acknowledge so the team knows you are on it. |
AcknowledgeOpen incident
Simulation: nothing is sent from this page.
Connect in three steps
- Add the address
- Confirm it
- Test and attach
Discord
Chat · every plan
Channel webhook, on the Free plan
What arrives
Down
DOWN · Client A shop · HTTP 503 Service Unavailable · confirmed from Amsterdam (AMS), London (LON)
Simulation: nothing is sent from this page.
Connect in three steps
- Create a webhook in the channel
- Paste it in Tenium and press Test
- Attach it to monitors
Microsoft Teams
Chat · Available from Starter
Incoming webhook connector
What arrives
Down
DOWN · Client A shop
Client A shop · HTTP 503 Service Unavailable · confirmed from Amsterdam (AMS), London (LON)
| Error | HTTP 503 Service Unavailable |
| Confirmed by | Amsterdam (AMS), London (LON) |
| Target | https://shop.clienta.com |
| Client | Client A |
| Next step | Check the server / hosting panel. Acknowledge so the team knows you are on it. |
AcknowledgeOpen incident
Simulation: nothing is sent from this page.
Connect in three steps
- Add the webhook connector
- Paste it in Tenium and press Test
- Attach it to monitors
Google Chat
Chat · every plan
Incoming webhook for a space
What arrives
Down
DOWN · Client A shop
Client A shop · HTTP 503 Service Unavailable · confirmed from Amsterdam (AMS), London (LON)
Simulation: nothing is sent from this page.
Connect in three steps
- Add a webhook to the space
- Paste it in Tenium and press Test
- Attach it to monitors
Mattermost
Chat · Available from Starter
Incoming webhook, self-hosted too
What arrives
Down
DOWN · Client A shop
Client A shop · HTTP 503 Service Unavailable · confirmed from Amsterdam (AMS), London (LON)
Simulation: nothing is sent from this page.
Connect in three steps
- Create an incoming webhook
- Paste it in Tenium and press Test
- Attach it to monitors
Webhook
Webhooks · Available from Pro
Signed JSON POST to any URL
What arrives
Down
POST https://example.com/tenium-hook Content-Type: application/json X-Tenium-Signature: t=1737279554,v1=5f3a9c1e07b2…
{
"event": "down",
"sentAt": "2026-01-19T09:39:14Z",
"account": {
"id": "0f8e…",
"name": "Your Studio"
},
"clientWorkspace": {
"id": "9a8b…",
"name": "Client A"
},
"monitor": {
"id": "a3f1…",
"name": "Client A shop",
"type": "http",
"url": "https://shop.clienta.com"
},
"incident": {
"id": "e5b4…",
"status": "open",
"startedAt": "2026-01-19T09:35:02Z",
"resolvedAt": null,
"durationSec": null,
"summary": "HTTP 503 Service Unavailable",
"confirmedBy": [
"fra",
"lon",
"nyc"
],
"url": "https://app.tenium.app/incidents/e5b4…"
}
} Simulation: nothing is sent from this page.
Connect in three steps
- Expose an endpoint
- Paste the URL and keep the secret
- Verify the signature, then attach
Zapier
Connectors · Available from Agency
Catch Hook, the zap gets the JSON
What arrives
Down
Webhooks by Zapier → Catch Hook Content-Type: application/json X-Tenium-Signature: t=1737279554,v1=5f3a9c1e07b2…
{
"event": "down",
"sentAt": "2026-01-19T09:39:14Z",
"account": {
"id": "0f8e…",
"name": "Your Studio"
},
"clientWorkspace": {
"id": "9a8b…",
"name": "Client A"
},
"monitor": {
"id": "a3f1…",
"name": "Client A shop",
"type": "http",
"url": "https://shop.clienta.com"
},
"incident": {
"id": "e5b4…",
"status": "open",
"startedAt": "2026-01-19T09:35:02Z",
"resolvedAt": null,
"durationSec": null,
"summary": "HTTP 503 Service Unavailable",
"confirmedBy": [
"fra",
"lon",
"nyc"
],
"url": "https://app.tenium.app/incidents/e5b4…"
}
} Simulation: nothing is sent from this page.
Connect in three steps
- Create a Zap with Catch Hook
- Paste it in Tenium and press Test
- Build the action, then attach
PagerDuty
Connectors · Available from Agency
Events API v2, trigger and resolve
What arrives
Down
Triggeredcritical
DOWN · Client A shop: Client A shop · HTTP 503 Service Unavailable · confirmed from Amsterdam (AMS), London (LON)
| Source | https://shop.clienta.com |
| Action | event_action: trigger |
| Dedup key | incident id e5b4… |
Simulation: nothing is sent from this page.
Connect in three steps
- Add an Events API v2 integration
- Paste the key and press Test
- Attach it to the monitors that matter
DOWN · Client A shop
Client A shop · HTTP 503 Service Unavailable · confirmed from Amsterdam (AMS), London (LON)
Error: HTTP 503 Service UnavailableConfirmed by: Amsterdam (AMS), London (LON)Target: https://shop.clienta.comClient: Client A
AcknowledgeOpen incident
Check the server / hosting panel. Acknowledge so the team knows you are on it. · checked from Frankfurt
UP · Client A shop
Client A shop is back up after 4m 12s
Duration: 4m 12sWas: HTTP 503 Service UnavailableTarget: https://shop.clienta.comClient: Client A
Open incident
Nothing to do. Add a root-cause note on the incident if you know what happened. · checked from Frankfurt
SSL EXPIRES IN 7 DAYS · Client A shop
SSL certificate for Client A shop expires in 7 days
SSL certificate: expires in 7 daysTarget: https://shop.clienta.comClient: Client A
Open monitor
Renew the certificate (or check that auto-renewal is running) before it expires. · checked from Frankfurt
MISSED · Nightly backup
Nightly backup · No ping received for 26 min
Error: No ping received for 26 minConfirmed by: Frankfurt (FRA)Target: heartbeat: nightly-backupClient: Client A
AcknowledgeOpen incident
The job did not ping on time. Check the cron/task runner and its logs. · checked from Frankfurt
Tenium
🔴 DOWN · Client A shop · HTTP 503 Service Unavailable · confirmed from Amsterdam (AMS), London (LON)
reply /ack or acknowledge · open incident
Tenium
🔴 MISSED · Nightly backup · No ping received for 26 min · confirmed from Frankfurt (FRA)
reply /ack or acknowledge · open incident
[DOWN] Client A shop — HTTP 503 Service Unavailable
Tenium alerts <[email protected]>
DOWN
Client A shop
| Error | HTTP 503 Service Unavailable |
| Confirmed by | Amsterdam (AMS), London (LON) |
| Target | https://shop.clienta.com |
| Client | Client A |
| Next step | Check the server / hosting panel. Acknowledge so the team knows you are on it. |
AcknowledgeOpen incident
[UP] Client A shop — back after 4m 12s
Tenium alerts <[email protected]>
UP
Client A shop
| Duration | 4m 12s |
| Was | HTTP 503 Service Unavailable |
| Target | https://shop.clienta.com |
| Client | Client A |
| Next step | Nothing to do. Add a root-cause note on the incident if you know what happened. |
Open incident
[SSL EXPIRES IN 7 DAYS] Client A shop — expires in 7 days
Tenium alerts <[email protected]>
SSL EXPIRES IN 7 DAYS
Client A shop
| SSL certificate | expires in 7 days |
| Target | https://shop.clienta.com |
| Client | Client A |
| Next step | Renew the certificate (or check that auto-renewal is running) before it expires. |
Open monitor
[MISSED] Nightly backup — No ping received for 26 min
Tenium alerts <[email protected]>
MISSED
Nightly backup
| Error | No ping received for 26 min |
| Confirmed by | Frankfurt (FRA) |
| Target | heartbeat: nightly-backup |
| Client | Client A |
| Next step | The job did not ping on time. Check the cron/task runner and its logs. |
AcknowledgeOpen incident
DOWN · Client A shop · HTTP 503 Service Unavailable · confirmed from Amsterdam (AMS), London (LON)
UP · Client A shop is back up after 4m 12s
SSL EXPIRES IN 7 DAYS · SSL certificate for Client A shop expires in 7 days
MISSED · Nightly backup · No ping received for 26 min
DOWN · Client A shop
Client A shop · HTTP 503 Service Unavailable · confirmed from Amsterdam (AMS), London (LON)
| Error | HTTP 503 Service Unavailable |
| Confirmed by | Amsterdam (AMS), London (LON) |
| Target | https://shop.clienta.com |
| Client | Client A |
| Next step | Check the server / hosting panel. Acknowledge so the team knows you are on it. |
AcknowledgeOpen incident
UP · Client A shop
Client A shop is back up after 4m 12s
| Duration | 4m 12s |
| Was | HTTP 503 Service Unavailable |
| Target | https://shop.clienta.com |
| Client | Client A |
| Next step | Nothing to do. Add a root-cause note on the incident if you know what happened. |
Open incident
SSL EXPIRES IN 7 DAYS · Client A shop
SSL certificate for Client A shop expires in 7 days
| SSL certificate | expires in 7 days |
| Target | https://shop.clienta.com |
| Client | Client A |
| Next step | Renew the certificate (or check that auto-renewal is running) before it expires. |
Open monitor
MISSED · Nightly backup
Nightly backup · No ping received for 26 min
| Error | No ping received for 26 min |
| Confirmed by | Frankfurt (FRA) |
| Target | heartbeat: nightly-backup |
| Client | Client A |
| Next step | The job did not ping on time. Check the cron/task runner and its logs. |
AcknowledgeOpen incident
DOWN · Client A shop
Client A shop · HTTP 503 Service Unavailable · confirmed from Amsterdam (AMS), London (LON)
SSL EXPIRES IN 7 DAYS · Client A shop
SSL certificate for Client A shop expires in 7 days
MISSED · Nightly backup
Nightly backup · No ping received for 26 min
DOWN · Client A shop
Client A shop · HTTP 503 Service Unavailable · confirmed from Amsterdam (AMS), London (LON)
SSL EXPIRES IN 7 DAYS · Client A shop
SSL certificate for Client A shop expires in 7 days
MISSED · Nightly backup
Nightly backup · No ping received for 26 min
POST https://example.com/tenium-hook Content-Type: application/json X-Tenium-Signature: t=1737279554,v1=5f3a9c1e07b2…
{
"event": "down",
"sentAt": "2026-01-19T09:39:14Z",
"account": {
"id": "0f8e…",
"name": "Your Studio"
},
"clientWorkspace": {
"id": "9a8b…",
"name": "Client A"
},
"monitor": {
"id": "a3f1…",
"name": "Client A shop",
"type": "http",
"url": "https://shop.clienta.com"
},
"incident": {
"id": "e5b4…",
"status": "open",
"startedAt": "2026-01-19T09:35:02Z",
"resolvedAt": null,
"durationSec": null,
"summary": "HTTP 503 Service Unavailable",
"confirmedBy": [
"fra",
"lon",
"nyc"
],
"url": "https://app.tenium.app/incidents/e5b4…"
}
} POST https://example.com/tenium-hook Content-Type: application/json X-Tenium-Signature: t=1737279554,v1=5f3a9c1e07b2…
{
"event": "up",
"sentAt": "2026-01-19T09:39:14Z",
"account": {
"id": "0f8e…",
"name": "Your Studio"
},
"clientWorkspace": {
"id": "9a8b…",
"name": "Client A"
},
"monitor": {
"id": "a3f1…",
"name": "Client A shop",
"type": "http",
"url": "https://shop.clienta.com"
},
"incident": {
"id": "e5b4…",
"status": "resolved",
"startedAt": "2026-01-19T09:35:02Z",
"resolvedAt": "2026-01-19T09:39:14Z",
"durationSec": 252,
"summary": "4m 12s",
"confirmedBy": [
"fra",
"lon",
"nyc"
],
"url": "https://app.tenium.app/incidents/e5b4…"
}
} POST https://example.com/tenium-hook Content-Type: application/json X-Tenium-Signature: t=1737279554,v1=5f3a9c1e07b2…
{
"event": "ssl_expiry",
"sentAt": "2026-01-19T09:39:14Z",
"account": {
"id": "0f8e…",
"name": "Your Studio"
},
"clientWorkspace": {
"id": "9a8b…",
"name": "Client A"
},
"monitor": {
"id": "a3f1…",
"name": "Client A shop",
"type": "http",
"url": "https://shop.clienta.com"
},
"expiry": {
"kind": "ssl",
"daysLeft": 7,
"expiresAt": "2026-01-26T00:00:00Z"
}
} POST https://example.com/tenium-hook Content-Type: application/json X-Tenium-Signature: t=1737279554,v1=5f3a9c1e07b2…
{
"event": "heartbeat_missed",
"sentAt": "2026-01-19T09:39:14Z",
"account": {
"id": "0f8e…",
"name": "Your Studio"
},
"clientWorkspace": {
"id": "9a8b…",
"name": "Client A"
},
"monitor": {
"id": "a3f1…",
"name": "Nightly backup",
"type": "heartbeat",
"url": "https://shop.clienta.com"
},
"incident": {
"id": "e5b4…",
"status": "open",
"startedAt": "2026-01-19T09:35:02Z",
"resolvedAt": null,
"durationSec": null,
"summary": "No ping received for 26 min",
"confirmedBy": [
"fra",
"lon",
"nyc"
],
"url": "https://app.tenium.app/incidents/e5b4…"
}
} Webhooks by Zapier → Catch Hook Content-Type: application/json X-Tenium-Signature: t=1737279554,v1=5f3a9c1e07b2…
{
"event": "down",
"sentAt": "2026-01-19T09:39:14Z",
"account": {
"id": "0f8e…",
"name": "Your Studio"
},
"clientWorkspace": {
"id": "9a8b…",
"name": "Client A"
},
"monitor": {
"id": "a3f1…",
"name": "Client A shop",
"type": "http",
"url": "https://shop.clienta.com"
},
"incident": {
"id": "e5b4…",
"status": "open",
"startedAt": "2026-01-19T09:35:02Z",
"resolvedAt": null,
"durationSec": null,
"summary": "HTTP 503 Service Unavailable",
"confirmedBy": [
"fra",
"lon",
"nyc"
],
"url": "https://app.tenium.app/incidents/e5b4…"
}
} Webhooks by Zapier → Catch Hook Content-Type: application/json X-Tenium-Signature: t=1737279554,v1=5f3a9c1e07b2…
{
"event": "up",
"sentAt": "2026-01-19T09:39:14Z",
"account": {
"id": "0f8e…",
"name": "Your Studio"
},
"clientWorkspace": {
"id": "9a8b…",
"name": "Client A"
},
"monitor": {
"id": "a3f1…",
"name": "Client A shop",
"type": "http",
"url": "https://shop.clienta.com"
},
"incident": {
"id": "e5b4…",
"status": "resolved",
"startedAt": "2026-01-19T09:35:02Z",
"resolvedAt": "2026-01-19T09:39:14Z",
"durationSec": 252,
"summary": "4m 12s",
"confirmedBy": [
"fra",
"lon",
"nyc"
],
"url": "https://app.tenium.app/incidents/e5b4…"
}
} Webhooks by Zapier → Catch Hook Content-Type: application/json X-Tenium-Signature: t=1737279554,v1=5f3a9c1e07b2…
{
"event": "ssl_expiry",
"sentAt": "2026-01-19T09:39:14Z",
"account": {
"id": "0f8e…",
"name": "Your Studio"
},
"clientWorkspace": {
"id": "9a8b…",
"name": "Client A"
},
"monitor": {
"id": "a3f1…",
"name": "Client A shop",
"type": "http",
"url": "https://shop.clienta.com"
},
"expiry": {
"kind": "ssl",
"daysLeft": 7,
"expiresAt": "2026-01-26T00:00:00Z"
}
} Webhooks by Zapier → Catch Hook Content-Type: application/json X-Tenium-Signature: t=1737279554,v1=5f3a9c1e07b2…
{
"event": "heartbeat_missed",
"sentAt": "2026-01-19T09:39:14Z",
"account": {
"id": "0f8e…",
"name": "Your Studio"
},
"clientWorkspace": {
"id": "9a8b…",
"name": "Client A"
},
"monitor": {
"id": "a3f1…",
"name": "Nightly backup",
"type": "heartbeat",
"url": "https://shop.clienta.com"
},
"incident": {
"id": "e5b4…",
"status": "open",
"startedAt": "2026-01-19T09:35:02Z",
"resolvedAt": null,
"durationSec": null,
"summary": "No ping received for 26 min",
"confirmedBy": [
"fra",
"lon",
"nyc"
],
"url": "https://app.tenium.app/incidents/e5b4…"
}
} Triggeredcritical
DOWN · Client A shop: Client A shop · HTTP 503 Service Unavailable · confirmed from Amsterdam (AMS), London (LON)
| Source | https://shop.clienta.com |
| Action | event_action: trigger |
| Dedup key | incident id e5b4… |
Resolvedinfo
UP · Client A shop: Client A shop is back up after 4m 12s
| Source | https://shop.clienta.com |
| Action | event_action: resolve |
| Dedup key | incident id e5b4… |
Triggeredwarning
SSL EXPIRES IN 7 DAYS · Client A shop: SSL certificate for Client A shop expires in 7 days
| Source | https://shop.clienta.com |
| Action | event_action: trigger |
| Dedup key | incident id e5b4… |
Triggeredcritical
MISSED · Nightly backup: Nightly backup · No ping received for 26 min
| Source | heartbeat: nightly-backup |
| Action | event_action: trigger |
| Dedup key | incident id e5b4… |