> ## Documentation Index
> Fetch the complete documentation index at: https://docs.spark360.io/llms.txt
> Use this file to discover all available pages before exploring further.

# widget.status_changed

> Optional webhook fired when a widget's status changes.

`widget.status_changed` fires from the `widget.updated` handling path when an individual widget's status transitions (e.g., active ↔ inactive). For organizations with multiple widgets, the event identifies the specific widget that changed via the nested `widget` block.

<Note>
  `lead.enriched` is required for all subscriptions, even if only widget events are enabled.
</Note>

```json theme={null}
{
  "event": "widget.status_changed",
  "event_id": "uuid-v4",
  "timestamp": "2026-04-06T14:22:00Z",
  "organization_id": "b8ff2073-228d-4f0f-b5db-28b49cf4069e",
  "data": {
    "widget": {
      "widget_ref_id": "14a60bd9-babb-4ad0-8ec8-6a259f186701",
      "widget_name": "New Spark 02",
      "widget_version": "02"
    },
    "widget_status": "inactive",
    "previous_status": "active",
    "changed_by": "system"
  }
}
```

### Field reference

* `widget.widget_ref_id` — the unique reference ID for the specific widget that changed status. Matches `widget_reference_id` on lead events.
* `widget.widget_name` — the human-readable name of the widget (e.g., "Primary", "New Spark 02").
* `widget.widget_version` — the widget's version identifier (e.g., "01", "02").
* `widget_status` — the new status (`active` or `inactive`).
* `previous_status` — the prior status before the change.
* `changed_by` — the actor that initiated the change:
  * `system` — automated update (e.g., subscription status change, Quantiv toggle)
  * `admin` — manual Spark360 administrator toggle

<Note>
  `source_tracking` is intentionally omitted for this event because it is a widget-level status change, not a lead/source event.
</Note>
