Outbound webhooks
Notify your host SaaS when runs finish or records quarantine — with a delivery log and redelivery.
Siphon notifies your host SaaS of run lifecycle events via an outbound webhook, so your product can react (surface a sync status, alert on quarantine) without polling the API.
Events
A run emits run.succeeded, run.partial, or — when a sync breaks — run.failed,
plus records.quarantined, records.deleted (when deletion detection
finds records gone from the source), and schema.drift (when the source's record
shape changes). Connection-health events connection.degraded
and connection.auth_expired round out the set. The payload identifies the org,
connection, run, and stats (or, for drift, the added/removed/retyped fields).
Point the webhook at Slack (an incoming webhook), an email relay, or your own alerting
to be notified the moment a sync fails, not when a customer complains.
Delivery log & redelivery
Every attempt is persisted to a webhook_deliveries log — the event type, target
URL, HTTP status, whether it was delivered, and the payload. From the
Webhooks admin view you can inspect each delivery and redeliver a failed
one with a click.
A failed notification never fails the run — delivery is observability, not correctness. Both the durable path and the interactive path emit events, so a durable-first sync still notifies your host.
Configuring the endpoint
The host webhook endpoint is configured per organization (in Settings). Point it at an HTTPS URL in your app that verifies and processes the event.
Not the same as a webhook destination
This is the host webhook — Siphon telling your product about run outcomes. It's distinct from a webhook destination, which delivers the records themselves to an endpoint.