Chatbot Overview
Conversational Bots
Intents & Entities
Intelligent Bots's Approach Conversational Platform
Bot Concepts and Terminology
Natural Language Processing (NLP)
Bot Types
Bot Tasks
Starting with Platform
How to Access Bot Builder
Working with 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
Bot Builder
Creating a Bot
Dialog Task
Working with User Intent & Dialog Node
Working with Entity Node
Supported Entity Types
Working with Composite Entities
Supported Time Zones
Supported Colors
Supported Company Names
Working with Message & Confirmation Nodes
Working with Service Node
Implementing Custom Authentication
Enabling 2-way SSL for Service nodes
Working with Script Node
Working with Agent Transfer Node
Working with WebHook Node
Defining Connections & Transitions
Managing Dialogs
Prompt Editor
Context Object
Session and Context Variables
Action & Information Task
Working with Action Tasks
Working with Information Tasks
Establishing Flows
Alert Tasks
Working with Alert Tasks
Managing Ignore Words and Field Memory
Knowledge Tasks
Building Knowledge Graph
Importing and Exporting Bot Ontology
Knowledge Extraction
Natural Language
Machine Learning
ML Model
Fundamental Meaning
Knowledge Graph Training
Ranking and Resolver
NLP Detection
NLP Settings and Guidelines
Bot Intelligence
Dialog Management
Context Management
Amend Entity
Multi-Intent Detection
Default Conversations
Channel Enablement
Test & Debug
Talking to Bot
Utterance Testing
Batch Testing
Recording Conversations
Publishing your Bot
Analyzing your Bot
Conversation Flows
Bot Metrics
Advanced Topics
Bot Authorization
Language Management
Collaborative Development
IVR Integration
Universal Bots
Enabling Languages
Smart Bots
Sample Bots
Travel Planning
Flight Search
Event Based Bot Actions
Sentiment Analysis
Tone Analysis
Sentiment Management
Bot Settings
Bot Functions
General Settings
PII Settings
Customizing Error Messages
Bot Management
API Guide
API Overview
API List
SDK Overview
SDK Configuration
SDK Security
SDK App Registration Web SDK Tutorial
Message Formatting and Templates
Mobile SDK Push Notification
Using the BotKit SDK
Installing the BotKit SDK
Events for the BotKit SDK
Functions for the BotKit SDK
BotKit SDK Tutorial – Agent Transfer
BotKit SDK Tutorial – Flight Search Sample Bot
Using an External NLP Engine
Web Socket Connect & RTM
Bot Administration
Bots Admin Console
User Management
Managing Your Users
Managing Your Groups
Role Management
Bots Management
Inviting Users
Sending Bulk Invites to Enroll Users
Importing Users and User Data
Synchronizing Users from Active Directory
Security & Compliance
Using Single Sign-On
Cloud Connector
Bot Store
Creating a Bot Account
Adding a Bot
Choosing a Channel for a Bot
Interacting with a Bot
Setting Up Web Service Alerts
Setting Up RSS Alerts
Setting Up the Webhook Bot
Custom Bots
Bots for your Customers FAQs
Bots for your Workforce FAQs
Adding Bots
Contacting Support
Setting Up Filters
Bot Store Settings
  1. Home
  2. Docs
  3. Bots
  4. Bot Settings
  5. Bot Management
  6. Bot Management

Bot Management

The topics dealt with in this section include using Bot Variables, Importing and Exporting Bots, Deleting Bots, and viewing Bot change logs.

Using Bot Variables

Bot variables help you capture values that are commonly used by different tasks, nodes, and other bot elements. You can configure a bot variable as a key-value pair once in the bot settings and substitute key with value at runtime during the conversation flow.
By capturing frequently used values in a single place, bot variables provide the advantages of reusability and consistency.
For example, let’s say you are testing a flight booking bot using a staging endpoint. If you configure the endpoint as a variable, it helps you to call the API from several places quickly. When you want to change the staging endpoint to production while publishing the bot, it is easy.
Similarly, variables can be used to externalize content for messages and prompts from the dialog flow definition. platform allows bot developers to define the following two types of variables:

Global Variables

