Managing bot projects
On the Mercury.ai platform, all bots are organized in projects. Since most professional environments demand team collaboration, publication flows and lifecycle management, projects are a good way to think about all the things needed to create, train, publish and maintain your chatbot.
A project contains tools to build the bot, train its AI components and publish it for your end users. It has a team of collaborators with permissions and and settings to control privacy and compliance related aspects of your bot.
Staging and deployment
Once you have built a bot, it will be deployed to the DEV stage of your project. During the deployment process all the parts of the bot are put together and the AI is trained.
After being deployed to a DEV stage, bots can be promoted to the TEST, and ultimately to the LIVE stage. Also bots can be demoted downwards or deleted from a stage. It’s important to understand that bots on TEST and LIVE stages are always exactly the same version of the bot that you initially deployed to DEV.
To make your bot available for users to chat with, stages can be connected to channels.
Testing and troubleshooting
All bot versions that are active on a stage can be tested with the debugging chat feature in the right side bar. Since the debugging chat is no regular channel, the conversations will not show up in your inbox and you will not be listed in the bot's user overview. The test user identity and context will reset 30 minutes after the last interaction.
Bots on the DEV stages contain error message responses that hopefully point you to the solution of the problem.
The inbox of your bot shows every conversation users had with the bot and allows you to monitor the bots performance qualitatively. Users will send sentences that the NLU will not understand. To improve the bots NLU performance you can annotate the misunderstood or unknown messages directly in the inbox.
To perform more systematic tests of your bot, unit tests give you the ability to define complete conversational flows that can be automatically tested.