# Creating dashboards

### Using templates

For your convenience, templates are available to use or easily build from. Simply start by selecting the *+ Add dashboard* link:

{% @arcade/embed flowId="Y8VY9m14qdXLpqPk8Csm" url="<https://app.arcade.software/share/Y8VY9m14qdXLpqPk8Csm>" %}

1. Enter name of dashboard
2. Select a template
3. If needed, modify panels by hovering & selecting from the icons that appear (edit, duplicate, remove)
4. Click *Save*

#### Templates

<details>

<summary>Overview template</summary>

*Overview* provides general traffic data happening with your application. If a system [Analytics tag ](https://docs.nlx.ai/platform/nlx-platform-guide/flows-and-building-blocks/overview/nodes#analytics-tags)has been added to nodes in your intent flows, stats on these will also appear.

Panels included:

* *All conversations*: Displays the total number of all conversations; a conversation is defined as a single interaction session between bot and user
* *All messages*: Displays the total number of all messages sent by users
* *Traffic*: Provides a graph that shows the number of conversations for each of the days defined in the *From/To* filter fields
* Three analytics system tags labeled *Automated*, *Helpful*, and *Not\_helpful*. Each gives a percentage for the metric and, below it, the aggregate ratio that led to the calculation of that percentage. The numerator in the ratio is the number of conversations or messages (depending on the data being calculated) that apply to that metric, while the denominator is the total number of conversations or messages. These analytics are based on [tagging](https://docs.nlx.ai/platform/nlx-platform-guide/flows-and-building-blocks/overview/nodes#analytics-tags)
  * *Automated conversations*: Displays the percentage of conversations when the user reaches a node in a flow tagged with the *Automated* system tag
  * *Helpful conversations*: Displays the percentage of conversations when the user reaches a node in a flow tagged with the *Helpful* system tag
  * *Not helpful conversations*: Displays the percentage of conversations when the user reaches a node in a flow tagged with the *Not helpful* system tag

</details>

<details>

<summary>Performance template</summary>

*Performance* monitors response times and operations of your API integrations; specifically, it provides a view into the performance of your [*Actions*](https://docs.nlx.ai/platform/nlx-platform-guide/flows-and-building-blocks/advanced/actions) and [*Data requests*](https://docs.nlx.ai/platform/nlx-platform-guide/integrations/types/data-requests).

Panels included:

* *Action invocations*: The number of times an Action is invoked
* *Action success rate*: The rate determined by the number of times an Action is invoked and successfully executed
* *Action response times*:  The average time it takes for an Action to be invoked and executed&#x20;
* *Performance by action*: The average response time (seconds) and the success percentage for each Action
* *Data request invocations*: The number of times a Data request is invoked
* *Data request success rate*: The rate determined by the number of times a Data request is sent and successfully retrieved
* *Data request response times*: The average time it takes for a Data request to be responded to
* *Performance by data request*: The average response time (seconds) and the success percentage for each Data request&#x20;

</details>

<details>

<summary>User experience template</summary>

*User experience* focuses on how your users are experiencing a conversational AI application.&#x20;

Panels included:

* *Flows recognized*: The percentage determined by how many times the application is successfully able to recognize a user's intent and route to the correct flow
* *Avg NLP confidence score*: The confidence level that the NLP has understood the users' utterances and has directed them to the correct flow
* *Dropoff rate*: Percentage determined by how many times a user drops off after calling into the application before being routed to any flow
* *Escalation rate*: Percentage determined by how many times the application escalates the user because it is not able to complete or route the user to a flow that matches their intent
* *Trending phrases*: The utterances that are frequently said by users to the application, the number of times it has occurred, and whether it is trending up or down in the given time period
* *Flow performance*: The average confidence score and number of conversations that have been routed to that flow

</details>

***

### Custom dashboards

{% hint style="warning" %}
This feature is currently available to enterprise tiers only.
{% endhint %}

{% @arcade/embed flowId="h7tdhydZUQZ2jwsT46EH" url="<https://app.arcade.software/share/h7tdhydZUQZ2jwsT46EH>" %}

1. Click the  *+ Add dashboard* link:
2. Enter name of dashboard
3. Click *+ Add panel* button; repeat as needed
4. Hover on panel > Choose edit icon
5. Enter a name for the panel and description of what it tracks&#x20;
6. Select [visual Chart type](#chart-type) > Choose from compatible metrics for your chosen chart type
7. When done, click < *Back to panels* link to edit other panels or select *Save*

:brain: When editing a panel, a checklist is conveniently provided on the right to indicate the setup requirements of your selected *Chart type*.

***

### Edit a dashboard

To edit an existing dashboard in Analytics, tap the *Edit dashboard* link:

{% @arcade/embed flowId="PdkUaaBHNb7TKaQOpg20" url="<https://app.arcade.software/share/PdkUaaBHNb7TKaQOpg20>" %}

***

### Chart type

<table><thead><tr><th width="120">Chart </th><th width="335">Description</th><th>Example</th></tr></thead><tbody><tr><td><em>Value</em></td><td>Displays a single numerical output of a chosen metric</td><td>Sum of all <em>Data requests invoked</em></td></tr><tr><td><em>Gauge</em></td><td>Displays a numerical value of a chosen metric against its maximum range</td><td>Sum of successful SMS actions sent against the range of all SMS actions sent</td></tr><tr><td><em>Funnel</em></td><td>Displays stages of a metric as it filters downward</td><td>Sum of all Conversations filtered by language (Stage 1) then a specific intent (Stage 2) then an analytics tag (Stage 3)</td></tr><tr><td><em>Pie chart</em></td><td>Displays numerical proportions of a chosen metric within a selected group</td><td><em>Data requests invoked</em> as the chosen Metric and <em>Data request</em> as the selected Grouping for showing all data requests created in the workspace with their proportions when triggered in conversations</td></tr><tr><td><em>Bar chart</em></td><td>Displays vertical columns of the values of one or more chosen metrics over time</td><td>Sum of conversations through voice channels versus conversations through chat channels (using filters), set to a time interval of each day</td></tr><tr><td><em>Line chart</em></td><td>Displays changes in the values of one or more chosen metrics over time</td><td>Sum of <em>Data requests invoked</em> that have timed out (using filters with <a href="../../../flows-and-building-blocks/overview/nodes#analytics-tags">analytics tags applied </a>to timeout nodes), set to a time interval of every hour</td></tr><tr><td><em>Box plot</em></td><td>Displays the median value of a chosen metric along the range of its captured minimum and maximum values</td><td>Median value of <em>Action response times</em> (in seconds) displayed within its range of min and max values</td></tr><tr><td><em>Table</em></td><td>Displays one or more chosen metrics in rows and columns. Rows are auto-generated based on the <em>Grouping</em> type selected in Column 1 of your table</td><td>Sum of conversations occurring with applications and subsequent columns showing the sum of conversations occurring in different cities (using filters)</td></tr></tbody></table>

***

### Theme

:black\_circle: *Neutral*: Provides data visualization of the panel in a black scheme

:green\_circle: *Success*: Provides data visualization of the panel in a green scheme

:red\_circle: *Error*: Provides data visualization of the panel in a red scheme

***

### Metric

{% hint style="warning" %}
Not able to select the metric you want when editing a panel? You may need to adjust your chosen [Chart type](#chart-type) for compatibility.
{% endhint %}

:bar\_chart: Make information visible from an external data source using the [Table chart's Webhook](#external-analytics).

<table><thead><tr><th width="312">Metric</th><th>Description</th></tr></thead><tbody><tr><td>Actions invoked</td><td>Total number of <a href="../../flows-and-building-blocks/advanced/actions">Actions</a><a href="../../flows-and-building-blocks/advanced/actions"> </a>triggered during user conversations</td></tr><tr><td>Percentage of successful actions</td><td>Percentage of <a href="../../flows-and-building-blocks/advanced/actions">Actions</a> triggered that were resolved during conversations</td></tr><tr><td>Actions response time</td><td>Length of time <a href="../../flows-and-building-blocks/advanced/actions">Actions</a> took to resolve when triggered during conversations</td></tr><tr><td>Conversations</td><td>Total number of conversation sessions with users</td></tr><tr><td>Time spent per conversation</td><td>Length of time (displayed in seconds) of a conversation session with a user</td></tr><tr><td>Flows detected</td><td>Total number of flows users were directed to</td></tr><tr><td>Flows detected without input</td><td>Total number of flows users were directed to without use of a <a href="../../../flows-and-building-blocks/overview/nodes#user-input"><em>User input</em> node</a></td></tr><tr><td>Flows invoked</td><td>Total number of times the conversational AI identified customer intent and invoked the appropriate flow</td></tr><tr><td>Time spent per flow</td><td>Length of time (displayed in seconds) users experienced a flow</td></tr><tr><td>Voice+ scripts</td><td>Total number of Voice+ experiences triggered in conversations by <a href="../../../flows-and-building-blocks/overview/nodes#voice"><em>Voice+</em> nodes</a></td></tr><tr><td>Number of steps per Voice+ script</td><td>Number of Voice+ steps triggered by users in Voice+ experiences (may choose aggregation: Min, Max, Avg, Sum)</td></tr><tr><td>Time spent per Voice+ script</td><td>Length of time (displayed in seconds) users were engaged with a <a href="../../flows-and-building-blocks/advanced/voice+-scripts">Voice+ experience</a> (may choose aggregation: Min, Max, Avg, Sum)</td></tr><tr><td>Lifecycle hooks invoked</td><td>Total number of <a href="../../flows-and-building-blocks/advanced/lifecycle-hooks">Lifecycle hooks</a> triggered during user conversations</td></tr><tr><td>Knowledge base confidence score</td><td>Median confidence level of LLM when matching user queries to <a href="../../../flows-and-building-blocks/knowledge-bases/ingest-content#create-articles">Knowledge base article</a><a href="../../../flows-and-building-blocks/knowledge-bases/ingest-content#create-articles">s</a></td></tr><tr><td>Knowledge base invoked</td><td>Total number of times a knowledge base was invoked during user conversations</td></tr><tr><td>Knowledge base response time</td><td>Length of time for a response to be matched and relayed to a user</td></tr><tr><td>Messages per conversation</td><td>Average number of user messages per conversation session</td></tr><tr><td>Messages</td><td>Total number of user messages</td></tr><tr><td>Confidence score</td><td>Median confidence level of NLP for understanding users' utterances when matching them to an intent</td></tr><tr><td>Time spent per node</td><td>Length of time (displayed in seconds) users spent on user response nodes in flows</td></tr><tr><td>Phrase occurrences</td><td>List of captured user phrases and their total occurrences</td></tr><tr><td>Phrase trends</td><td>Percentage increase or decrease of phrase occurrences for a selected time interval</td></tr><tr><td>Response time</td><td>Length of time (in seconds) all API resources took to resolve when triggered during conversations</td></tr><tr><td>Users</td><td>Number of unique users to initiate a conversation</td></tr><tr><td>Data requests invoked</td><td>Number of <a href="../../../flows-and-building-blocks/overview/nodes#data-request">Data requests </a>triggered during user conversations</td></tr><tr><td>Percentage of successful data requests</td><td>Percentage of <a href="../../integrations/types/data-requests">Data requests</a> triggered that were resolved during conversations</td></tr><tr><td>Data requests response time</td><td>Length of time <a href="../../integrations/types/data-requests">Data requests</a> took to resolve when triggered during conversations</td></tr></tbody></table>

{% hint style="success" %}
Check [Formulas & multi-metrics](https://docs.nlx.ai/platform/nlx-platform-guide/monitoring/analytics/formulas-and-multi-metrics) for advanced calculations to apply.
{% endhint %}

***

### External analytics

To display data from an external data source, begin by creating or editing an analytics dashboard:

{% hint style="info" %}
Integrating an external data source is only available through the [Table chart type](#chart-type).
{% endhint %}

1. Add or edit a panel from your dashboard
2. Set *Chart type* to *Table*
3. Select *Webhook* as the *Data source >* Choose *External* for *Type*&#x20;
4. Enter the URL of the endpoint (your endpoint must respond with a status code and string body of the data)
5. Click *Save*

Sample payload:

<pre><code><strong>{          
</strong>  statusCode: 200,
  body: JSON.stringify("one,two\n1,2\n3,4\n5,6")
};
</code></pre>

Optional

* Use placeholders `startTimestampExtended` and `endTimestampExtended` in the URL field to pass the start and end timestamps from the dashboard to the endpoint request
* Add one or more headers > Include name/value pair
* Toggle *Sensitive* setting on to redact information from conversation logs

***

### Aggregation

* *Min*: Displays the minimum value of the chosen metric
* *Avg*: Displays the average, or mean, of the chosen metric
* *Max*: Displays the maximum value of the chosen metric
* *Sum*: Displays the total value of the chosen metric

***

### Filters

Filters allow you to include or exclude specific resources or criteria from your data:&#x20;

1. Navigate to your *Analytics* dashboard
2. Select *Edit dashboard* > Choose any panel in your dashboard
3. After selecting *Chart* type and *Metric*, expand the *Filters* section
4. Specify whether to include/exclude resources from data displayed
5. When done, click *Save*

When adding more than one item to include or exclude from your dataset, the following toggle setting is made available:

* *Any*: Returns data if at least one item from the list is present in a conversation
* *All*: Returns data if all items from the list are present in a conversation&#x20;

***

### Private/Public visibility

Each analytics dashboard created in a workspace may be set to one of two visibility settings:&#x20;

{% @arcade/embed flowId="gxyFVzHhy0abiHVaQbEm" url="<https://app.arcade.software/share/gxyFVzHhy0abiHVaQbEm>" %}

* *Public*: Visible to all who access the workspace
* *Private*: Visible only to the creator of the dashboard

{% hint style="warning" %}
Dashboards made Public cannot be made Private later.
{% endhint %}

***

### Setting up alerts

Alerts allow you to specify individuals that should receive emailed notifications when a particular metric's value is triggered:

{% @arcade/embed flowId="dSuWDDMCqY3uP6eh5kPS" url="<https://app.arcade.software/share/dSuWDDMCqY3uP6eh5kPS>" %}

* Navigate to an Analytics dashboard > Hover on panel > Choose bell icon
* Enter trigger criteria & the period of time over which the alert will continually be checked in 5-minute intervals
* Select subscriptions to receive email notifications. Need to set up a subscription? See [Subscriptions](https://docs.nlx.ai/platform/nlx-platform-guide/alerts-and-notifications#subscriptions)

> Optional:
>
> * *Region*: Choose between Global or European Union, if applicable to your bot's deployment
> * *Hours of operation*: By default, alerts may be sent any time of day, Sunday through Saturday. You may adjust these settings to correspond with business hours, or to specify different subscribers for different intervals of the day

* Click *Create alert*

{% hint style="warning" %}
To delete an alert, tap the bell icon > Select the alert > Click the *Delete alert* link. You may also remove it via the [Notification manager](https://docs.nlx.ai/platform/nlx-platform-guide/monitoring/alerts-and-notifications).
{% 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://docs.nlx.ai/platform/nlx-platform-guide/monitoring/analytics/creating-dashboards.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.
