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:

FieldDescription
Webhook URLThe URL to POST to when deploying. Required.
HTTP MethodPOST (default) or PUT.
Custom HeadersAdditional HTTP headers, one per line in Key: Value format.
Webhook SecretUsed to generate an HMAC-SHA256 signature in the X-Hub-Signature-256 header.
Custom PayloadAdditional JSON fields merged into the webhook payload.

Payload Format

EE Push sends a JSON payload with these fields:

JSON payload
{
  "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:

Webhook URL
https://api.github.com/repos/OWNER/REPO/dispatches
Custom Headers
Authorization: Bearer ghp_your_token_here
Accept: application/vnd.github.v3+json
Custom Payload (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.