Spark360 publishes lead and widget events from application-layer trigger points after core data writes complete.
lead.enriched is mandatory for every webhook subscription and cannot be deselected.
Every lead event includes a source_tracking block reflecting the specific widget and source that captured the lead. For multi-widget organizations (Ultimate and Premium tiers), the values identify which specific widget produced the lead:
For single-widget organizations (Starter tier), the values default to the Primary widget and the originating source:
Event sequencing notes
lead.address_preview fires first on initial address submission and is address-only (no name or contact info).
lead.enriched fires after enrichment is complete and write-back includes scores, buyer insights, and roof estimate fields.
lead.rental_alert can fire alongside lead.enriched when owner_occupied = false.
lead.contact_requested fires last only if the homeowner completes the optional contact preference step.
lead.contact_requested is optional and only fires when the final contact step is completed. It always arrives after lead.enriched, never before.