Manual Git webhooks

A manual Git webhook lets GitHub, GitLab, Bitbucket, or Gitea notify Coolify when a repository changes. Use one for an application created from a public repository URL or Private Repository (with deploy key).

Applications connected through an official Git App receive provider events through that integration and do not need a manual Git webhook.

The deploy webhook is different

Deploy Webhook (auth required) starts a deployment when an external workflow calls Coolify with an API token. It is not a repository webhook. Follow Automatic deployments and choose External workflow when CI should call Coolify directly.

Choose the repository provider

Each provider uses its own URL and secret from Configuration > Webhooks > Manual Git Webhooks. Configure only the provider that hosts the repository.

For production deployments, select the provider's push event and enable Configuration > Advanced > Deployment > Auto Deploy. For preview deployments, also select the pull-request or merge-request events shown below.

Enable automatic branch deployments

Open the application, select Configuration > Advanced > Deployment, then enable Auto Deploy if pushes to the configured branch should deploy automatically.

Auto Deploy enabled in the application advanced settings

Copy the GitHub webhook details

Open Configuration > Webhooks. Enter a long random value in GitHub Webhook Secret, select Save, then copy the GitHub URL under Manual Git Webhooks.

GitHub manual webhook URL and secret in Coolify

Keep the secret private. GitHub must use the same value when it signs webhook deliveries.

Add the webhook on GitHub

Open the GitHub repository, select Settings > Webhooks > Add webhook, then enter:

  • Payload URL: the GitHub URL copied from Coolify
  • Content type: application/json or application/x-www-form-urlencoded
  • Secret: the value saved in Coolify

Keep Enable SSL verification selected.

Add webhook button in GitHub repository settings

Select the events

Choose Just the push event for automatic deployments from the configured branch.

If the application also uses previews, choose Let me select individual events, then select Pushes and Pull requests. Keep Active selected and select Add webhook.

GitHub webhook event and secret settings

Verify the webhook

Push a commit to the application's configured branch. Open Deployments in Coolify and confirm a webhook deployment appears.

GitHub also shows the webhook and its recent deliveries under Settings > Webhooks.

Configured webhook in GitHub repository settings

Troubleshoot a missing deployment

Open the webhook's recent deliveries in the repository provider, then check:

  1. the provider sent an event supported by Coolify
  2. the delivery received a successful HTTP response
  3. the provider secret exactly matches the saved Coolify secret
  4. the Coolify webhook URL is reachable from the internet
  5. Auto Deploy is enabled for a push event
  6. the pushed branch matches the branch configured for the application

A pull-request or merge-request event creates a preview only when Preview Deployments is enabled.

On this page