Skip to main content
Spark360 publishes lead and widget events from application-layer trigger points after core data writes complete.
Quantiv EventleadStatusS360 Outbound EventTriggerAvailability
lead.createdaddress_info_providedlead.address_previewLeads INSERTOptional
lead.updatedproject_details_provided(no outbound event)
lead.updatedpersonal_info_and_estimate_providedlead.enrichedEnrichment write-back completeREQUIRED — locked
lead.updatedpersonal_info_and_estimate_provided + ownerOccupied=falselead.rental_alertSame as above, occupancy checkOptional
lead.updatedcontact_info_providedlead.contact_requestedLeads UPDATEOptional
widget.updatedn/awidget.status_changedorganizations.widget_status UPDATEOptional
lead.enriched is mandatory for every webhook subscription and cannot be deselected.

Lead payload defaults

Every lead event includes these defaults:
{
  "widget_version": "01",
  "source_tracking": {
    "source_code": "01"
  }
}

Event sequencing notes

  1. lead.address_preview fires first on initial address submission and is address-only (no name or contact info).
  2. lead.enriched fires after enrichment is complete and write-back includes scores, buyer insights, and roof estimate fields.
  3. lead.rental_alert can fire alongside lead.enriched when owner_occupied = false.
  4. 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.