The topics dealt with in this section include Importing and Exporting Bots, Deleting Bots, and viewing Bot change logs.
You might want to refer to Bot Variables and how these can be managed. Refer here for more.
Importing and Exporting Bots
Kore.ai 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.
NOTE: Post v8.0 release, the enableNegativePatterns flag will be included in ‘NLP Settings’ under ‘NLP Data’ in the exported and imported bot definitions. This flag is used to check if the Negative Patterns are enabled/disabled in the Bot. Prior to this patch, this flag was part of ‘NLP Settings’ under ‘NLP Data’ in the imported bot definitions and ‘Bot Setting’ under ‘Setting’ in the exported bot definitions. This change is aimed at streamlining the functionality and might result in the failure to the incremental import of a bot from an export file generated before v8.0.
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.
You can export bots in two modes: Published and Latest Version. 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. Further individual Bot Tasks can also be selected.
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:
|In Progress||Not exported
If a task is in progress for development, it isn’t exported in the Published mode.
If the task configuration is complete but not published for use, it doesn’t get exported in the Published mode.
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.
Task configurations rejected by admins do not get exported.
Suspended tasks do not get exported.
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:
|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|
Task configurations rejected by admins do not get exported
Suspended tasks do not get exported
Steps in Exporting the Bot
- Open the bot you want to export and on left navigation menu select Settings > Bot Management.
- Click Export Bot.
- In the Export Bot window, select either Published or Latest Version exporting mode.
- By default, all the bot items are selected for export. Deselect the items that you do not want to export.
- For Tasks, you can further choose to export only select tasks. By default All Tasks are selected. Click the All Tasks link to open Select Tasks dialog to choose the tasks you want to export
- You can also choose to Include dependent tasks or not for export. The existence of these will be checked before import and the import will fail if the dependent tasks are missing. These dependent tasks include the following:
- Linked Dialogs i.e. dialog nodes present in the definition of another dialog;
- Dialogs linked in defining ‘Behavior on Exceeding Retries’ for IVR Properties of any node of the dialog;
- Dialog linked as part of sub-intent / interruption settings;
- Any other scenario where a dialog execution could fail if a dependent task is not included;
- 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:
|Knowledge Graph||Knowledge Graph definition along with the associated synonyms and classes.|
|NLP Settings||The Advanced NLP Settings and Ignore words and Field memory.
The Advanced NLP Settings ( Natural Language > Advanced Settings) include the following:
|Utterances||All the bot utterances of all the enabled languages|
|Standard Responses||All the standard responses of the bot in all enabled languages|
The following information from Bot Settings page:
|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 that are not present in the import definition will be deleted. An exception to this rule is the webhook channel, which will be retained even if not present in the import bot definition.
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:
- Open the bot you want to export and on the left navigation menu select Settings > Bot Management.
- Click Import Bot.
- 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.
- Optionally, upload the custom script file from the imported bot if any.
- Select one of these import options: Full Import or Incremental Import.
- If you select Full import, the bot definition in the in-development copy will be overwritten with the definition present in the import file.
- If there are one or more additional tasks or languages in the bot, and if these are not present in the import definition, then these tasks will be marked as deleted and will be removed when the bot is published.
- You can choose to auto-publish the bot post-import.
- If you select Incremental import, you can also choose which bot items to import.
- ML Utterances can either be Appended or Replaced
- Append option can be used when the utterances present in the file should be imported into the bot and any additional utterances in the bot should be retained (this is the default behavior)
- Replace option can be used when the utterances present in the file should be imported into the bot. Any additional utterances in the bot will be removed.
- In case you are importing Tasks too, the additional utterances related to tasks being imported will be removed.
- 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.
- Click Proceed to start the import.
- After the import is completed, the following success message appears. Click Done.
- ML Utterances can either be Appended or Replaced
Note: Bot import would fail if the bot has been restored but not published after the restore.
Creating a New Bot Using the Import Option
To import a bot while creating it, follow these steps:
- On the top-right side of the Bot Builder homepage, click New Bot > Import a Bot.
- Enter a Name, Target Audience, and Color for the Bot. Refer to Create a New Bot to learn more.
- 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.
- Optionally, upload a Custom Script file from the source bot if any, and click Import.
- 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 them 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
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 changelog for a bot, follow these steps:
- Hover over the left navigation panel of the bot whose Change Logs you want to see.
- Select Settings > Bot Management
- 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 change synopsis, and the timestamp of the applied change.
- Logs of the Publish Event are consolidated for all selected tasks, with the tasks listed in case all tasks are not selected for publishing along with the Publish Comments.
Post rel8.0 of the platform, the ability to search, filter, and export the changelogs have been introduced:
- Using the search text box, you can enter any text and the platform will search for that text in the change description and the logs fulfilling the search criteria would be displayed.
- The filter option can be used to filter based on:
- Developer Name collaborating on the bot;
- Date Range either past 24 hrs, past 7 days, or custom date by specifying the start and end date.
By default, changes from all developers in the past 24 hours would be displayed.
- The export icon can be used to Export the changelog in CSV format. The logs displayed after applying the search and filter criteria would be downloaded.