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
- Create a webhook endpoint URL on your server.
- Subscribe to the events you care about (for example
invoice.createdorpayment.created). - Tracksales sends an HTTP
POSTwith a JSON payload when each event occurs. - 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 asX-Tracksales-Delivery-Id)type— event name (also sent asX-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
- Event reference — all supported event types
- Verify signatures — validate that requests came from Tracksales