To test Slack webhooks, you need a public HTTPS endpoint that Slack can POST to. WebhookWhisper gives you one instantly — no CLI, no deployment, no ngrok required. Paste the URL into your Slack dashboard, trigger a test event, and inspect the full payload in real time.
Why Test Slack Webhooks with WebhookWhisper?
Slack sends event payloads via the Events API and Incoming Webhooks. Every event payload is signed with HMAC-SHA256 using your app's signing secret.
WebhookWhisper captures every incoming Slack event with full headers, body, and timing data — so you can debug integration issues without deploying to a public server.
Slack Webhook Events
The following events are commonly sent by Slack:
messageapp_mentionmember_joined_channelreaction_addedfile_shared
How to Test Slack Webhooks Locally
- Create your endpoint — Sign up free and get a permanent HTTPS URL in seconds.
- Add the URL to Slack — Paste your WebhookWhisper URL into your Slack webhook settings.
- Enable forwarding (optional) — Add a forwarding rule to relay events to
localhost:3000or any local port. - Trigger a test event — Use Slack's dashboard or the one-click test sender to fire a
messageevent. - Inspect in real time — See the full payload, headers, and response in your WebhookWhisper dashboard.
Slack Webhook Signature Verification
Slack signs every webhook request using the X-Slack-Signature header. Always verify this signature in production to prevent spoofed requests.
// Node.js — Verify Slack webhook signature
const crypto = require('crypto');
function verifySlackSignature(payload, signature, secret) {
const expected = crypto
.createHmac('sha256', secret)
.update(payload)
.digest('hex');
return crypto.timingSafeEqual(
Buffer.from(expected),
Buffer.from(signature)
);
}
Common Slack Webhook Errors
- 401 Unauthorized — Signature mismatch. Check that you are using the raw request body (not parsed JSON) for HMAC verification.
- Webhook not received — Verify the URL is publicly accessible. WebhookWhisper endpoints are always public — no tunneling needed.
- Timeout errors — Slack expects a 2xx response within a few seconds. Respond immediately and process the event asynchronously.
- Duplicate events — Slack retries event delivery 3 times if your endpoint does not respond with HTTP 200 within 3 seconds. Always use the event ID for idempotency checks.
Frequently Asked Questions
How do I test Slack webhooks for free?
Sign up for a free WebhookWhisper account and get a permanent HTTPS endpoint. Add it to your Slack webhook settings and trigger a test event from the Slack dashboard.
Can I test Slack webhooks without deploying?
Yes. WebhookWhisper gives you a public HTTPS URL that requires no deployment. Use the built-in forwarding rules to relay events to your local development server.
How do I receive Slack webhooks on localhost?
Create a forwarding rule in WebhookWhisper pointing to your local port (e.g. http://localhost:3000/webhook). Every incoming event is relayed to your local server with retry logic.
What is the Slack webhook retry policy?
Slack retries event delivery 3 times if your endpoint does not respond with HTTP 200 within 3 seconds.