Skip to main content

This version of GitHub Enterprise Server was discontinued on 2025-04-03. No patch releases will be made, even for critical security issues. For better performance, improved security, and new features, upgrade to the latest version of GitHub Enterprise Server. For help with the upgrade, contact GitHub Enterprise support.

Creating webhooks

You can create webhooks to subscribe to specific events that occur on GitHub.

About creating webhooks

You can create webhooks to subscribe to specific events on GitHub that occur in a repository, organization, GitHub Enterprise, or GitHub App.

For more information about the different types of webhooks, see Types of webhooks.

For a complete list of webhook events, see Webhook events and payloads.

Creating a repository webhook

You can create a webhook to subscribe to events that occur in a specific repository. You must be a repository owner or have admin access in the repository to create webhooks in that repository.

You can use the GitHub web interface or the REST API to create a repository webhook. For more information about using the REST API to create a repository webhook, see REST API endpoints for repository webhooks.

  1. On GitHub, navigate to the main page of the repository.

  2. Under your repository name, click Settings. If you cannot see the "Settings" tab, select the dropdown menu, then click Settings.

    Screenshot of a repository header showing the tabs. The "Settings" tab is highlighted by a dark orange outline.

  3. In the left sidebar, click Webhooks.

  4. Click Add webhook.

  5. Under "Payload URL", type the URL where you'd like to receive payloads.

  6. Optionally, select the Content type drop-down menu, and click a data format to receive the webhook payload in.

    • application/json will deliver the JSON payload directly as the body of the POST request.
    • application/x-www-form-urlencoded will send the JSON payload as a form parameter called payload.
  7. Optionally, under "Secret", type a string to use as a secret key. You should choose a random string of text with high entropy. You can use the webhook secret to limit incoming requests to only those originating from GitHub. For more information, see Validating webhook deliveries.

  8. Under "Which events would you like to trigger this webhook?", select the webhook events that you want to receive. You should only subscribe to the webhook events that you need.

  9. If you chose Let me select individual events, select the events that you want to trigger the webhook.

  10. To make the webhook active immediately after adding the configuration, select Active.

  11. Click Add webhook.

After you create a new webhook, GitHub will send you a simple ping event to let you know you've set up the webhook correctly. For more information, see Webhook events and payloads.

Creating an organization webhook

You can create a webhook to subscribe to events that occur in a specific organization. You must be an organization owner to create webhooks in that organization.

You can use the GitHub web interface or the REST API to create an organization webhook. For more information about using the REST API to create an organization webhook, see REST API endpoints for organization webhooks.

  1. In the upper-right corner of any page on GitHub, click your profile photo.
  2. Click Your organizations.
  3. To the right of the organization, click Settings.
  4. In the left sidebar, click Webhooks.
  5. Click Add webhook.
  6. Under "Payload URL", type the URL where you'd like to receive payloads.
  7. Optionally, select the Content type drop-down menu, and click a data format to receive the webhook payload in.
    • application/json will deliver the JSON payload directly as the body of the POST request.
    • application/x-www-form-urlencoded will send the JSON payload as a form parameter called payload.
  8. Optionally, under "Secret", type a string to use as a secret key. You should choose a random string of text with high entropy. You can use the webhook secret to limit incoming requests to only those originating from GitHub. For more information, see Validating webhook deliveries.
  9. Under "Which events would you like to trigger this webhook?", select the types of webhooks you'd like to receive. You should only subscribe to the webhook events that you need.
  10. If you chose Let me select individual events, select the events that will trigger the webhook.
  11. To make the webhook active immediately after adding the configuration, select Active.
  12. Click Add webhook.

After you create a new webhook, GitHub will send you a simple ping event to let you know you've set up the webhook correctly. For more information, see Webhook events and payloads.

Creating a global webhook for a GitHub Enterprise

Enterprise owners can create a global webhook to subscribe to events that occur within their enterprise.

You can use the GitHub web interface or the REST API to create a global webhook. For more information about using the REST API to create a global webhook, see REST API endpoints for global webhooks.

  1. In the top-right corner of GitHub Enterprise Server, click your profile photo, then click Enterprise settings.