OVERVIEW
Virtual Assistants
Kore.ai Platform
Key Concepts
Natural Language Processing (NLP)
Accessing Platform
VIRTUAL ASSISTANTS
Virtual Assistant Builder
Virtual Assistant Types
Getting Started
Creating a Simple Bot
SKILLS
Storyboard
Dialog Task
Introduction
Dialog Builder (New)
Dialog Builder (Legacy)
User Intent Node
Dialog Node
Entity Node
Supported Entity Types
Composite Entities
Supported Colors
Supported Company Names
Form Node
Logic Node
Message Nodes
Confirmation Nodes
Bot Action Node
Service Node
Custom Authentication
2-way SSL for Service nodes
Script Node
Agent Transfer Node
WebHook Node
Grouping Nodes
Connections & Transitions
Manage Dialogs
User Prompts
Knowledge Graph
Terminology
Building
Generation
Importing and Exporting
Analysis
Knowledge Extraction
Build
Alert Tasks
Introduction
Ignore Words and Field Memory
How to Schedule a Smart Alert
Small Talk
Digital Views
Overview
Configuring Digital Views
Digital Forms
Overview
How to Configure Digital Forms
NATURAL LANGUAGE
Overview
Machine Learning
Introduction
Model Validation
Fundamental Meaning
Introduction
NLP Guidelines
Knowledge Graph
Traits
Introduction
How to Use Traits
Ranking and Resolver
Advanced NLP Configurations
INTELLIGENCE
Overview
Context Management
Overview
Session and Context Variables
Context Object
How to Manage Context Switching
Manage Interruptions
Dialog Management
Sub-Intents & Follow-up Intents
Amend Entity
Multi-Intent Detection
Sentiment Management
Tone Analysis
Sentiment Management
Event Based Bot Actions
Default Conversations
Default Standard Responses
TEST & DEBUG
Talk to Bot
Utterance Testing
Batch Testing
Conversation Testing
CHANNELS
PUBLISH
ANALYZE
Overview
Dashboard
Custom Dashboard
Overview
How to Create Custom Dashboard
Conversation Flows
NLP Metrics
ADVANCED TOPICS
Universal Bots
Overview
Defining
Creating
Training
Customizing
Enabling Languages
Store
Smart Bots
Defining
koreUtil Libraries
SETTINGS
Authorization
Language Management
PII Settings
Variables
Functions
IVR Integration
General Settings
Management
Import & Export
Delete
Versioning
Collaborative Development
PLAN & USAGE
Overview
Usage Plans
Support Plans
Invoices
API GUIDE
API Overview
API List
API Collection
SDKs
SDK Overview
SDK Security
SDK App Registration
Web SDK Tutorial
Message Formatting and Templates
Mobile SDK Push Notification
Widget SDK Tutorial
Widget SDK – Message Formatting and Templates
Web Socket Connect & RTM
Using the BotKit SDK
Installing
Configuring
Events
Functions
BotKit SDK Tutorial – Agent Transfer
BotKit SDK Tutorial – Flight Search Sample Bot
Using an External NLP Engine
ADMINISTRATION
HOW TOs
Creating a Simple Bot
Creating a Banking Bot
Context Switching
Using Traits
Schedule a Smart Alert
Configure UI Forms
Add Form Data into Data Tables
Configuring Digital Views
Add Data to Data Tables
Update Data in Data Tables
Custom Dashboard
Custom Tags to filter Bot Metrics
Patterns for Intents & Entities
Build Knowledge Graph
Global Variables
Content Variables
Using Bot Functions
Configure Agent Transfer
Update Balance Task
Transfer Funds Task
RELEASE NOTES
  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
Kore.ai Named a Leader in 2022 Gartner® Magic Quadrant™ for Enterprise Conversational AI PlatformsGet the Report