BlogGitHub Actions Webhooks

How to Test GitHub Actions Webhooks

GitHub Actions can trigger repository_dispatch webhook events and workflow_run notifications for CI/CD pipeline integrations.

Looking for the broader picture? See the 7 best webhook testing tools (2026), or if you're already on Webhook.site, the 60-second migration to HookRay.

GitHub Actions Official Webhook Docs

1. GitHub Actions Webhook Events

GitHub Actions can send the following webhook events to your endpoint:

workflow_run.completed
workflow_run.requested
workflow_job.completed
workflow_job.in_progress
repository_dispatch
check_run.completed

2. Set Up a Test Endpoint with HookRay

Follow these steps to start receiving GitHub Actions webhooks for testing:

  1. Go to HookRay and click "Start Testing — Free" to get your unique webhook URL.
  2. Copy the URL (e.g., https://h.hookray.com/abc123).
  3. In your GitHub Actions dashboard, navigate to the webhook settings and paste the HookRay URL as your endpoint.
  4. Select the events you want to receive (see list above).
  5. Trigger a test event — HookRay will show the incoming webhook in real-time.

3. Sample GitHub Actions Webhook Payload

Here's an example of what a GitHub Actions webhook payload looks like:

payload.json
{
  "action": "completed",
  "workflow_run": {
    "id": 2345678901,
    "name": "CI Pipeline",
    "head_branch": "main",
    "head_sha": "abc123def456",
    "status": "completed",
    "conclusion": "success",
    "run_number": 127
  },
  "repository": {
    "full_name": "acme/hookray"
  }
}

4. Frequently Asked Questions

How do I test GitHub Actions webhooks without deploying?

Use HookRay to get an instant public webhook URL. Paste it into your GitHub Actions dashboard's webhook configuration, trigger an event, and watch the payload arrive in real time. No code, no ngrok, no deployment required. The free tier captures 100 requests per month and works on all GitHub Actions event types.

Why aren't my GitHub Actions webhooks arriving?

The four most common causes: (1) the endpoint URL isn't publicly accessible — GitHub Actions can't reach localhost; (2) the wrong events are subscribed in your GitHub Actions dashboard; (3) signature verification is rejecting the request before your handler runs; (4) GitHub Actions can't reach your server because of a firewall, expired SSL certificate, or wrong DNS. Use HookRay's URL to isolate which of these four is failing — if HookRay receives the webhook, the problem is in your handler. If HookRay doesn't, the problem is in GitHub Actions configuration.

Why am I getting 400 or 500 errors from my GitHub Actions webhook?

GitHub Actions reports the response status your endpoint returned. HookRay accepts any payload and returns 200 OK by default, so if you see 400/500 in your GitHub Actions dashboard while pointing at HookRay, the issue is in GitHub Actions's configuration (wrong event, malformed signing secret, etc.). If you point at your own endpoint and get 400/500, the issue is in your handler — capture the request with HookRay, replay it locally, and debug from the captured payload.

How do I verify GitHub Actions webhook signatures?

GitHub Actions signs each webhook request with a shared secret. Capture the raw headers and body using HookRay, then verify the signature in your application using GitHub Actions's SDK or a standard HMAC library. Once verification works against HookRay-captured data, you can safely deploy. GitHub Actions's docs (linked above) cover the exact signing algorithm.

Can I replay a captured GitHub Actions webhook?

Yes — HookRay's replay feature re-sends any captured webhook to a different endpoint with one click. This is the fastest way to fix a buggy handler: capture the payload once, fix your code, and replay until it works. No need to re-trigger the event in GitHub Actions.

5. Next Steps

  • Use HookRay's webhook replay feature to re-send captured webhooks while building your handler
  • Enable smart parsing (Pro plan) to see GitHub Actions-specific fields highlighted automatically
  • Check the GitHub Actions webhook documentation for the complete event reference

Ready to test GitHub Actions webhooks?

Get a free webhook URL in 5 seconds. No signup required.

Start Testing GitHub Actions Webhooks — Free

Free PDF: Webhook Testing Cheat Sheet 2026

One-page reference for 50+ APIs — canonical events, signing methods, sample payloads. Print it, pin it, share it.

📄 Download the cheat sheet (PDF, 180KB)