Skip to main content
Scheduled polling keeps your local database roughly in sync, but there is always a gap between when Home Service Data publishes a new dataset version and when your next cron job runs. Webhooks reduce that gap: every time a dataset version is published, Home Service Data emits a dataset.version.published event to your registered endpoint. Your handler can pull the delta and apply it as soon as delivery succeeds.

Event type

Home Service Data currently publishes one webhook event type:

Webhook payload

Every webhook delivery posts a signed JSON body with this outer shape:

Field reference

Using pull_deltas_url

The pull_deltas_url field is a ready-to-use URL that encodes exactly the delta between the previous version and the new one. Call it immediately after receiving the event to get only the records that changed — no need to calculate parameters manually. When requires_snapshot is true, it means this is the first version ever published for the dataset (there is no previous cursor to delta from). In that case, use snapshot_url instead of pull_deltas_url to seed your local table.

Setting up your webhook endpoint

1

Create your handler endpoint

Deploy an HTTPS endpoint in your application that accepts POST requests. The endpoint must return 200 OK within a few seconds or the delivery will be retried.
2

Register or review the endpoint in the Dashboard

Open the Dashboard → Webhooks page to review configured endpoints, event filters, allowed host, signing algorithm, max attempts, delivery history, and replay state. Endpoint creation may be enabled by your account team while access is being provisioned.
3

Store the webhook secret

Store the endpoint secret as an environment variable (e.g. HSD_WEBHOOK_SECRET). You will use it to verify X-HomeServiceData-Signature.
4

Test the delivery

Trigger a test or wait for the next dataset publish. Check Dashboard → Webhooks for signed attempts, response status, response preview, retries, and replay actions.
Always verify the HMAC signature before processing the payload. Requests that do not include a valid X-HomeServiceData-Signature should be rejected with a 401 or 403 response. Never trust the payload without this check.

Retry behavior

If your endpoint returns a non-2xx status or does not respond within the timeout window, Home Service Data will retry the delivery using an exponential backoff schedule. Design your handler to be idempotent — receiving the same event twice should produce the same result as receiving it once.

Sync Integration

Full step-by-step guide to snapshot seeding, cursor management, and applying delta changes.

CRM Integration

Connect dataset update events to CRM field enrichment and lead qualification workflows.