GETTING STARTED
Kore.ai XO Platform
Virtual Assistants Overview
Natural Language Processing (NLP)
Concepts and Terminology
Quick Start Guide
Accessing the Platform
Working with the Builder
Building a Virtual Assistant
Using Workspaces
Release Notes
Current Version
Previous Versions
Deprecations

CONCEPTS
Design
Storyboard
Dialog Tasks
Overview
Dialog Builder
Node Types
Intent Node
Dialog Node
Entity Node
Form Node
Confirmation Node
Message Nodes
Logic Node
Bot Action Node
Service Node
Webhook Node
Script Node
Group Node
Agent Transfer
User Prompts
Voice Call Properties
Dialog Task Management
Connections & Transitions
Component Transition
Context Object
Event Handlers
Knowledge Graph
Introduction
Knowledge Extraction
Build Knowledge Graph
Add Knowledge Graph to Bot
Create the Graph
Build Knowledge Graph
Add FAQs
Run a Task
Build FAQs from an Existing Source
Traits, Synonyms, and Stop Words
Manage Variable Namespaces
Update
Move Question and Answers Between Nodes
Edit and Delete Terms
Edit Questions and Responses
Knowledge Graph Training
Knowledge Graph Analysis
Knowledge Graph Import and Export
Importing Knowledge Graph
Exporting Knowledge Graph
Creating a Knowledge Graph
From a CSV File
From a JSON file
Auto-Generate Knowledge Graph
Alert Tasks
Small Talk
Digital Skills
Digital Forms
Views
Introduction
Panels
Widgets
Train
Introduction
ML Engine
Introduction
Model Validation
FM Engine
KG Engine
Traits Engine
Ranking and Resolver
NLP Configurations
NLP Guidelines
Intelligence
Introduction
Contextual Memory
Contextual Intents
Interruption Management
Multi-intent Detection
Amending Entities
Default Conversations
Sentinment Management
Tone Analysis
Test & Debug
Talk to Bot
Utterence Testing
Batch Testing
Conversation Testing
Deploy
Channels
Publish
Analyze
Introduction
Conversations Dashboard
Performance Dashboard
Custom Dashboards
Introduction
Meta Tags
Dashboards and Widgets
Conversation Flows
NLP Metrics
Containment Metrics
Usage Metrics
Smart Bots
Universal Bots
Introduction
Universal Bot Definition
Universal Bot Creation
Training a Universal Bot
Universal Bot Customizations
Enabling Languages
Store
Manage Assistant
Plan & Usage
Overview
Usage Plans
Support Plans
Invoices
Authorization
Multilingual Virtual Assistants
Masking PII Details
Variables
IVR Settings
General Settings
Assistant Management
Data Table
Table Views
App Definitions
Sharing Data Tables or Views

HOW TOs
Build a Flight Status Assistant
Design Conversation Skills
Create a Sample Banking Assistant
Create a Transfer Funds Task
Create a Update Balance Task
Create a Knowledge Graph
Set Up a Smart Alert
Design Digital Skills
Configure Digital Forms
Configure Digital Views
Add Data to Data Tables
Update Data in Data Tables
Add Data from Digital Forms
Train the Assistant
Use Traits
Use Patterns for Intents & Entities
Manage Context Switching
Deploy the Assistant
Configure an Agent Transfer
Use Assistant Functions
Use Content Variables
Use Global Variables
Web SDK Tutorial
Widget SDK Tutorial
Analyze the Assistant
Create a Custom Dashboard
Use Custom Meta Tags in Filters

APIs & SDKs
API Reference
API Introduction
API List
API Collection
koreUtil Libraries
SDK Reference
SDK Introduction
SDK Security
SDK Registration
Web Socket Connect and RTM
Using the BotKit SDK

ADMINISTRATION
Introduction
Assistant Admin Console
Administration Dashboard
User Management
Add Users
Manage Groups
Manage Roles
Assistant Management
Enrollment
Invite Users
Send Bulk Invites
Import User Data
Synchronize Users from AD
Security & Compliance
Using Single-Sign On
Security Settings
Cloud Connector
Analytics
Billing
  1. Home
  2. Docs
  3. Virtual Assistants
  4. Analyzing Your Bot
  5. Custom Dashboard

Custom Dashboard

Custom Dashboards allow you to design your own reports and dashboards to meet business needs using a combination of built-in metrics as well as custom KPIs based on user demographic or context information.

