Webhook Setup
Webhook deployment is the recommended default. EE Push sends an HTTP POST to your deployment service, which then handles the actual code deployment. This works with GitHub Actions, DeployHQ, Buddy, and any CI/CD system that accepts webhooks.
Configuration
When creating an environment with type Webhook, configure these fields:
| Field | Description |
|---|---|
| Webhook URL | The URL to POST to when deploying. Required. |
| HTTP Method | POST (default) or PUT. |
| Custom Headers | Additional HTTP headers, one per line in Key: Value format. |
| Webhook Secret | Used to generate an HMAC-SHA256 signature in the X-Hub-Signature-256 header. |
| Custom Payload | Additional JSON fields merged into the webhook payload. |
Payload Format
EE Push sends a JSON payload with these fields:
{
"environment": "Production",
"branch": "main",
"deployment_id": 42,
"triggered_by": "admin",
"timestamp": "2026-02-12T14:30:00+00:00"
}If you provide a Custom Payload, those fields are merged into the payload.
HMAC Signature
If a Webhook Secret is configured, EE Push generates an HMAC-SHA256 signature of the JSON payload and includes it in the request headers:
X-Hub-Signature-256: sha256=abc123...Your receiving endpoint should verify this signature to ensure the request came from EE Push. This is the same format used by GitHub webhooks.
Example: GitHub Actions
To trigger a GitHub Actions workflow via webhook, use the workflow_dispatch event:
https://api.github.com/repos/OWNER/REPO/dispatchesAuthorization: Bearer ghp_your_token_here
Accept: application/vnd.github.v3+json{"event_type": "deploy", "client_payload": {"ref": "main"}}Example: DeployHQ
DeployHQ provides a webhook URL for each project. Simply paste it as the Webhook URL — no custom headers or payload needed.
Success Criteria
EE Push considers the webhook deployment successful if the HTTP response status code is in the 2xx or 3xx range. A 4xx or 5xx response marks the deployment as failed.