Connect PingBase to Discord
Get downtime alerts posted directly to any Discord channel
What you'll get
PingBase
PingBase Alert: api.yourapp.com is DOWN — HTTP 503 at 14:32 UTC
PingBase
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, your team's #alerts channel and a dedicated #incidents channel.
Step 1 — Create a webhook in Discord
-
1
In your Discord server, right-click the channel you want alerts in and click Edit Channel.
-
2
Go to the Integrations tab, then click Webhooks → New Webhook.
-
3
Give the webhook a name like "PingBase". Optionally upload PingBase's logo as the avatar so alerts look distinct in the channel.
-
4
Click Copy Webhook URL — it looks like:
https://discord.com/api/webhooks/000000000000000000/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Step 2 — Add the webhook to PingBase
You can add it via the dashboard or the API.
Via dashboard
- 1. Go to Settings → Alert Channels in your PingBase dashboard.
- 2. Click Add channel, choose Discord.
- 3. Enter a name (e.g. "Team Alerts") and paste your webhook URL.
- 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": "discord",
"name": "Team Alerts",
"webhook_url": "https://discord.com/api/webhooks/000000000/xxxx"
}'
Returns 201 with {"id": "...", "type": "discord", "name": "Team Alerts", "is_active": 1}
Verify it's working
Add a monitor pointing to 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 Discord channel.
You can also toggle channels on and off without deleting them:
# Toggle a channel on or off
curl -X PATCH https://pingbase-worker.workers.dev/api/alert-channels/CHANNEL_ID \
-H "Authorization: Bearer YOUR_TOKEN"
# Returns: {"ok": true, "is_active": 0} (toggled off)
# Call again: {"ok": true, "is_active": 1} (toggled back on)
Managing your channels
| Action | Method | Endpoint |
|---|---|---|
| List all channels | GET | /api/alert-channels |
| Add a channel | POST | /api/alert-channels |
| Enable / disable | PATCH | /api/alert-channels/:id |
| Delete a channel | DELETE | /api/alert-channels/:id |
See the full API reference for request/response details.
Troubleshooting
Error: "Discord webhook URL must be from discord.com/api/webhooks"
Make sure you're pasting the webhook URL from Channel Settings → Integrations → Webhooks, not a bot token or invite link. The URL must start with https://discord.com/api/webhooks/.
Messages aren't appearing in Discord
Check that the webhook still exists in Discord — if someone deleted it, you'll need to create a new one and update your PingBase channel. Also verify is_active is 1 in the channel list.
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 Discord, Slack, 10 monitors, and custom status pages.