Why events matter
Traditional polling-based integrations check for changes on a schedule, which means you are always slightly behind. With Synq’s event-driven model, your systems receive a notification the moment something changes — no polling, no delay, no missed updates. Because every event carries a unique ID, a precise timestamp, and the full identity context of who triggered the action, you get end-to-end traceability across every operation without any extra instrumentation.Reliable delivery
If your endpoint is temporarily unavailable, Synq retries delivery automatically so you never miss a change.
Fully auditable
Every event records the exact user, organization, and tenant responsible for the action, giving you a complete audit trail.
Consistent structure
All events share the same envelope format regardless of type, so your consumer code stays simple and predictable.
Tenant-isolated
Your webhook endpoint only ever receives events that originated within your own Tenant — never events from other organizations on the platform.
Common event types
Event payload structure
Every Synq event uses the sameDomainEvent envelope regardless of type. The payload field contains the data specific to the event that occurred.
The
event_id is unique per event. Store it and check for duplicates in your handler to make your consumer idempotent — Synq may re-deliver an event if it does not receive a successful acknowledgement from your endpoint.Receiving events via webhooks
To start receiving events, register a webhook endpoint in your Synq dashboard or through the API. Synq willPOST each matching event to your URL as it occurs.
1
Create a webhook endpoint
Navigate to Settings → Webhooks in the dashboard and click Add Endpoint. Enter the HTTPS URL of your listener and select the event types you want to receive.
2
Verify the signature
Each delivery includes a
Synq-Signature header you can use to confirm the request came from Synq and was not tampered with in transit. Validate it before processing the payload.3
Acknowledge with a 2xx response
Return any
2xx HTTP status code within 10 seconds to acknowledge delivery. If your endpoint returns a non-2xx status or times out, Synq retries with exponential back-off.4
Process asynchronously for heavy work
If your handler needs to do significant work (database writes, third-party API calls), acknowledge the event immediately and enqueue the work for background processing. This prevents timeouts from triggering unnecessary retries.
Frequently asked questions
How long does Synq retain events?
How long does Synq retain events?
Synq retains all published events for 30 days. You can replay events within that window from the Settings → Webhooks → Event Log page in the dashboard, which is useful for debugging or recovering from a prolonged outage on your endpoint.
Can I filter events by order status or product category?
Can I filter events by order status or product category?
Currently, event subscriptions filter by event type. Fine-grained filtering on payload fields is on the roadmap. For now, filter in your handler after receiving the event.
Is there a rate limit on event delivery?
Is there a rate limit on event delivery?
Synq delivers events as fast as your endpoint can acknowledge them. There is no artificial throttle, but your endpoint should respond quickly to avoid back-pressure on retries. See Webhooks for guidance on handling high-throughput scenarios.
What happens if my endpoint is down for several hours?
What happens if my endpoint is down for several hours?
Synq retries failed deliveries with exponential back-off for up to 72 hours. After that window, undelivered events are marked as failed. You can replay them manually from the Event Log.