Connect PingBase to Slack

Get downtime alerts posted directly to any Slack channel

Pro plan required Takes ~2 minutes

What you'll get

PingBase Alert: api.yourapp.com is DOWN — HTTP 503 at 14:32 UTC
PingBase Alert: api.yourapp.com is back UP — recovered after 4 minutes

PingBase posts a message when a monitor goes down and another when it recovers. You can add multiple channels — for example, a #alerts channel and a #oncall channel.

Step 1 — Create an Incoming Webhook in Slack

  1. 1
    Go to api.slack.com/apps and click Create New App. Choose From scratch, give it a name like "PingBase", and pick your workspace.
  2. 2
    In the left sidebar, click Incoming Webhooks. Toggle Activate Incoming Webhooks to On.
  3. 3
    Scroll down and click Add New Webhook to Workspace. Choose the channel where you want alerts to appear, then click Allow.
  4. 4
    Copy the Webhook URL — it looks like:
    https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX

Step 2 — Add the webhook to PingBase

You can add it via the dashboard or the API.

Via dashboard

  1. 1. Go to Settings → Alert Channels in your PingBase dashboard.
  2. 2. Click Add channel, choose Slack.
  3. 3. Enter a name (e.g. "Engineering Alerts") and paste your webhook URL.
  4. 4. Click Save. PingBase sends a test message to confirm it's working.

Via API

curl -X POST https://pingbase-worker.workers.dev/api/alert-channels \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "slack",
    "name": "Engineering Alerts",
    "webhook_url": "https://hooks.slack.com/services/T00000000/B00000000/XXXX"
  }'

Returns 201 with {"id": "...", "type": "slack", "name": "Engineering Alerts", "is_active": 1}

Verify it's working

The easiest way to test is to temporarily add a monitor pointing to a URL you can take offline, or use a URL that returns a non-2xx status (e.g. httpstat.us/503). PingBase will detect the failure within 1 minute on Pro and post to your Slack channel.

You can also list your channels and toggle them via the API:

# List all channels
curl https://pingbase-worker.workers.dev/api/alert-channels \
  -H "Authorization: Bearer YOUR_TOKEN"

# Disable a channel temporarily
curl -X PATCH https://pingbase-worker.workers.dev/api/alert-channels/CHANNEL_ID \
  -H "Authorization: Bearer YOUR_TOKEN"

Managing your channels

Action Method Endpoint
List all channelsGET/api/alert-channels
Add a channelPOST/api/alert-channels
Enable / disablePATCH/api/alert-channels/:id
Delete a channelDELETE/api/alert-channels/:id

See the full API reference for request/response details.

Troubleshooting

Error: "Slack webhook URL must be from hooks.slack.com"

The URL you pasted doesn't match the expected Slack webhook format. Make sure you copied it from Incoming Webhooks in your Slack app settings, not from another section.

No message in Slack after a downtime event

Check that the channel is is_active: 1 — it may have been toggled off. Also verify the Slack app is still installed in your workspace and has permission to post to the target channel.

403 when calling the API

Alert channels require a Pro plan. Upgrade at app.pingba.se under Settings → Billing.

Ready to set this up?

PingBase Pro is $9/month. Includes Slack, Discord, 10 monitors, and custom status pages.

Start free →