Skip to content

Dashboard Test Webhooks

Use the dashboard Send button to fire manual requests or realistic provider webhook templates with correct signatures. Verify your handler end-to-end without deploying or configuring an external service.

Updated Mar 2026

Open the sender

  1. Open an endpoint in the dashboard.
  2. Click Send in the URL bar.
  3. Select either manual mode or a provider template mode.
  4. Send the request and inspect the captured result in the request list.

Manual mode

Manual mode lets you choose method, path, headers, and body. Use this when you need a custom request shape or when you are debugging a non-standard sender.

Method: POST
Path: /stripe/webhook
Headers:
  Content-Type: application/json
Body:
  {"event":"test.manual"}

Provider template mode

Provider templates generate realistic payload structure and signature headers so you can test verification logic, not just transport.

ProviderPresetsContent-TypeSignature header
Stripepayment_intent.succeeded, checkout.session.completed, invoice.paidapplication/jsonstripe-signature (HMAC SHA-256 over timestamp.payload)
GitHubpush, pull_request.opened, pingapplication/jsonx-hub-signature-256 (HMAC SHA-256 over raw body)
Shopifyorders/create, orders/paid, products/update, app/uninstalledapplication/jsonx-shopify-hmac-sha256 (Base64 HMAC SHA-256 over raw body)
Twiliomessaging.inbound, messaging.status_callback, voice.incoming_callapplication/x-www-form-urlencodedx-twilio-signature (Base64 HMAC SHA-1 over URL + sorted params)
Slackevent_callback, slash_command, url_verificationapplication/jsonx-slack-signature (HMAC SHA-256 over v0:timestamp:body)
Paddletransaction.completed, subscription.created, subscription.updatedapplication/jsonpaddle-signature (HMAC SHA-256 over timestamp:body)
Linearissue.create, issue.update, comment.createapplication/jsonlinear-signature (HMAC SHA-256 over raw body)
SendGriddelivered, open, bounce, spam_reportapplication/jsonNone (unsigned)
Clerkuser.created, user.updated, user.deleted, session.createdapplication/jsonwebhook-signature (Standard Webhooks / Svix signing)
Discordinteraction_create, message_component, pingapplication/jsonNone (unsigned template; Ed25519 verification available separately)
Verceldeployment.created, deployment.succeeded, deployment.errorapplication/jsonx-vercel-signature (HMAC SHA-1 over raw body)
GitLabpush, merge_requestapplication/jsonx-gitlab-token (raw token comparison)
Standard WebhooksNo presets — user-provided bodyapplication/jsonwebhook-id + webhook-timestamp + webhook-signature (v1, Base64 HMAC SHA-256 over msgId.timestamp.body)

Mock webhook secret and event override

Enter your provider signing secret in Mock webhook secret. The sender signs the generated payload with that secret and sets the provider-specific signature header.

Leave Event/topic override empty to use the preset default. Use override only when you need to test a specific event name.

Twilio signatures are computed from URL + sorted form params. If you override a Twilio body as a string, provide URL-encoded key/value pairs (not raw JSON).

Verification checklist

  • Verify your server reads the raw request body before parsing JSON.
  • Verify signature checks fail if you change the secret.
  • Verify your handler branches on provider event/topic correctly.
  • Verify Twilio handlers parse form-encoded payloads.