Global variables are a primary type of bot variables where you define a key-value pair and use the variable across the bot. As the variables are declared globally, they can be used at any point in the bot configuration.
Some of the typical use-cases where a developer can use global variables are:

  • To manage the bot across environments having different endpoint URLs. The bot can be exported and imported based on the environment, and the infrastructure team will need to modify only the variable configuration file.
  • To define and manage the bot response that is repeated within the bot configuration as variables.
  • Authorization Token
  • Channel-related tokens and URLs

Content Variables

Bot building essentially requires extensive content management efforts. When it comes to multi-language bots, it also involves tedious coordination efforts between the developers and globally-distributed content authors or copyright team.
Content variables enable you to overcome that by abstracting bot flow development efforts from authoring or editing the content. Using Content Variables, programmers can avoid hard-coding the bot content, such as prompts, messages, or any data presented to the user, into bot components, and instead point to specific variables in centrally managed Content Variables files for each bot language.
You can export the language-specific content variable files to content editors, without exposing any bot configurations. The writers can author the content in the exported file, which you can import back into the bot.

Defining Bot Variables within the Bot builder

Follow these steps to add or edit bot variables:

  1. Open the bot for which you want to add the variables, and go to Settings > Config Settings.
  2. Select either Global Variables or Content Variables section
  3. On the Variables page, click Add Variable and enter the following details:
    • Variable Name: Enter a name without any special characters, for example, Bots Environment.
    • Value: Add a String expression. This string replaces the variable everywhere it is invoked.
      Note: For content variables, you need to enter different values for each bot language. Refer to the next section to learn how.
    • Enter developer notes in the Notes field. While this is an optional field, entering useful notes can help the developer working on the target bot to understand and provide relevant values.
    • Group can be used to categorize the variable.
  4. Click Save.
  5. Repeat steps 3-5 to add or edit more variables.

Entering Language-Specific Values for Content Variables

To add language-specific values for content variables, you first need to switch the bot language. You can switch the language by clicking the name of the currently-enabled language from the top-right corner of the bot’s page and then selecting another language as follows:

After switching the language, go to Settings > Config Settings > Content Variables page and click the edit icon next to the relevant variable. Replace the text in the Value field in the enabled language.

Using Global Variables in Bots

You can invoke a global variable in plain text mode (Standard editor) using the following syntax:
If you are using it in JavaScript mode, it is env.variableName
Here’s an example from a bot that uses two global variables called botType and parameters to determine different bot environments such as development, testing, and production. The following script node in one of the bot’s tasks captures the base URL of the bot, depending on the current bot environment.

The URL in the following service node changes based on the captured URL

Using Content Variables in Bots

You can invoke a content variable in plain text mode (Standard editor) using the following syntax.
If you are using it in JavaScript mode, it is content.variableName
Here’s an entity node of a multi-language flight booking bot that captures the source airport of the users. It uses a content variable instead of hard-coded user prompt.

When the bot reaches this node as a part of the user interaction, the user prompt changes depending on the language of the interaction (provided you entered the respective variable values for all the enabled languages).

Importing and Exporting Bot Variables

You can import and export bot variables between bots. On the Bot Variables page (Settings > Config Settings -> (Global/Content) Variables), click the ellipses next to Add Variables and select a choice. Bot variables are exported in the form of a JSON, CSV file. This includes both global and content variables.

Note: When you import bot variables, the file replaces all the existing bot variables with the imported bot variables. Therefore, we strongly recommend you to exercise caution and take a backup of the current variables before the import.

Importing and Exporting Bots allows you to export and import a bot’s tasks and associated configurations into another bot. This feature helps you in the migration of bot definition, cloning of bots, or for maintaining a periodic backup of bot definitions. It is particularly helpful to test various versions of your bot at different stages of the development process before it is released for end users. The articles in this section help you understand how the Export and Import features work and how to perform them.

Exporting a Bot

