System: Operational Start Free
Integrations

Slack Integration: Route Alerts to Your Channels

Push uptime alerts, incident updates, and recovery notifications directly into your Slack workspace. Monitoring availability without delays.

Connect Slack View Example Alerts

1. Create a Slack App and Incoming Webhook

PingKit delivers alerts through Slack's Incoming Webhooks API. You'll create a Slack app, generate a webhook URL, and paste it into your PingKit dashboard.

Go to api.slack.com/apps, click Create New App, and choose From scratch. Name it something like PingKit Alerts and select your workspace. Navigate to Incoming Webhooks in the sidebar, toggle the feature on, and click Add New Webhook to Workspace. Authorize the app for your workspace — you'll see a URL that looks like https://hooks.slack.com/services/T02AB3CD/BX9Y8Z7W/abc123def456. Copy it, then head to Settings → Integrations → Slack in your PingKit dashboard and paste the webhook URL into the webhook_url field. Click Test Connection; a verification message will appear in your chosen channel within 3 seconds.

Step 1 — App Creation

Create the app from scratch. Name it PingKit Alerts. No bot token is required — Incoming Webhooks is sufficient for one-way alert delivery.

Step 2 — Webhook URL

Enable Incoming Webhooks, add a new webhook, authorize the workspace. Copy the full hooks.slack.com URL — this is the delivery endpoint.

Step 3 — PingKit Configuration

Paste the URL into Settings → Integrations → Slack. Optionally set a default channel override. Click Test Connection to confirm delivery.

2. Route Alerts to Specific Channels

By default, every webhook posts to the channel you selected during setup. You can override the destination per-check or per-group using the #channel-name suffix in the webhook URL or the channel field in the PingKit UI.

When you added the webhook, Slack asked which channel to post to — for example, #critical-incidents while staging checks go to #staging-monitoring, create separate PingKit Slack integration profiles, each with its own webhook URL targeting the appropriate channel.

Recommended

Dedicated Ops Channel

Create a single channel like #pingkit-alerts and route all uptime notifications there. Use Slack threads for follow-up discussion. Best for teams under 10 engineers.

Advanced

Per-Environment Split

Use #prod-alerts for production checks and #staging-monitoring for non-prod. Requires two webhook URLs. Reduces noise in your primary ops channel.

Enterprise

Severity-Based Routing

Route Critical and Degraded to #incident-response with @channel mentions. Route Resolved and Info to

3. Alert Message Format and Examples

PingKit sends structured Slack messages using blocks and attachments. Each alert includes the check name, status, response time, timestamp, and a direct link to the check dashboard.

You can customize the message template in Settings → Integrations → Slack → Message Template. Available variables: {{check_name}}, {{status}}, {{response_time_ms}}, {{downtime_duration}}, {{url}}, {{timestamp}}.

Alert

Check Down

:rotating_light: Check Down — api.pingkit.io
Status: DOWN
URL: https://api.pingkit.io/health
Response Time: (connection refused)
Downtime: 2m 14s
Last OK: 2025-01-15 09:42:11 UTC
View in PingKit →

Recovery

Check Recovered

:white_check_mark: Recovered — api.pingkit.io
Status: UP
URL: https://api.pingkit.io/health
Response Time: 142ms
Downtime Duration: 6m 48s
Recovered At: 2025-01-15 09:48:59 UTC
View in PingKit →

Warning

Slow Response

:warning: Slow Response — dashboard.pingkit.io
Status: DEGRADED
URL: https://dashboard.pingkit.io
Response Time: 3,847ms (threshold: 2,000ms)
Consecutive Slow: 3 / 3
Timestamp: 2025-01-15 10:12:33 UTC
View in PingKit →

Custom Template Example

Use this template for compact, actionable alerts:

{{status_icon}} {{check_name}} — {{status}} | RT: {{response_time_ms}}ms | {{url}} | {{timestamp}}

For severity-based mentions, add @channel to critical alerts and @here to degraded ones in the template editor. PingKit evaluates the {{severity}} variable and interpolates the mention accordingly.

