Webhooks Overview
Webhooks let you receive real-time HTTP notifications when events occur in your Replicer account. Instead of polling the API, you configure an endpoint URL and Replicer pushes events to you.
How it works
1. An event occurs (e.g., a call ends)
2. Replicer finds your active webhook endpoints subscribed to that event
3. Replicer sends a POST request to each endpoint with the event payload
4. Your server responds with 2xx to acknowledge receipt
5. If delivery fails, Replicer retries up to 5 times with exponential backoffSetting up webhooks
From the Dashboard
- Go to Dashboard → Settings → Webhooks
- Click Add Endpoint
- Enter your endpoint URL (must be HTTPS in production)
- Select the events you want to receive
- Copy the signing secret — it's shown only once
Endpoint requirements
- Must accept
POSTrequests withContent-Type: application/json - Must respond with a
2xxstatus code within 10 seconds - Should be HTTPS in production (HTTP allowed for local development)
Payload format
All webhook events are delivered as JSON with a consistent envelope:
json
{
"id": "evt-unique-delivery-id",
"event": "call.ended",
"timestamp": "2026-04-05T14:04:00Z",
"data": {
// Event-specific data
}
}Request headers
| Header | Description |
|---|---|
Content-Type | application/json |
X-Replicer-Event | Event type (e.g., call.ended) |
X-Replicer-Delivery-Id | Unique delivery ID |
X-Replicer-Timestamp | Unix timestamp of the delivery |
X-Replicer-Signature | HMAC-SHA256 signature for verification |
Retry policy
If your endpoint doesn't respond with a 2xx status code, Replicer retries the delivery with exponential backoff:
| Attempt | Delay |
|---|---|
| 1st retry | 5 seconds |
| 2nd retry | 30 seconds |
| 3rd retry | 2 minutes |
| 4th retry | 10 minutes |
| 5th retry | 30 minutes |
After 5 failed retries, the delivery is marked as failed. You can view delivery history in the dashboard.
Delivery logs
Every delivery attempt is logged. View the history in Settings → Webhooks → click the delivery icon on an endpoint. Each log entry includes:
- Event type
- HTTP response status code
- Attempt number
- Success/failure status
- Timestamp

