“Export and Import” are very important functions that every chatbot management tool should have. Unfortunately, none of the tools that I have tested has fully developed export and import functions. In this article, I will discuss six use cases where such functions are necessary, and also the criteria of sufficient export and import functions.
1. Backup and restore
For a chatbot in production, things like the knowledge articles or FAQs, front-end access point settings, backend fulfillment code are consistently being updated. It is possible that someone will make a mistake, mess up things, or even delete things accidentally. In some rare situations, a chatbot tool can be hacked or your cloud service provider may experience some unexpected failure. To recover from damage, backups are needed.
Ideally, the chatbot tool automatically backs up the knowledge base and all the configuration. However, it should also provide functions for you to take your own backup and store it locally, in a version control system or somewhere safe.
2. Sync multiple chatbot environments
It is very common to have multiple environments to build, test, and deploy chatbots. If you updated the knowledge or configurations in a dev environment, you need to make the same change to a test environment and a production environment. No matter whether you duplicate the dev environment to be the new test and production environment or just apply the same change in current test and environment, the chatbot tool should allow you to export all information from one environment and use it to update another environment.
3. Source control
Most chatbot tools don’t have source control functions, therefore developers or knowledge managers may need to do source control in another system, and transfer things between the chatbot tool and the source control system using the import/export function.
4. Test or switch chatbot tools
New technologies and tools about chatbot come out rapidly. The scope of your chatbot might change as well. Therefore chatbot developers need to test new tools or even switch to a new tool. If all the knowledge and configurations in the current tool can be exported, transformed, and imported to the new one, it will be much more convenient than rebuilding everything in the new tool.
5. Third-party review and update
A chatbot tool usually provides a backend console for managing knowledge articles, configurations, reports, etc. However, not every people who need to review the content and configurations can have access to the tool or want to review the content inside the tool. For example, people from legal, compliance & ethics, risk management, or audit department may need to review the knowledge articles; while people from corporate communication, information security, and software architecture departments may need to review your code and configurations. If they cannot access the tool or don’t want to learn to use the tool, those things need to be exported to human-readable files. If they update anything, the updated information needs to be imported back to the chatbot tool.
6. Translation and localization
If the end-users of your chatbot speak different languages, you may need to build the chatbot in different languages. Instead of creating chatbot in different languages directly, you might create one bot with the most popular language, export the content that needs to be translated, translate it, then create the other bot with the translation of your first bot. Besides knowledge articles, sometimes configurations also contain translatable content. For example the name of the bot, the “no result message”, certain text placeholders, etc.
1. Be comprehensive
A great chatbot tool should allow users to export and import everything that is required to rebuild a chatbot tool, including
- knowledge articles including intents, entities, training examples, responses, conversational flows, task workflows, context values, categories, and other metadata
- access point configurations and code
- backend fulfillment code
- escalation channels
- media resources like images and videos
- report settings
2. Be flexible
For knowledge articles, great chatbot tools should not only accept the techy formats like JSON, XML, and HTML, but also accept formats like TXT, DOCX, PDF, PPT, CSV. The content inside a Word or PDF file may not be easy to extract, but those are really common formats for FAQs and a great chatbot tool should be able to load them directly.
For configurations, at least support the most common ones like JSON, XML or YML
For backend code, at least support one or two most commonly used languages like NodeJS or Python. The more language supported the better.
3. Be safe
Importing things can create a lot of problems intentionally or unintentionally. A great chatbot tool should always validate the format and content of imported files. If anything goes wrong, the tool should show an informative error message that is sufficient for debugging, without revealing any confidential information. Ideally, there should be options to undo the importing.
The content of imported and exported files should be properly encrypted during transfer and in rest.
All the import/export activities should be recorded and reported.
4. Be user friendly
For non-tech users, it is preferred to have the import and export functions in the management console and everything can be done by clicking in a user-friendly interface.
For developers, in order to do automation and integration, APIs, or SDK for import and export are also needed.
For all users, detailed documentation and tutorials will be much appreciated.
Great export and import functions are very important for chatbot development teams and will definitely make a chatbot tool stands out. I hope this article is helpful for people who are developing chatbot tools or trying to select a chatbot tool.
For other things to consider when selecting chatbot tools, check “A checklist for choosing chatbot tools”.
Thanks for reading!