> For the complete documentation index, see [llms.txt](https://docs.quickdev.cloud/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.quickdev.cloud/applications/actions-editor/data-responder.md).

# Data responder

When building an app, you can define events for components to monitor changes in specific data. For instance, for a Table component, the predefined events for changes in the `selectedRow` property: "**Row select change**", "**Filter change**", "**Sort change**", and "**Page change**".

However, some data changes, such as the changes in **dynamic variables**, **transformers**, or **query results**, do not have equivalent events. Data responders address these scenarios by enabling you to monitor and react to any data change.

{% hint style="info" %}
Events for data responders are more general than the events that listen to data changes such as content change, row select change, etc.
{% endhint %}

## Listen to data changes

In query editor, click **+ New**, and then select **Data responder** to create a new data responder.

<figure><img src="https://2228196961-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOetSCIB8nFF7hAJCTarW%2Fuploads%2F3Z4vSG4coLRjkbeJ77Y3%2Fdataresponder1.png?alt=media&amp;token=1723492d-7ee3-402a-9735-24e90502ae88" alt=""><figcaption></figcaption></figure>

You can specify the data that a data responder monitors. It accommodates various data formats, including numbers, strings, arrays, and JavaScript objects. In the following example, any change to the **Text** component prompts a global notification.

<figure><img src="https://2228196961-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOetSCIB8nFF7hAJCTarW%2Fuploads%2F2KkDm7qkOhN2NIxCwq5v%2Fdataresponder2.png?alt=media&amp;token=26320be6-4073-4821-9611-f82537907609" alt=""><figcaption></figcaption></figure>

When the data is in array or JavaScript object format, any change to a sub-element will trigger the configured event. For instance, in the case of `dataResponder2`, which is an object, it monitors two Input components within the application. Any change to these components will trigger the same global notification.

<figure><img src="https://2228196961-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOetSCIB8nFF7hAJCTarW%2Fuploads%2Fb3q59yXUSu8FepyBbxSu%2Fdataresponder3.png?alt=media&amp;token=b4a0d4b6-3cac-4bd2-ae78-d791547d6642" alt=""><figcaption></figcaption></figure>

For detailed information, go to [Event handlers > Actions](https://docs.quickdev.cloud/applications/actions-editor/event-handlers#actions).
