Webhook Guardian connects to Stripe, Shopify, and GitHub via read-only OAuth and polls delivery logs every 5 minutes. Setup takes under 2 minutes: sign up, click Add integration, authorize read-only access, and add a Slack webhook URL or confirm your alert email.
Webhook Guardian Documentation
Webhook Guardian polls your Stripe, Shopify, and GitHub delivery logs every 5 minutes and fires a Slack or email alert the moment a delivery fails — with the event type, error code, payload, and a one-click replay link. Setup takes under 2 minutes and requires no code changes to your application.
How do you set up Webhook Guardian in under 2 minutes?
- Create your account — Start a free 14-day trial. No credit card required.
- Add an integration — From the dashboard, click Add integration and choose Stripe, Shopify, or GitHub.
- Authorize read-only access — Complete the OAuth flow. We request the minimum read-only scopes needed to read delivery logs. No write access is requested or used.
- Configure alerts — Add a Slack incoming webhook URL or confirm your alert email address in Settings → Alerts.
- Done — We begin polling within 60 seconds of connecting. You will receive your first alert within 5 minutes of any failed delivery.
How do you connect Stripe to Webhook Guardian?
Stripe monitoring uses Stripe Connect OAuth with read-only access to the Events API. When you add a Stripe integration:
- You are redirected to Stripe to authorize read-only access
- We store the access token encrypted at rest (AES-256)
- We poll
GET /v1/eventsevery 5 minutes and check delivery status for each event - A failed delivery triggers a Slack or email alert within the same polling cycle
What we can read: event type, delivery status, HTTP response code, timestamp, retry count, event payload.
What we cannot read or modify: customer payment methods, charges, subscriptions, bank accounts, or any write operation.
To disconnect: go to Settings → Integrations → Stripe → Disconnect, or revoke access directly from Stripe Dashboard → Settings → Connected Applications.
See also: Stripe webhook monitoring guide
How do you connect Shopify to Webhook Guardian?
Shopify monitoring uses a Shopify app install flow. When you add a Shopify integration:
- You enter your Shopify store domain (e.g.
your-store.myshopify.com) - You are redirected to Shopify to install the Webhook Guardian app with read-only permissions
- We poll Shopify's webhook delivery logs every 5 minutes via the Admin API
- If Shopify is about to delete a webhook subscription (after 19 consecutive failures), we alert you before the deletion occurs
Important: Shopify deletes webhook subscriptions after 19 failed deliveries without any notification. Webhook Guardian will alert you well before this threshold is reached so you can fix the handler and prevent subscription loss.
To disconnect: go to Settings → Integrations → Shopify → Disconnect, or uninstall the Webhook Guardian app from your Shopify admin.
See also: Shopify webhook monitoring guide
How do you connect GitHub to Webhook Guardian?
GitHub monitoring uses a GitHub OAuth app with read-only access to webhook delivery logs. When you add a GitHub integration:
- You authorize read-only access to the repositories or organizations you want to monitor
- We poll
GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveriesevery 5 minutes - Failed deliveries trigger an immediate Slack or email alert
Important: GitHub does not automatically retry failed webhook deliveries. Every failed event must be manually redelivered. This makes monitoring especially critical — without it, failed events disappear from the delivery log after 72 hours with no alert.
To disconnect: go to Settings → Integrations → GitHub → Disconnect, or revoke access from GitHub → Settings → Applications → Authorized OAuth Apps.
See also: GitHub webhook monitoring guide
How do you configure Slack and email alerts?
Alert settings are in Settings → Alerts.
Slack alerts
- Create a Slack incoming webhook URL in your Slack workspace (Apps → Incoming WebHooks → Add to Slack)
- Paste the URL into Settings → Alerts → Slack webhook URL
- Click Send test alert to verify delivery
- Slack alerts include: event type, platform, error code, retry count, payload preview, and a one-click replay link
Email alerts
- Email alerts are sent to your account email by default
- You can add additional recipients in Settings → Alerts → Alert emails
- Real-time failure alerts and a weekly digest (every Monday) are both available
- Toggle either off in Settings → Alerts → Email preferences
PagerDuty (Business plan)
- Add your PagerDuty Events API v2 integration key in Settings → Alerts → PagerDuty
- Each webhook failure creates a PagerDuty incident with full event metadata
- Incidents auto-resolve when the delivery succeeds on retry
How do you replay a failed webhook from the dashboard?
Failed webhooks can be replayed in two ways:
From a Slack alert: Every alert includes a Replay → button. Clicking it triggers an immediate redelivery attempt to your endpoint using the platform's delivery API — no dashboard navigation required.
From the dashboard: Go to Events → [failed event] → Replay. You can also bulk-replay multiple events from the Events list view (Pro plan and above).
Before replaying, confirm:
- The root cause is fixed — replaying into a broken handler produces another failure
- Your handler is idempotent — if the original delivery was partially processed, replaying will process it again
What are the plan limits?
| Feature | Starter — $29 | Pro — $79 | Business — $149 |
|---|---|---|---|
| Monthly events | 50,000 | 500,000 | 2,000,000 |
| Log retention | 7 days | 30 days | 90 days |
| Integrations | 3 | Unlimited | Unlimited |
| Email alerts | ✓ | ✓ | ✓ |
| Slack alerts | — | ✓ | ✓ |
| PagerDuty | — | — | ✓ |
| Bulk replay | — | ✓ | ✓ |
| Team seats | 1 | Unlimited | Unlimited |
| SLA reporting | — | — | ✓ |
If you exceed your monthly event quota, we will email you and continue monitoring — we never block alerts. Sustained overage of 25%+ for two consecutive months will trigger an automatic upgrade with 7 days' notice. See full pricing details.
Troubleshooting
Why am I not receiving alerts?
- Check Settings → Alerts — confirm your Slack URL or email is saved and the test alert succeeds
- Check your Slack channel permissions — the incoming webhook must have permission to post
- Check your spam folder — alert emails come from
alerts@webhookguardian.com - Confirm the integration is connected in Settings → Integrations — a disconnected or expired OAuth token will stop polling
Why does my Stripe OAuth token expire?
Stripe Connect tokens do not expire as long as the connection remains authorized. If you see "integration disconnected" in the dashboard, go to Settings → Integrations → Stripe → Reconnect to re-authorize. This can happen if a Stripe admin revokes the connected app from the Stripe dashboard.
Why does the replay fail?
A replay attempts delivery to the same endpoint URL. If your endpoint is still returning errors (500, 400, timeout), the replay will fail too. Check your server logs for the root cause before replaying. Common causes: signature verification bug, a missing environment variable in production, or a handler that throws on an unexpected event payload field.
How do I add a team member?
Team seats are available on the Pro and Business plans. Go to Settings → Team → Invite member and enter their email address. They will receive an invite link. All team members share the same integrations and alert settings; individual notification preferences can be configured per member.
How do I cancel my subscription?
Go to Settings → Billing → Cancel subscription. Your plan remains active until the end of the current billing period. Your event logs are retained for 30 days after cancellation and then permanently deleted. To export your data before cancellation, use Settings → Data → Export events.
Something not covered here? Email hi@webhookguardian.com — a human replies within a few hours. Also useful: webhook reliability best practices, idempotency guide, and replay guide.