Alert Channels
CheckUpstream supports twelve notification channels for alerting your team when an upstream service experiences an incident. Configure them in Settings → Alerts from your dashboard.
The default channel. Alerts are sent to team members' registered email addresses.
- Setup: No additional configuration needed, alerts go to all team members by default.
- Customizable: Choose which team members receive alerts.
- Content: Service name, incident title, current status, and a link to the incident details.
Slack
Post alerts to a Slack channel using an incoming webhook.
- Setup: Create an Incoming Webhook (opens in new tab) in your Slack workspace and paste the webhook URL in CheckUpstream settings.
- Format: Rich message with service name, status indicator, and incident link.
- Tip: Create a dedicated
#upstream-statuschannel so alerts don't get lost in general channels.
Discord
Post alerts to a Discord channel using a webhook.
- Setup: In your Discord server, go to Channel Settings → Integrations → Webhooks, create a webhook, and paste the URL in CheckUpstream settings.
- Format: Embed with color-coded severity (green for resolved, yellow for degraded, red for outage).
Microsoft Teams
Post alerts to a Teams channel using a workflow webhook.
- Setup: In your Teams channel, create a Workflows connector (or use the legacy Incoming Webhook connector) and paste the webhook URL in CheckUpstream settings.
- Format: Adaptive Card with service name, status, impact severity, and a link to the incident.
PagerDuty
Trigger PagerDuty incidents for critical upstream outages.
Setup: Create a Events API v2 integration in PagerDuty and paste the routing key in CheckUpstream settings.
PagerDuty Configuration| Property | Type | Status | Default | Description |
|---|---|---|---|---|
routingKey | string | Required | — | Events API v2 routing key from your PagerDuty integration |
severityMapping | object | Optional | — | Maps CheckUpstream statuses to PagerDuty severities |
autoResolve | boolean | Optional | true | Send a resolve event when the service returns to operational |
OpsGenie
Create OpsGenie alerts for upstream incidents.
OpsGenie Configuration| Property | Type | Status | Default | Description |
|---|---|---|---|---|
apiKey | string | Required | — | API key from your OpsGenie integration |
priorityMapping | object | Optional | — | Maps CheckUpstream statuses to OpsGenie priorities (P1–P5) |
autoClose | boolean | Optional | true | Automatically close the alert when the service recovers |
Google Chat
Post alerts to a Google Chat space using a webhook.
- Setup: In your Google Chat space, go to Apps & integrations → Webhooks, create a webhook, and paste the URL in CheckUpstream settings.
- Format: Card message with service name, status indicator, and incident link.
Telegram
Send alerts to a Telegram chat or group.
- Setup: Create a bot via @BotFather (opens in new tab), add it to your group or channel, and paste the bot token and chat ID in CheckUpstream settings.
- Format: Formatted text message with service name, incident title, and status.
SMS
Send SMS alerts for critical upstream outages.
- Setup: Provide phone numbers for team members who should receive SMS alerts.
- Content: Concise message with service name, status, and incident title.
- Note: SMS alerts are only triggered for
major_outageseverity to avoid alert fatigue.
Webhook
Send raw JSON payloads to any HTTP endpoint.
Setup: Provide your endpoint URL. CheckUpstream sends a POST request with a JSON body.
WebhookPayload| Property | Type | Status | Default | Description |
|---|---|---|---|---|
service | string | Required | — | Service slug, e.g. "stripe" |
status | string | Required | — | Current status: "operational", "degraded", "partial_outage", "major_outage", or "unknown" |
incident | object | Required | — | Incident details |
timestamp | string | Required | — | ISO 8601 timestamp of the event |
- Retry policy: Failed webhook deliveries are retried up to 3 times with exponential backoff.
- Verification: Webhook payloads include an
X-CheckUpstream-Signatureheader for verifying authenticity.
Rootly
Create Rootly incidents from upstream outages.
- Setup: Generate an API key in Rootly and paste it in CheckUpstream settings. Optionally configure the team and severity mapping.
- Auto-resolve: When the upstream service recovers, CheckUpstream updates the Rootly incident status.
Incident.io
Create Incident.io incidents from upstream outages.
- Setup: Generate an API key in Incident.io and paste it in CheckUpstream settings. Optionally configure the incident type and severity mapping.
- Auto-resolve: When the upstream service recovers, CheckUpstream updates the Incident.io incident status.
Channel Availability by Plan
| Channel | Free | Pro | Enterprise |
|---|---|---|---|
| Yes | Yes | Yes | |
| Slack | — | Yes | Yes |
| Discord | — | Yes | Yes |
| Microsoft Teams | — | Yes | Yes |
| PagerDuty | — | Yes | Yes |
| OpsGenie | — | — | Yes |
| Google Chat | — | Yes | Yes |
| Telegram | — | Yes | Yes |
| SMS | — | — | Yes |
| Webhook | — | Yes | Yes |
| Rootly | — | — | Yes |
| Incident.io | — | — | Yes |
Status Types
Alerts are triggered when a service transitions between these statuses:
| Status | Description |
|---|---|
operational | Service is functioning normally |
degraded | Performance is below normal |
partial_outage | Some components are unavailable |
major_outage | Service is largely or fully unavailable |
unknown | Status could not be determined |