Custom Dashboards are in addition to the out-of-the-box dashboard reports available in the Bot Builder. See here for more on the Default Dashboard.

Custom Dashboards can be built using the following three simple steps:

  1. Identify the data points that you need to capture for deriving the metrics. This will be based on your business requirements and needs.
  2. Define suitable Custom Meta Tags to emit these data points in the Bot definition. See here for how to add custom meta tags to your bot.
  3. Design widgets, preview, and update the dashboard with these widgets. The rest of this document walks you through this step.

Note the conversation sessions include non-interactive sessions i.e. conversations with no messages from users.

You can use the Custom Dashboards under Analyze tab from the top menu to add multiple custom dashboards for your bot.

  • Each of these dashboards can have one or more widgets.
  • Each of these widgets can be associated with a set of pre-defined datasets.
  • Datasets can be used to define queries (similar to SQL) for extracting the required data to be represented by the widgets.
  • Information related to messages, sessions, analytics, and meta tags can be used to generate the data.

We will be seeing how to build a Custom Dashboard using each of the above-mentioned components.

Dashboards

You can add one or more Dashboards by providing basic details of the Dashboard.

  • You can edit and modify the Dashboard Name anytime.
  • Every Dashboard comes with Date Range which is a filter that can be set to 24 Hrs, 7 Days, or custom range and this will be applicable for all widgets in the Dashboard.
  • You can choose a Color Theme for your dashboard.
  • You can Add Widget to a given Dashboard (see below for details).
  • You can reorder the widgets within a dashboard using the move cursor, visible on mouse hover over the widget, to drag and reorder the widget anywhere on the Dashboard.
  • Using the more (verticle ellipses) icon, you can either create a New DashboardClone DashboardExport Dashboard or Delete Dashboard.
  • Dashboard data can be exported in JSON format.

Widgets

You can add one or more widgets to a Dashboard. Use the Add Widget option to add widgets to a Dashboard. Widget configuration involves two steps:

  1. Data Definition
  2. Data Representation

Data Definition

Every widget should be associated with a query definition to specify what information should be retrieved and represented on a Widget. Following are the configurations used to generate the query definition:

  • Dataset defining the source of data. This can be:
    • Analytics: Analytics gives access to data pertaining to Success Intents, Failed Intents, Success Tasks, and Failed Tasks associated with your bot. You can choose to view key fields like MetricType, Channel, UserId, etc. or any custom fields added against the metrics records.
    • Message: This dataset provides Bot and User messages for your Bot. You can choose to view key fields UserId, Channel, etc. or any custom fields added against the messages.
    • Sessions: Use this dataset to provide a listing of conversation sessions associated with your Bot. You can choose to view key fields like UserId, Channel, etc. or any custom fields added against the sessions.
  • Date Range is provided by default, you can set the values for preview purposes. This is set by default to the past 7 days and can be customized to a range of 90 days up to 365 days in the past.
  • Select fields to be depicted by the Widget.
    • Depending upon the Dataset selected the Fields will vary. See the table below for detailed listing. For example to list the success & failed intents, metricType
    • You can apply on these fields the aggregation functions like “min”, “max”, “sum”, “count”, or “avg”“. For example to count the total triggered intents, count(metricType)
    • You can give a display name as an alias. For example, count(metricType) as total
    • Apart from these if you have defined any Custom/Meta Tags for your Bot, you can use them under the appropriate heading using the following notation: userTag.tagname = value. That is if you have declared a Message level custom tag, select the Message Dataset and enter messageTag.TagName. Post the release of v8.1, you can use custom tags that are not yet defined too, be aware that this would result in an empty dataset, and as such the display would be empty.
  • Filter By fields (actual field names, not alias as give in the Select clause) can be used to define the criteria for filtering results. You can apply the following operators on these fields: “=”, “>=”, “<=”, “>”, “<“, “in”, “not in”. For example to list the dialogs both intents and tasks which were successful, metricType = successintents or metricType = successtasks and tasktype = dialog. Note while conjugating multiple conditions they would be evaluated left to right, and this ordering cannot be changed using parentheses ()
  • Group By fields (actual field names, not alias as give in the Select clause) for applying the aggregating functions. For example in the above example to total based on the metric type, metricType
  • Sort By fields (actual field names, not alias as give in the Select clause) to order the results in ascending or descending order – “asc”, or “desc”. For example to sort in the descending order of the metric type, metricType desc

