Hookbase
All IntegrationsGet Started Free

Integration

GitHub Webhooks

Receive push, pull request, issue, and deployment events from GitHub. Automatic HMAC-SHA256 signature verification included.

Signature Verified Auto Retries Transforms

Supported GitHub Events

push

Code pushed to a branch

pull_request

PR opened, closed, or merged

issues

Issue created or updated

deployment

Deployment created or completed

release

Release published or updated

workflow_run

GitHub Actions workflow events

Plus 30+ more GitHub webhook events. All events are supported.

How to Set Up GitHub Webhooks

1

Create a Source in Hookbase

Create a new webhook source and select GitHub as the provider. We'll generate a unique webhook URL and secret for you.

2

Configure Your GitHub Repository

Go to Settings → Webhooks in your GitHub repository. Add the Hookbase URL and paste the webhook secret.

3

Select Events to Receive

Choose which events you want to receive: push, pull requests, issues, or all events.

4

Start Receiving Webhooks

Hookbase verifies every webhook signature and relays events to your configured destinations with automatic retries.

Why Use Hookbase for GitHub Webhooks?

Automatic Signature Verification

We verify every GitHub webhook using HMAC-SHA256 signatures. Invalid webhooks are rejected before they reach your endpoints.

Reliable Delivery with Retries

If your endpoint is down, we retry with exponential backoff for up to 24 hours. Never miss a GitHub event.

Payload Transformations

Transform GitHub payloads before delivery. Extract specific fields, rename properties, or restructure the data.

Real-time Monitoring

See every GitHub webhook in real-time. Inspect payloads, headers, and delivery status from the dashboard.

Example: Transform GitHub Push Events

// Transform to extract key info from push events
module.exports = (payload) => {
  return {
    repository: payload.repository.full_name,
    branch: payload.ref.replace('refs/heads/', ''),
    pusher: payload.pusher.name,
    commits: payload.commits.map(c => ({
      message: c.message,
      author: c.author.name,
      url: c.url
    })),
    timestamp: new Date().toISOString()
  };
};

Start Receiving GitHub Webhooks

Set up in under 2 minutes. Free tier includes 200 events per month.

Get Started Free
Hookbase

Reliable webhook infrastructure for modern teams. Built on Cloudflare's global edge network.

Product

  • Features
  • Pricing
  • Use Cases
  • Integrations
  • ngrok Alternative

Resources

  • Documentation
  • API Reference
  • CLI Guide
  • Blog
  • FAQ

Legal

  • Privacy Policy
  • Terms of Service
  • Contact
  • Status

© 2026 Hookbase. All rights reserved.