Delivery Telemetry & Replay Operations
Every webhook dispatch performed by Emalc is tracked in real-time. You can inspect delivery performance, troubleshoot HTTP errors, ping test events, and manually replay historical deliveries from the dashboard.
Delivery Log Inspection#
For every attempted HTTP push, Emalc logs the following metadata accessible in Settings -> Webhooks -> Delivery Logs:
| Log Field | Type | Description |
|---|---|---|
deliveryId | string (UUID) | Unique identifier for the delivery attempt. |
eventType | string | Event stream type (e.g., email.delivered, contact.created). |
statusCode | number | HTTP status code returned by your server (e.g. 200, 404, 500, 0 for network timeout). |
requestDurationMs | number | Latency duration in milliseconds to execute the HTTPS POST. |
errorMessage | string | null | Error description if the network request timed out or failed. |
responseBody | string | null | First 1,024 characters of the response body returned by your endpoint. |
attempt | number | Delivery attempt count. |
createdAt | string (ISO) | Dispatch timestamp. |
Endpoint Timeout & Failure Conditions#
- HTTP Timeout: Emalc enforces a strict 5-second timeout (
AbortSignal.timeout(5000)) per delivery attempt. If your server takes longer than 5 seconds to process the request, the connection is terminated and logged as0 - Request Timed Out. - Successful Delivery Criteria: Any HTTP response code in the 2xx range (
200 OK,202 Accepted,204 No Content) is treated as a successful delivery. - Failed Delivery Criteria: Any 4xx/5xx status code or network connection error is logged as a delivery failure.
💡 Best Practice: Acknowledge webhook requests immediately with an HTTP
200 OKstatus and offload heavy background processing to your internal task queue.
Manual Delivery Replay#
If your backend service experienced an outage or temporary deployment downtime, you can re-send any historical webhook payload directly from the dashboard:
- Navigate to Settings -> Webhooks.
- Select your endpoint and open the Deliveries slide-over panel.
- Locate the failed delivery row and click Replay Delivery.
- Emalc will immediately re-sign the payload with a fresh
x-emalc-timestampandx-emalc-signatureheader and post it to your URL.
Testing Webhook Endpoints#
Before enabling an endpoint in production, test connectivity directly from the Emalc Dashboard:
- Click Test Endpoint on any configured webhook row.
- Emalc dispatches a
pingtest payload to your server. - The modal displays the returned HTTP status code, exact response latency in milliseconds, and the response body.