You can export a bot’s definition and configuration using the Export option. When you export a bot, it downloads a zipped file with the following:

  • botDefinition.json: Includes bot metadata, tasks, bot and task-level synonyms, utterances, patterns, knowledge graph, standard responses, flows, and IDPs. You can select specific items to export from bot tasks, NLP data – NLP settings, utterances, standard responses – and Settings – bot settings, variables, IVR settings- while exporting the bot.
  • config.json: Includes bot settings, bot variables, and IVR settings.
  • Icon.png: Includes the bot icon.
  • <Custom ScriptFile Name.js> (if available): Includes a script file with JavaScript functions. When you upload this file to a bot, you can access the functions in the file from anywhere in the bot.
Note: The bot and its components are given unique Reference IDs during export. These IDs help the platform to identify matching tasks in the target bot and update them.

Export Modes

You can export bots in two modes: Published and Latest. Depending on the mode that is selected, the corresponding versions of the bot tasks are exported. You can select specific bot components to export from the bot tasks, NLP data, and bot settings in both the modes.

Published Mode

When you export a bot in the Published mode, only the published versions of the bot tasks are exported, regardless of any other existing versions. For example, if a bot consists of a published version of a task and also version in Upgrade in Progress, only the published version gets exported.
Refer to the table below to understand which versions of the tasks are exported in the Published mode:

Task Status
In Progress Not exported
If a task is in progress for development, it isn’t exported in the Published mode.
Configured Not exported
If the task configuration is complete but not published for use, it doesn’t get exported in the Published mode.
Published Exported
All published bot tasks get exported
Upgrade in Progress Not exported
Task upgrade configurations that are in progress do not get exported. Only the published configurations get exported.
Rejected Not exported
Task configurations rejected by admins do not get exported.
Suspended Not exported
Suspended tasks do not get exported.
Note: In Dialog tasks, only the nodes in the Published status get exported.
Latest Mode

When you export a bot in the Latest mode, the latest versions of the bot tasks get exported, regardless of their publishing status. For example, if a bot consists of a published version of a task and also the version in Upgrade in Progress, the Upgrade in Progress version gets exported, whereas if it just has a Configured version, the configured version is exported.
Refer to the table below to understand which versions of the tasks are exported in the Latest mode:

Task Status
In Progress Exported if it is the only available version
Not Exported if a later version exists
Configured Exported if it is the only available version
Not Exported if a later version exists
Published Exported if it is the only available version
Not Exported if a later version exists
Upgrade in Progress Exported regardless of any other task version in the bot
Rejected Not exported
Task configurations rejected by admins do not get exported
Suspended Not exported
Suspended tasks do not get exported

Steps in Exporting the Bot

  1. Open the bot you want to export and on left navigation menu select Settings > Bot Management.
  2. Click Export Bot.
  3. In the Export Bot window, select either Published or Latest exporting mode.
  4. By default, all the bot items are selected for export. Deselect the items that you do not want to export.
  5. Click Export. The export happens in the background and the Download button gets activated after it is complete. Click Download to download the file to your local computer.

Exported Bot Components

When you export a bot, the following bot components get exported, depending on your Latest or Published Mode selection:

Bot Tasks
Tasks Only
  • Task Definition (Action, Alert, Information, and Dialog)
  • Synonyms (Task, Field, and Entity)
  • Patterns (Task, Field, and Entity)
Knowledge Graph Knowledge Graph definition along with the associated synonyms and classes.
NLP Data
NLP Settings The Advanced NLP Settings and Ignore words and Field memory.
The Advanced NLP Settings ( Natural Language > Advanced Settings) include the following:

  • Auto-train settings for ML Utterances
  • Multiple intent detection settings
  • Threshold and Configurations settings for
  • Fundamental meaning
  • Knowledge collection
  • Machine Learning
Utterances All the bot utterances of all the enabled languages
Standard Responses All the standard responses of the bot in all enabled languages
Bot Settings The following information from Bot Settings page:

  • General Settings
  • Bot name, description, and bot synonyms for each enabled language
  • Language selection time frame (Bot Settings > Language Management)
  • Welcome message
  • Hold and Resume settings (Bot level)
  • Custom Script file
  • Tenancy URLs
  • Error messages
  • Task setup and execution settings (for executing tasks using UI forms).
Bot Variables All the global and content variables present in the bot along with their values.
IVR settings All the IVR settings for the bot (Bot Settings > IVR settings).