Run the query to see the results in a tabular format.

Data Representation

The next step would be to render the data in a visually appealing way. The following options are available for data representation:

  • Table will render the data in a simple row and column format. You can specify the Columns and their order from the Dimensions option.
  • Pivot chart will help summarise the data. You can specify the Dimensions – the columns to be displayed; Metrics – the value against the column; and Overlay – the column to be considered in case a data series needs to be represented. For example, if the dimension is set to be ‘date’, metric as ‘number of chats’ and overlay to be ‘customer type’ then the number of chats per customer type where each distinct customer type as series would be displayed.
  • Bar Chart can be used to depict the data across the X- and Y-axis. The results can be split into Data Series based on the Overlay field and get multiple lines plotted.
  • Horizontal Bar Chart can be used to depict the data across the X- and Y-axis, a flipped version of Bar Chart. The results can be split into Data Series based on the Overlay field and get multiple lines plotted.
  • Line Chart can be used to depict the data across the X- and Y-axis. The results can be split into Data Series based on the Overlay field and get multiple lines plotted.
  • Pie Chart can be used for aggregation data to depict part-of-whole scenarios. Use Dimensions to set the fields to be depicted and the Metrics to set the aggregation function to be depicted.
  • Donut Chart can be used similar to a Pie chart for better visualization.
  • Label Chart can be used to highlight value or metric in a space of its own.

Use the Preview button to visualize the Widget. If it suits your purpose, add the widget to your to Dashboard to save the changes.
NOTE: You have to Run the query to be able to Preview it.

Widget Actions

Using the more icon (vertical ellipses) against each Widget, you can:

  • Edit option will open the Widget definition page where you can make changes to an already defined Widget.
  • Clone option can be used to duplicate the Widget definition and modify it.
  • Export option can be used to export widget data
    • JSON format will include the final results that are displayed in the Widget UI
    • CSV format will export the results of the query that is associated with the widget (before converting the data as per the Widget UI)
  • Delete option can be used to delete the widget from the Dashboard.

Limitations

  • You can define a maximum of 100 custom dashboards.
  • Each dashboard can include a maximum of 100 widgets.
  • A maximum of 3 metrics can be added to the chart.
  • Each chart can render 1 dimension.
  • The custom date range can be set to a range of 90 days up to 365 days in the past.

Dataset & Fields

Note that the field names are case sensitive and should be used as indicated in the tables below.

Analytics

Field Name Data Type Possible Value
metricType Text
  • successtasks
  • successintents
  • failedtasks
  • failedintents
taskName Text Name of the Task being executed
taskType Text
  • dialog
  • action (includes information task also)
  • alert
  • FAQ
  • smalltalk
isDeveloper Text
  • exclude
  • include
failurereason Text
failurepoint Text
language Text
  • en (for English)
  • de (for German)
  • es (for Spanish)
  • fr (for French)
  • pt (for Portuguese (Brazilian))
  • it (for Italian)
  • zh_cn (for Chinese Simplified)
  • zh_tw (for Chinese Traditional)
  • id (for Indonesian)
  • ko (for Korean)
  • nl (for Dutch)
  • ja (for Japanese)
  • ar (for Arabic)
  • fi (for Finnish)
  • ru (for Russian)
  • pl (for Polish)
  • uk (for Ukrainian)
  • sv (for Swedish)
channel Text
  • skypeforbusiness (for Skype for Business)
  • msteams (for Microsoft Teams)
  • twitter (for Twitter)
  • spark (for Cisco Spark)
  • rtm (for Web/Mobile Client)
  • Facebook (for Facebook Messenger)
  • slack (for Slack)
  • skype (for Skype)
  • kore (for Kore Messenger)
  • email (for Email)
  • sms (for SMS)
  • wfacebook (for Workplace by Facebook)
  • ringcentral (for RingCentral Glip)
  • jabber (for Cisco Jabber)
  • yammer (for Microsoft Yammer)
  • alexa (for Amazon Alexa)
  • twiliovoice (for Twilio Voice)
  • telegram (for Telegram)
  • ivr (for Webhook)
  • ivrVoice (for IVR)
  • line (for Line Messenger)
  • liveperson (for Liveperson)
  • googleactions (for Google Assistant)
  • wechat (for WeChat)
  • hangoutchat (for Hangout Chat)
  • mattermost (for Mattermost)
sessionId (not allowed as dimension in widget representation) Text of the form:

