Emalc

Search Documentation

Quickly jump to any guide, document, or section...

Create a Webhook

Configure an HTTPS webhook endpoint in your Emalc account to receive instant HTTP push notifications for email delivery telemetry, audience changes, domain DNS updates, and suppressions.


Step-by-Step Provisioning Guide#

1. Open Webhook Settings#

In your Emalc dashboard, navigate to Settings -> Webhooks and click Add Webhook Endpoint.

2. Enter Endpoint Details#

  • Endpoint Name: Provide a descriptive label (e.g., Production Order Service, Stripe Billing Sync).
  • Endpoint URL: Enter your public HTTPS URL (e.g., https://api.yourdomain.com/webhooks/emalc).

⚠️ HTTPS Requirement: Production webhook URLs must use the https:// protocol served with a valid TLS certificate.


3. Select Event Subscriptions#

Choose which events trigger HTTP dispatches to your endpoint. You can select All Events or pick specific event categories:

CategoryEvent NameDescription
Emailemail.sentTriggered when an email is accepted and queued for transmission.
email.deliveredTriggered when recipient mail server acknowledges delivery.
email.soft_bounceTriggered when temporary delivery issues occur.
email.bouncedTriggered on permanent hard bounce (SMTP 550 unknown user).
email.complainedTriggered when recipient flags email as spam/abuse complaint.
email.openedTriggered when recipient renders tracking pixel.
email.clickedTriggered when recipient clicks a link in email body.
email.unsubscribedTriggered when recipient clicks unsubscribe link.
email.suppressedTriggered when send attempt is blocked by suppression list.
email.failedTriggered on delivery worker or SES gateway failure.
Contactscontact.createdTriggered when a new contact is added to audience.
contact.updatedTriggered when contact metadata is modified.
contact.deletedTriggered when a contact is removed.
Domainsdomain.createdTriggered when a sender domain is added.
domain.updatedTriggered when DNS verification status changes.
domain.deletedTriggered when a domain is removed.
Suppressionssuppression.addedTriggered when address is added to suppression list.
suppression.removedTriggered when address is unblocked from suppressions.

4. Secure Your Secret Key#

When your endpoint is created, Emalc generates a unique cryptographic Secret Key starting with whsec_ (e.g., whsec_9f83a021b47e...).

  • Store this secret key safely in your server environment variables (EMALC_WEBHOOK_SECRET).
  • Use this secret key to perform HMAC-SHA256 Signature Verification on incoming requests.

5. Send a Test Ping#

Click Test Endpoint in the dashboard to dispatch a sample ping payload to your URL. Verify that your server returns an HTTP 200 OK status and confirms signature computation.