Slack Webhook Testing — Debug Slack Events Instantly

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:

  • message
  • app_mention
  • member_joined_channel
  • reaction_added
  • file_shared

How to Test Slack Webhooks Locally

  1. Create your endpoint — Sign up free and get a permanent HTTPS URL in seconds.
  2. Add the URL to Slack — Paste your WebhookWhisper URL into your Slack webhook settings.
  3. Enable forwarding (optional) — Add a forwarding rule to relay events to localhost:3000 or any local port.
  4. Trigger a test event — Use Slack's dashboard or the one-click test sender to fire a message event.
  5. 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.

Try it right now — no signup

Get a live webhook URL in one click and see requests arrive in real time, right here.

Live demo — no signup required

See it work in real time

Click below to get a live webhook URL instantly. Paste it anywhere — Stripe, GitHub, Postman — and watch events arrive right here.

Expires in 1 hour · No account needed

Ready to test your webhooks?

Get a free HTTPS endpoint in under 5 seconds — no signup required.

Create Free Account
Slack Webhook Testing — Free Tool (2026) | WebhookWhisper