5d8361063b790ae15727d75f

trainingStatus Text
  • true, or
  • false
pinStatus Text
  • true, or
  • false
matchType Text
  • true, or
  • false
userId Text email id or enterprise assigned user id
channeluserid (not allowed as dimension in widget representation) Text
timestampvalue Number
date Date

Messages

Field Name Data Type Possible Value
messagetype string
  • incoming – for user messages
  • outgoing – for bot responses
isDeveloper number
  • exclude
  • include
messageId (not allowed as a dimension in widget representation) string of the form:

ms-35bb7391-edc9-5a7a-859c-5682f787a684

channel string
  • skypeforbusiness (for Skype for Business)
  • msteams (for Microsoft Teams)
  • twitter (for Twitter)
  • spark (for Cisco Spark)
  • rtm (for Web/Mobile Client)
  • Facebook (for Facebook Messenger)
  • slack (for Slack)
  • skype (for Skype)
  • kore (for Kore Messenger)
  • email (for Email)
  • sms (for SMS)
  • wfacebook (for Workplace by Facebook)
  • ringcentral (for RingCentral Glip)
  • jabber (for Cisco Jabber)
  • yammer (for Microsoft Yammer)
  • alexa (for Amazon Alexa)
  • twiliovoice (for Twilio Voice)
  • telegram (for Telegram)
  • ivr (for Webhook)
  • ivrVoice (for IVR)
  • line (for Line Messenger)
  • liveperson (for Liveperson)
  • googleactions (for Google Assistant)
  • wechat (for WeChat)
  • hangoutchat (for Hangout Chat)
  • mattermost (for Mattermost)
sessionId (not allowed as a dimension in widget representation) string of the form:

5daecb96e79dbaabb87fd4c4

language Text
  • en (for English)
  • de (for German)
  • es (for Spanish)
  • fr (for French)
  • pt (for Portuguese (Brazilian))
  • it (for Italian)
  • zh_cn (for Chinese Simplified)
  • zh_tw (for Chinese Traditional)
  • id (for Indonesian)
  • ko (for Korean)
  • nl (for Dutch)
  • ja (for Japanese)
  • ar (for Arabic)
  • fi (for Finnish)
  • ru (for Russian)
  • pl (for Polish)
  • uk (for Ukrainian)
  • sv (for Swedish)
userId Text email id or enterprise assigned user id
timestampvalue Number the timestamp of the message
date Date Creation date on the message
username string user name

Sessions

Field Name Data Type Possible Value
streamid (not allowed as a dimension in widget representation) string Bot id
sessionid string of the form:

5daecb96e79dbaabb87fd4c4

userId string email id or enterprise assigned user id
username string User Name
sessiontype string Conversation session type

  • Interactive;
  • Non-interactive
channel string
  • skypeforbusiness (for Skype for Business)
  • msteams (for Microsoft Teams)
  • twitter (for Twitter)
  • spark (for Cisco Spark)
  • rtm (for Web/Mobile Client)
  • Facebook (for Facebook Messenger)
  • slack (for Slack)
  • skype (for Skype)
  • kore (for Kore Messenger)
  • email (for Email)
  • sms (for SMS)
  • wfacebook (for Workplace by Facebook)
  • ringcentral (for RingCentral Glip)
  • jabber (for Cisco Jabber)
  • yammer (for Microsoft Yammer)
  • alexa (for Amazon Alexa)
  • twiliovoice (for Twilio Voice)
  • telegram (for Telegram)
  • ivr (for Webhook)
  • ivrVoice (for IVR)
  • line (for Line Messenger)
  • liveperson (for Liveperson)
  • googleactions (for Google Assistant)
  • wechat (for WeChat)
  • hangoutchat (for Hangout Chat)
  • mattermost (for Mattermost)
language Text
  • en (for English)
  • de (for German)
  • es (for Spanish)
  • fr (for French)
  • pt (for Portuguese (Brazilian))
  • it (for Italian)
  • zh_cn (for Chinese Simplified)
  • zh_tw (for Chinese Traditional)
  • id (for Indonesian)
  • ko (for Korean)
  • nl (for Dutch)
  • ja (for Japanese)
  • ar (for Arabic)
  • fi (for Finnish)
  • ru (for Russian)
  • pl (for Polish)
  • uk (for Ukrainian)
  • sv (for Swedish)
timestampvalue Number Timestamp value
date Date mm-dd-yyyy
Menu