Webhooks

Tracksales can notify your systems in real time when data changes in your organization. Configure webhook endpoints under Settings → Developer API → Webhooks in your Tracksales account.

How it works

  1. Create a webhook endpoint URL on your server.
  2. Subscribe to the events you care about (for example invoice.created or payment.created).
  3. Tracksales sends an HTTP POST with a JSON payload when each event occurs.
  4. Verify the request using the signing secret shown when you create the webhook.

Deliveries are retried automatically on failure (up to 3 attempts with backoff).

Payload format

Every delivery uses the same envelope:

{
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "customer.created",
    "created_at": "2026-07-08T09:00:00+00:00",
    "data": {
        "object": {
            "id": "customer-uuid",
            "resource": "customer",
            "full_name": "Jane Doe",
            "email": "[email protected]"
        }
    }
}
  • id — unique delivery ID (also sent as X-Tracksales-Delivery-Id)
  • type — event name (also sent as X-Tracksales-Event)
  • data.object — the affected resource snapshot

HTTP headers

Header Description
Content-Type application/json
User-Agent Tracksales-Webhooks/1.0
X-Tracksales-Event Event type, e.g. invoice.created
X-Tracksales-Delivery-Id Unique delivery UUID
X-Tracksales-Signature t={unix_timestamp},v1={hex_hmac}

Your endpoint should respond with HTTP 2xx within 15 seconds. Any other status is treated as a failure.

Test deliveries

Use Send test in the Developer API settings UI to send a webhook.test event to your endpoint without waiting for a real change.

Next steps