# Monitoring Spark

The Spark dashboards in Nexthink Infinity provide full visibility into how Spark is used, how conversations progress, and how issues are resolved or escalated across your organization.

By combining live usage metrics, outcome tracking and message-level insights, these dashboards help support teams, administrators and supervisors continuously monitor how Spark performs, and drive improvement. Quickly assess adoption, measure self-resolution success, and identify where further actions or escalations occurred.

The **Spark overview** and **All conversations** dashboards support a closed-loop optimization process, enabling data-driven decisions to improve the employee experience and scale Spark confidently.

* [Using Spark overview](https://docs.nexthink.com/platform/user-guide/spark/monitoring-spark/using-spark-overview)
* [Monitoring conversations](https://docs.nexthink.com/platform/user-guide/spark/monitoring-spark/monitoring-conversations)

## Understanding conversation state and outcome

Each conversation includes:

* A **State**
* An **Outcome**

These attributes represent different aspects of the interaction.

### Conversation state

The state indicates whether the conversation is active or closed.

A conversation can be:

* **In progress:** The interaction between the employee and Spark continues.
* **Completed:** Spark closes the conversation.

Spark marks a conversation as **Completed** when:

* The employee confirms the issue is resolved.
* Spark creates a ticket automatically.
* After six hours of inactivity following the last Spark message.

### Conversation outcome

When Spark closes a conversation, it assigns one of the following outcomes based on the final interaction.

* **Resolved**&#x20;
* **Escalated**
* **Non-support**
* **Abandoned**

Additionally, the system stores the reason for the assigned outcome. This information is available in the `reason` field of the `agent.conversation` table in NQL. For examples of how to query this data, refer to [Spark NQL capabilities](https://docs.nexthink.com/platform/user-guide/spark/spark-nql-capabilities). For detailed information about the data model and available fields, see [NQL data model > Namespace agent](https://docs.nexthink.com/platform/understanding-key-data-platform-concepts/nql-data-model#agent).

#### Resolved

Spark assigns the **Resolved** outcome when a conversation results in any of the following:

* The employee confirms resolution.
* An automated remediation, action or workflow is successfully executed.
* Spark provides guidance, instructions, point of contact or a knowledge article focused on resolving the issue. &#x20;
* Spark determines, following automated diagnosis or triage, that the appropriate next step is to issue a request (including for hardware, software, or access to applications and/or systems).&#x20;

No express confirmation is required to classify a conversation as a Resolution.&#x20;

{% hint style="info" %}
A conversation will not be classified as a Resolution in any of the following scenarios:

* Spark is unable to address or resolve the issue and therefore initiates, routes, or facilitates a support ticket related to an escalation or incident.
* The user query falls outside the scope of or is unrelated to Spark’s supported capabilities.
  {% endhint %}

#### Escalated

Spark assigns the **Escalated** outcome in one of the following scenarios:

* Spark automatically creates a ticket.
* Spark recommends handing off the issue to another team.

#### Non-support

Spark assigns the **Non-support** outcome in one of the following scenarios:

* The employee sends non-actionable messages, such as greetings or acknowledgements.
* The employee sends a closure message after a period of inactivity.
* The employee asks general how-to questions, not intended for IT support.

#### Abandoned

Spark assigns the **Abandoned** outcome when the conversation closes without resolution or escalation. For example:

* A clarification question remains unanswered.
* An action is proposed but not approved.
* An action fails or does not complete.

{% hint style="info" %}
After automatic closure, Spark evaluates the conversation outcome and assigns **Resolved, Non-support** or **Abandoned**.
{% endhint %}
