# Update signal

XCE allows Partners to load the widget in a state other than the default with custom attributes or trigger events programmatically using the `update` signal.

This type of features work on an as needed basis for each element, which is explained below.

## Using `update` signal

The `update` signal allows you to programmatically trigger our element events.

This is useful for specific customer actions or contexts during their journey that kept them away from any direct element interaction and still being able to trigger the desired event.

To programmatically select an input option call `signalLayer.push()` with `update` as the value for the `signal` property and add the input value in the `option` property as in the following example:

{% hint style="warning" %}
The following example is just to showcase an element selection update state scenario and is not necessarily available on your element.

The `option` property value should match any of the available inputs values.

Please refer to your CSE regarding the available states and input values to update for your element.
{% endhint %}

<pre class="language-html"><code class="lang-html"><strong>&#x3C;!-- remove protection button -->
</strong><strong>&#x3C;button onclick="removeProtection()">Remove Protection&#x3C;/button>
</strong>
&#x3C;!-- protection-offer example -->
&#x3C;script>
  function removeProtection() {
    window.signalLayer.push({
      signal: "update",
      element: "xce-protection-offer",
      option: "c345196d-a760-4222-87c3-d7f04c2549d3", // this value can vary
<strong>    });
</strong><strong>  }
</strong><strong>&#x3C;/script>
</strong></code></pre>

{% hint style="info" %}
This is similar to `dispatchEvent()` difference being we are using XCE Signals instead.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://partner-docs.covergenius.com/xcover-elements/client-integration/element-signals/update-signal.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
