S
Receive Slack events on localhost
Slack apps receive events via the Events API, which posts to your Request URL. During development that URL needs to be public and reachable — and it needs to pass Slack's URL verification challenge. Pipehero gives you the public URL and forwards the challenge to your app.
1Install Pipehero and start a tunnel
Install the CLI, log in, then expose your local port. You get a stable public URL like
myapp.t.pipehero.app.curl -fsSL pipehero.app/install | sh pipehero login pipehero start myapp --port 3000
2Set the Request URL
In your Slack app config, open Event Subscriptions and enable events. Paste your Pipehero URL as the Request URL. Slack immediately sends a url_verification challenge — your local handler must echo back the challenge value, which Pipehero forwards to localhost.
https://myapp.t.pipehero.app/slack/events
3Subscribe to events
Add the bot/user events you need (message.channels, app_mention, …) and reinstall the app if prompted.
4Inspect & replay
Every request shows up live in the dashboard (and the local panel at
localhost:4140) with headers and body. Hit Replay to re-send it to your localhost — no need to re-trigger the event at the provider. Requests that arrive while your CLI is offline are captured and can be replayed later.5Verify the signature
Slack signs `v0:{timestamp}:{body}` in `X-Slack-Signature` (with the timestamp in `X-Slack-Request-Timestamp`). Add your Slack signing secret under Signature verification — Slack is built-in — and every request gets a ✓/✗ badge.
FAQ
URL verification keeps failing — what's wrong?
Make sure your local server is running and echoes back the `challenge` field from the verification payload. Watch the request live in Pipehero to confirm your app responded 200 with the challenge.
Related
Start debugging webhooks in a minute
Free plan, no credit card. Expose localhost, inspect and replay every webhook.
Get started free