Chatbot Overview
Conversational Bots
Intents & Entities
Intelligent Bots
Kore.ai's Approach
Kore.ai Conversational Platform
Bot Concepts and Terminology
Natural Language Processing (NLP)
Bot Types
Bot Tasks
Starting with Kore.ai Platform
How to Access Bot Builder
Working with Kore.ai Bot Builder
Building your first Bot
Getting Started with Building Bots
Using the Dialog Builder Tool
Creating a Simple Bot
Release Notes
Latest Updates
Older Releases
Deprecations
Bot Builder
Creating a Bot
Design
Develop
Storyboard
Dialog Task
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
Service Node
Custom Authentication
2-way SSL for Service nodes
Script Node
Agent Transfer Node
WebHook Node
Grouping Nodes
Connections & Transitions
Managing Dialogs
User Prompts
Alert Tasks
Alert Tasks
Ignore Words and Field Memory
Digital Forms
Digital Views
Knowledge Graph
Terminology
Building
Generation
Importing and Exporting
Analysis
Knowledge Extraction
Small Talk
Action & Information Task
Action Tasks
Information Tasks
Establishing Flows
Natural Language
Overview
Machine Learning
Model Validation
Fundamental Meaning
NLP Settings and Guidelines
Knowledge Graph Training
Traits
Ranking and Resolver
NLP Detection
Advanced NLP Configurations
Bot Intelligence
Overview
Context Management
Session and Context Variables
Context Object
Dialog Management
Sub-Intents & Follow-up Intents
Amend Entity
Multi-Intent Detection
Sentiment Management
Tone Analysis
Sentiment Management
Default Conversations
Default Standard Responses
Channel Enablement
Test & Debug
Talk to Bot
Utterance Testing
Batch Testing
Record Conversations
Publishing your Bot
Analyzing your Bot
Overview
Dashboard
Custom Dashboard
Conversation Flows
Bot Metrics
Advanced Topics
Bot Authorization
Language Management
Collaborative Development
IVR Integration
Data Table
Universal Bots
Defining
Creating
Training
Customizing
Enabling Languages
Smart Bots
Defining
Sample Bots
Github
Asana
Travel Planning
Flight Search
Event Based Bot Actions
koreUtil Libraries
Bot Settings
Bot Functions
General Settings
PII Settings
Customizing Error Messages
Manage Sessions
Bot Management
Bot Versioning
Using Bot Variables
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
Bot Administration
Bots Admin Console
Dashboard
User Management
Managing Users
Managing Groups
Managing Role
Bots Management
Enrollment
Inviting Users
Bulk Invites
Importing Users
Synchronizing Users from AD
Security & Compliance
Using Single Sign-On
Security Settings
Cloud Connector
Analytics
Billing
How Tos
Creating a Simple Bot
Creating a Banking Bot
Transfer Funds Task
Update Balance Task
Context Switching
Using Traits
Schedule a Smart Alert
Configure Digital 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
Using nlMeta
Global Variables
Content Variables
Using Bot Functions
Configure Agent Transfer
  1. Home
  2. Docs
  3. Bots
  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 that in v8.0 of the platform, the conversation sessions include non-interactive sessions i.e. conversations with no messages from users. Due to this change, you might see an increase in the number of sessions from that release onwards.

You can use the Custom Dashboards under Dashboard from the Left Navigation 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 in JSON format.
  • 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