```html
Integrations

Slack Integration: Route Alerts to Your Channels

Push uptime alerts, incident updates, and recovery notifications directly into your Slack workspace. Monitoring availability without delays.

Connect Slack View Example Alerts

1. Create a Slack App and Incoming Webhook

PingKit delivers alerts through Slack's Incoming Webhooks API. You'll create a Slack app, generate a webhook URL, and paste it into your PingKit dashboard.

Go to api.slack.com/apps, click Create New App, and choose From scratch. Name it something like PingKit Alerts and select your workspace. Navigate to Incoming Webhooks in the sidebar, toggle the feature on, and click Add New Webhook to Workspace. Authorize the app for your workspace — you'll see a URL that looks like https://hooks.slack.com/services/T02AB3CD/BX9Y8Z7W/abc123def456. Copy it, then head to Settings → Integrations → Slack in your PingKit dashboard and paste the webhook URL into the webhook_url field. Click Test Connection; a verification message will appear in your chosen channel within 3 seconds.

Step 1 — App Creation

Create the app from scratch. Name it PingKit Alerts. No bot token is required — Incoming Webhooks is sufficient for one-way alert delivery.

Step 2 — Webhook URL

Enable Incoming Webhooks, add a new webhook, authorize the workspace. Copy the full hooks.slack.com URL — this is the delivery endpoint.

Step 3 — PingKit Configuration

Paste the URL into Settings → Integrations → Slack. Optionally set a default channel override. Click Test Connection to confirm delivery.

2. Route Alerts to Specific Channels

By default, every webhook posts to the channel you selected during setup. You can override the destination per-check or per-group using the #channel-name suffix in the webhook URL or the channel field in the PingKit UI.

When you added the webhook, Slack asked which channel to post to — for example, #ops-alerts. That becomes the default. To send critical production alerts to #critical-incidents while staging checks go to #staging-monitoring, create separate PingKit Slack integration profiles, each with its own webhook URL targeting the appropriate channel.

Recommended

Dedicated Ops Channel

Create a single channel like #pingkit-alerts and route all uptime notifications there. Use Slack threads for follow-up discussion. Best for teams under 10 engineers.

Advanced

Per-Environment Split

Use #prod-alerts for production checks and #staging-monitoring for non-prod. Requires two webhook URLs. Reduces noise in your primary ops channel.

Enterprise

Severity-Based Routing

Route Critical and Degraded to #incident-response with @channel mentions. Route Resolved and Info to #monitoring-log silently. Configure in PingKit alert rules.

3. Alert Message Format and Examples

PingKit sends structured Slack messages using blocks and attachments. Each alert includes the check name, status, response time, timestamp, and a direct link to the check dashboard.

You can customize the message template in Settings → Integrations → Slack → Message Template. Available variables: {{check_name}}, {{status}}, {{response_time_ms}}, {{downtime_duration}}, {{url}}, {{timestamp}}.

Alert

Check Down

:rotating_light: Check Down — api.pingkit.io
Status: DOWN
URL: https://api.pingkit.io/health
Response Time: (connection refused)
Downtime: 2m 14s
Last OK: 2025-01-15 09:42:11 UTC
View in PingKit →

Recovery

Check Recovered

:white_check_mark: Recovered — api.pingkit.io
Status: UP
URL: https://api.pingkit.io/health
Response Time: 142ms
Downtime Duration: 6m 48s
Recovered At: 2025-01-15 09:48:59 UTC
View in PingKit →

Warning

Slow Response

:warning: Slow Response — dashboard.pingkit.io
Status: DEGRADED
URL: https://dashboard.pingkit.io
Response Time: 3,847ms (threshold: 2,000ms)
Consecutive Slow: 3 / 3
Timestamp: 2025-01-15 10:12:33 UTC
View in PingKit →

Custom Template Example

Use this template for compact, actionable alerts:

{{status_icon}} {{check_name}} — {{status}} | RT: {{response_time_ms}}ms | {{url}} | {{timestamp}}

For severity-based mentions, add @channel to critical alerts and @here to degraded ones in the template editor. PingKit evaluates the {{severity}} variable and interpolates the mention accordingly.