How it works
- Install ngrok
- Start your local webhook handler on any port
- Run
ngrok http <port>to create a public URL - Register the ngrok URL with your webhook provider
- Receive webhook events directly on your local machine
Quick example
Inspect webhook payloads
ngrok’s built-in Traffic Inspector lets you see every webhook request in real time, including headers, body, and response. This makes it easy to debug webhook integrations without adding logging to your application.Replay failed webhooks
Instead of waiting for the webhook provider to retry a failed delivery, you can replay the request instantly from the Traffic Inspector. This dramatically speeds up the development cycle when building webhook handlers.Verify webhook signatures
Webhook providers sign each request with a secret so you can confirm it’s authentic. Instead of writing verification logic in your application, you can use the verify-webhook Traffic Policy action to validate incoming webhook signatures and confirm requests originate from the expected provider. Add averify-webhook action to your Traffic Policy configuration with your provider name and signing secret:
policy.yml
403 Forbidden response.
Debugging
When debugging, testing, and crafting custom responses, you may want to allow further Traffic Policy actions to be processed even if the webhook signature isn’t verified. To do so, setenforce to false:
policy.yml
enforce: false, unverified requests still reach your server, but you can inspect the verification result using action result variables in subsequent actions.
Supported providers for webhook verification
Theverify-webhook action supports many providers, including GitHub, Stripe, Shopify, Slack, and Twilio.
Next steps
- Verify webhooks using your signing key
- Inspect requests and responses in real-time
- Browse webhook integration guides for provider-specific setup instructions