Skip to content

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 backoff

Setting up webhooks

From the Dashboard

  1. Go to DashboardSettingsWebhooks
  2. Click Add Endpoint
  3. Enter your endpoint URL (must be HTTPS in production)
  4. Select the events you want to receive
  5. Copy the signing secret — it's shown only once

Endpoint requirements

  • Must accept POST requests with Content-Type: application/json
  • Must respond with a 2xx status 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

HeaderDescription
Content-Typeapplication/json
X-Replicer-EventEvent type (e.g., call.ended)
X-Replicer-Delivery-IdUnique delivery ID
X-Replicer-TimestampUnix timestamp of the delivery
X-Replicer-SignatureHMAC-SHA256 signature for verification

Retry policy

If your endpoint doesn't respond with a 2xx status code, Replicer retries the delivery with exponential backoff:

AttemptDelay
1st retry5 seconds
2nd retry30 seconds
3rd retry2 minutes
4th retry10 minutes
5th retry30 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 SettingsWebhooks → click the delivery icon on an endpoint. Each log entry includes:

  • Event type
  • HTTP response status code
  • Attempt number
  • Success/failure status
  • Timestamp

Replicer API Documentation