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.
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.

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.

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/jsonorapplication/x-www-form-urlencoded - Secret: the value saved in Coolify
Keep Enable SSL verification selected.

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.

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.

Troubleshoot a missing deployment
Open the webhook's recent deliveries in the repository provider, then check:
- the provider sent an event supported by Coolify
- the delivery received a successful HTTP response
- the provider secret exactly matches the saved Coolify secret
- the Coolify webhook URL is reachable from the internet
- Auto Deploy is enabled for a push event
- 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.
