Webhook Tester — HTTP Callbacks Explained | Send Web Request
Webhooks are HTTP callbacks that let services notify your application when events happen. Understanding how they work helps you integrate with Stripe, GitHub, Slack, and many other APIs.
What is a webhook?
A webhook is an HTTP callback. When an event happens—a payment completes, a form is submitted, a deploy finishes—a service sends an HTTP request to a URL you provide. Your endpoint receives the request and can process the payload. The key difference from a normal API call is direction: the external service initiates the request to you, not the other way around.
How webhooks work
You register a URL with the service (e.g. in your Stripe or GitHub dashboard). When an event occurs, the service sends a POST request to that URL with a payload describing the event. Your server must respond quickly (typically within a few seconds) with a 2xx status, or the service may retry. To receive webhooks, you need a publicly accessible URL—a local server won't work unless you use a tunnel like ngrok.
Common webhook payload formats
Most webhooks send JSON. The payload usually includes an event type, timestamps, and the relevant data. Example GitHub webhook payload:
{
"action": "opened",
"repository": {
"name": "my-repo",
"full_name": "user/my-repo"
},
"sender": {
"login": "username"
}
}Verifying webhook signatures
Webhooks often include a signature header (e.g. X-Hub-Signature-256 for GitHub) so you can verify the request came from the service. The service signs the request body using a secret you share. You compute the same signature from the body and secret, then compare it to the header. Never trust webhook payloads without verification.
Testing webhook endpoints
Once you have a webhook endpoint running, you can send test requests to it. Use Send Web Request to POST sample payloads to your URL and verify your server handles them correctly. For receiving incoming webhooks during development, tools like webhook.site or ngrok provide temporary URLs that capture and display requests.
Try it now
Open Send Web Request to test APIs in your browser. No signup, no installation, no account required. Just send.
Open Send Web Request