Importing a Bot

You can import tasks and configurations of a bot into a new or existing bot using one of these import types:

  • Full import: Replaces the existing bot with the imported bot configurations. Any additional configurations in the target bot will get deleted.
    Note: We strongly recommend you to exercise caution and take a backup of the target bot before importing a bot using this option.
  • Incremental import: Upgrades the current bot with the configurations available in the import file. Any additional configurations available in the target or imported bot are retained. You can select specific bot components to import from the bot tasks, NLP data, and bot settings. Refer to the Bot Items in Incremental Import table at the end of the article to learn how the imported bot items replace the target bot’s items in incremental import.

Before you Begin
The config.json file consists of bot variables that need values for the target bot. Share the file with the relevant developers or enter suitable values yourself for the variables before importing the bot definition into a new bot.

Steps in Importing to an Existing Bot

To import a bot, follow these steps:

  1. Open the bot you want to export and on left navigation menu select Settings > Bot Management.
  2. Click Import Bot.
  3. Click the CHOOSE FILE buttons next to the BOT DEFINITION FILE field and BOT CONFIG FILE field, and upload the botDefinition.json and config.json files respectively.
  4. Optionally, upload the custom script file from the imported bot if any.
  5. Select one of these import options: Full Import or Incremental Import. If you select Incremental import, you can also choose which bot items to import.
  6. On the confirmation dialog that opens, click Backup to download the existing bot configuration.

    Note: While backing up is an optional choice, we strongly recommend you to do so, especially when choosing Full Import, as you cannot recover the bot configurations after the imported bot replaces them.
  7. Click Proceed to start the import.
  8. After the import is completed, the following success message appears. Click Done.

Creating a New Bot Using the Import Option

To import a bot while creating it, follow these steps:

  1. On the top-right side of the Bot Builder homepage, click New Bot > Import a Bot.
  2. Enter a Name, Target Audience, and Color for the Bot. Refer to Create a New Bot to learn more.
  3. Click the CHOOSE FILE buttons next to the BOT DEFINITION FILE field and BOT CONFIG FILE field and upload the botDefinition.json and config.json files respectively.
  4. Optionally, upload a Custom Script file from the source bot if any and click Import.
  5. On the success message after the end of importing, click Done to proceed to the Bot Tasks page.

Bot Items in Incremental Import

Tasks with the same Reference ID Imported tasks replace the tasks in the target bot and their status changes to Configured, regardless of their current status (including Suspended and Rejected tasks).
Tasks in the source bot with a different Reference ID These tasks are created in the target bot with the same Reference ID.
Tasks in the target bot with a different Reference ID These tasks stay intact.
Utterances, Patterns, and Task-level Synonyms Imported utterances, patterns, and task-level synonyms replace the ones in the target bot and apply to the imported tasks. Published models in the target bot stay intact.
Knowledge Graph, Bot Synonyms and Standard Responses Existing knowledge graph, bot synonyms, and standard responses in the target bot are replaced with the imported ones.

Deleting a Bot

You cannot delete a bot if any of the bot tasks are Published. Once you publish a task, the Bots Admin must approve and assign it to users. The developer cannot delete assigned tasks. To delete a published task, the Bots Admin needs to suspend the task.
Also, you cannot delete a bot if it is part of a published flow. You must delete the flow or remove the bot from the flow before attempting to delete it.

Steps to Delete a Bot

  • Hover over the left-hand navigation panel of the bot you want to delete, and then on the Settings tab, click Delete Bot.

Viewing the Bot Change Log

After creating a bot, you may need to edit it for various reasons such as changing its settings, adding tasks, enabling channels, and add flows.
To track all the changes made to a bot, you can view the Change Logs, which shows a chronological list of modifications to your bot. It consists of all the changes from the initial save of your bot to the last update.
To view the change log for a bot, follow these steps:

  1. Hover over the left navigation panel of the bot whose Change Logs you want to see.
  2. Select Settings > Config Settings
  3. Click Change Logs.

It consists of the list of changes in reverse chronological order. Each page displays the ten most recent changes and the name of the user that made the change, followed by the changed synopsis, and the timestamp of the applied change.