Chatbots (or chatbot library) creation has undergone all the phases related to product development.
The very first chatbots seen in the wild, years ago, would be handcrafted, finely developed to suit exactly a single specific need. While intriguing from a certain point of view a one-to-one approach is not suitable for a multiple customers scenario. Time to market and costs would turn away all but the most dedicated clients.
Not much later came tools like Xenioo. With Xenioo, chatbots are created at a much higher level. Single components with a single purpose are reused in multiple chatbots. This approach dramatically cut the costs of creation and personalization while maintaining a high level of customization.
As the market keeps growing and clients’ requests become more and more complex, Xenioo enters its third phase: full chatbot reusability. You are not just reusing a single component from the Xenioo library. You are creating a personalized library of actions and reusing fully functional parts of a whole chatbot without needlessly duplicating your work.
The Restaurant Chatbot
The restaurant chatbot is just our perfect example because it keeps things real and relatable while allowing us to touch all of the main characteristics of a chatbot:
- A welcome section, presenting our restaurant
- An AI training section, where our restaurant customers can place their food orders
- An external data integration where we can retrieve our menu
- Some form of calendar and table reservation
- Confirmation of our order with integrations and alerts
- Well-timed broadcasts to get back to customers who have a reservation or are waiting for a delivery
Building a chatbot like this can take time (hint: you can start from our free restaurant template!) but thanks to Xenioo clone, backup and restore features you can easily transform it into your very own template. When another customer needs a restaurant chatbot you can just reuse the whole chatbot again. Just change here and there the necessary data (the name probably as well as the menu) and you’re good to go.
Everything looks good. You acquire more customers and more restaurant chatbots are cloned and delivered.
This process works just fine. Until it doesn’t. Now you have ten different chatbots to maintain: changes and fixes need to be done on all chatbots. Updates and training must be done multiple times.
It is time to transform your chatbot into a product.
Building your own chatbot library
The first step toward the generalization of your chatbot flow would be to create a general-purpose library of smaller components that can be reused in a number of other chatbots. It is not different from the concept of “library”, “module” or “component” we already know when talking about software development.
With Xenioo this is made possible by a single powerful action: the Include Interaction Action. This action will dynamically include any interaction from any other chatbot in your account in the current interaction.
Let’s take a look at the following interaction, inside a chatbot we will name “Global Library”:
Imagine building your own library of standard components to dramatically speed up chatbot creation!
Later, we start building a new chatbot and we need exactly that kind of action. Thanks to Xenioo, we do not need to duplicate or copy everything again: we can simply reference that interaction inside our interaction! So instead of doing everything again piece by piece, we just use our Include Interaction Action:
What happens is that Xenioo works his magic here and when the chatbot runs, that interaction is automatically retrieved from the bot “Global Library” and used inside our new chatbot! If you update the original interaction inside “Global Library” you just need to publish again the chatbot using it to update the included actions.
Standard Q&A flows, complex integrations or cloud functions with your own business logic. Imagine building your own library of standard components to dramatically speed up chatbot creation!
The Clone Master concept
Dynamically including parts of other chatbots can surely step up your chatbot game but what if we wanted to reference a whole chatbot? Our Restaurant Chatbot can surely benefit from a global pool of interactions but all restaurants chatbots are basically the same at their core.
What if we could create some kind of “referenced clone” of a chatbot? A chatbot that inherits all interactions, actions, AI training, and broadcasts from a master bot? That would be super cool right? Well, Xenioo got you covered again.
By simply adding the “Clone Master” package you enable yet another advanced Xenioo feature that will change the way the “Clone” button of your chatbot works.
Once the package is activated, as you click on the “Clone” button of your chatbot you’ll be presented with a choice.
The first one, “Full Clone”, is still the standard way of cloning you’ve probably already used in Xenioo: the whole chatbot is cloned and becomes a full, detached copy of the chatbot.
Selecting “Reference Clone” instead, will activate the Clone Master feature. Clicking on it will do a number of important things:
- Will transform the current bot into a Clone Master
- Will create a brand new bot, configured as a reference of the Clone Master
Looking at your chatbots from the My Bots you will immediately notice the two new chatbot types:
The first one, with a crown icon, is our Clone Master. The other one, with a chain icon, is our referenced clone.
Let’s see how they behave!
The Clone Master Chatbot
Besides being the Clone Master, our Restaurant chatbot hasn’t changed much. We are free to update and change things as we like just like any other chatbot. We can train AI, add new broadcasts and Audience as we please.
Our Clone Master can be published just like any other chatbot and can be alive on any channel we like. The only notable change: on the build section, inside the publish toolbar we can notice a new icon.
The new button can be seen as an additional publish. When we publish our chatbot we update the live version of it on all channels. When we use the update button on a Clone Master bot, we publish all of the updates to all of our referenced children.
You now have a Clone Master bot where, as an example, you could update or fix orders flow and then update all the same flows on all your referenced children.
We have just moved from a chatbot to chatbot, action to action single approach to an industrialized, agency level distribution.
Your Clone Master is your product and you’re distributing updates for all your customers!
Your Referenced Clones Chatbots
As you access any of your referenced clones chatbots you will notice how different they appear.
All of the chatbot interactions, intents, expressions, broadcasts, and audiences will be locked. Remember: all of these functionalities are now inheriting their data from our Clone Master.
But of course it wouldn’t be so very useful if we couldn’t change anything. We will need, at some point, to personalize our chatbot and this is where our “Detach” function comes in.
On any feature that is currently inheriting from our Clone Master you’ll notice a Detach command. Using the detach command will break the inheritance and transform the data to local data that can be changed at will.
Remember: only the specific feature is detached. Everything else stays referenced! This means that you can change specific behaviors to cover customer-specific requirements but you can still everything else work like in the Clone Master.
Does your customer need a different payment flow? Wants the training to be done differently? That is perfectly possible without losing all of the other functions that your restaurant chatbot has!
Best of all, your referenced clone is still a full chatbot: conversations, reports, publishing, and settings are all independent and can be freely configured without breaking any reference to the Bot Master.
To Sum Things Up…
Wow! We’ve just discovered how to really create and manage an army of chatbots! We are now ready to enter a whole new level of chatbot creation where you can really build a product, instead of a one-time solution!
Do you have any question about this features? Do you want to let us help on your awesome bot idea? Be sure to get in touch with the Xenioo team at firstname.lastname@example.org or leave a message on our Facebook Group.