Megabots
DRUID MegaBot is a container bot that can be linked with one or more bots. When a user interacts with the megabot, it will perform intent recognition across all linked bots to understand the user’s intent and engage the appropriate bot to perform the task.
The Megabot offers a crystal-clear view on managing all bots, enabling seamless monitoring and adjustment to meet business needs.
Benefits
- Unified user experience. Multi-bot architecture aids in greater efficiency and consistency in customer experience because with multiple bots information sharing becomes easy as the bots can access shared resources like HR and IT. While a business can build multiple bots (child bots) to do the heavy lifting in the backend, the megabot is the single point of access for the end users eliminating the hassle of knowing what bot to contact for performing various operations (Payment Operation, HR, Service Desk, etc.).
- Better authoring governance. The multi-bot architecture enables you to easily add more skills to the bots and expand the range of use cases. You build independently child bots aimed to meet a specific business purpose and then connect them with a megabot. You can grant different authors access to the megabot and to the child bots, segregating the duties based on the purpose / business area served by the bots.
- Higher efficiency and streamlined authoring experience. As a megabot owns the conversation, the megabot authors are the ones who configure the dialogue management, special flows (including exception handling and language change), LiveChat, Knowledge Base, user authentication and deploy the megabot in channels. This eliminates some tedious authoring work when configuring new child bots. If any of these features were configured on child bots, they are disregarded.
- Bot content segregation based on role-based access. The megabot enables you to segregate the content per use case (via child bots) and it can easily serve users based on their access rights. Authors can define eligible (child) bots by assigning specific bots to specific end-users so that only the intents from these bots are made available to them. For example, your HR team has been granted access to the HR bot. They will talk to the megabot but they will be able to ask the bot to perform operations addressed only by the HR bot.
- Higher AI performance. If a single AI (one bot model) is required to handle multiple tasks, compromises might be required between quality and functionality. The multi-bot AI is more efficient in addressing the complexities of modern business. A megabot uses its own model and the models of its child bots.
How it works
When the users interact with the megabot, it will perform intent recognition across all linked bots to understand the user’s intent and engage the appropriate child bot to perform the task.
The megabot checks if there are any eligible child bots linked; the megabot identifies the role of the user’s talking to the megabot, then checks if there are any specific bots which have been assigned that security role.
If the megabot finds eligible child bots linked, it further identifies the bots that qualify using the training phrases. It sends the user utterance to the scoped bots and the Megabot’s Ranking and Resolver engine process the results. In the case of ambiguity in identifying an appropriate child bot or task (when the megabot finds matches flows that belong to multiple child bots), a sub-dialog is initiated to obtain confirmation from the user.
If the megabot does not find any eligible child bots linked, the megabot checks the user intent against its own intents. The megabot also acts as a fallback bot gracefully handling any untrained/un-recognized requests.
The diagram below provides a detailed description of how a megabot works.
Linking bots to a megabot
Creating a megabot means linking one or more bots to the same bot; that bot becomes a megabot and the linked bots become child bots. They will be marked with specific labels in DRUID.
Prerequisites
- You created and configured a bot to serve as a megabot and deployed it in the channels of choice. You imported the solution DRUID Starter and in the Dialogue management section on the bot details, you selected the Intent not recognized flow.
- You created and configured independent bots to meet specific business purposes.
To link bots to a megabot, follow these steps:
- Select the bot you want to make megabot and select a solution.
- From the Solution Contents menu, click Connected Bots. The page is empty by default.
- Click the Add new button at the top-right corner of the page. A pop-up opens.
- Select the desired bot from the drop-down. If you want to link the bot to the megabot but disable (the megabot will not engage the bot in the comversation), tap off Enable. You can always enable it later on.
- Click Save & Close. The current bot becomes megabot and the selected bot becomes a child bot; it appears in the list of connected bots.
Add as many child bots as use cases and business purposes you want the megabot to address.
At runtime, the megabot predicts within its own model and within the models of all child bots.
For all the flows matched above the threshold, a sub-dialog is initiated to obtain confirmation from the user.
The megabot knows the last child bot that talked to the user, keeping the conversation context. If the user asks another question, the megabot first predicts against that child bot.
Manual Handling of Megabot Affinity
You can control which child bot the megabot engages by setting [[ChatUser]].PredictTargetBot in the conversation context during the Intent rephrase flow. This is the only point where you can modify the prediction.
To specify the child bot, set [[ChatUser]].PredictTargetBot = "<bot name>"
. This eliminates the need to use roles within the bot or conversation.
To return to the default automated affinity behavior, set [[ChatUser]].PredictTargetBot
to null.
You can restrict the prediction to specific child bots by setting [[ChatUser]].RestrictedTargetBots before making the prediction.
Example:
[[ChatUser]].RestrictedTargetBots = ["HR Bot", "Finance Bot"]
To lift the restriction, set [[ChatUser]].RestrictedTargetBots
to null.
Megabot Conversation History
Conversation History enables you to quickly understand the megabot conversation journey, view exceptions and errors, navigate to all conversation details and be in the position to quickly edit and fix errors.
You can easily identify which of the messages served by the megabot were managed by child bots. These messages display the name of the child bot and on roll over display the label Child bot.
To see the messages managed by a specific child bot, click the More filters button at the top-right corner of the page and from the Connected bot drop-down, select the desired child bot.
To view message details and the integration log for a specific message, click the View message details icon () corresponding to the desired message.
Viewing the megabots for a child bot
If a bot is child bot of multiple megabots, to see the list of megabots, select the bot (child bot), select a solution and from the Solution Contents menu, click Connected Bots, then click on the Parent bots tab.
Viewing the megabots and child bots on your tenant
To view the megabots and child bots on your tenant, from the All Settings menu, click Bots.
The list of bots defined on your tenant appears. A label below the bot name indicates if the bot is a megabot, a child bot or none of the two if the label is missing.
Trigger flows between child bots or from a child bot to the megabot
In DRUID 8.14 and higher, you can now trigger flows across child bots or from a child bot to the megabot itself (by using Trigger flow steps) . This feature provides greater flexibility and interaction within complex bot:
- You can now trigger a flow from one child bot to another child bot within the same megabot. This allows for more dynamic conversations as different child bots handle various parts of the user journey.
- You can also trigger flows from a child bot to the megabot itself. This is useful for centralizing control and handling high-level actions.
- Cross-child flow triggering is only supported within the megabot conversation. It is not available when interacting directly with a child bot outside of the megabot structure.
- If a bot is removed from the megabot, any flows that rely on it will no longer trigger.
- If a bot is assigned as a child to multiple megabots, the flow list will display flows from all child bots across those megabots—grouped by bot. Make sure to select the correct flow to avoid misrouting or triggering unintended behavior.
By using these capabilities, you can create more complex and integrated workflows across different bots in your megabot network, enhancing your chatbot functionality.
Megabots and the Knowledge base predict
In the Predict area of the Knowledge Base (when you operate within the Megabot), you can test questions across all indexes linked to every connected child bot associated with the respective Megabot instance.
Megabot Evaluation
Megabot evaluation offers a comprehensive view of the conversation history. it also provides insights into the following three key aspects:
- Flow Triggered: Easily Identifying Initiating Conversations - With the enhanced logging, authors can now effortlessly identify messages that initiate a flow from the Megabot. These messages only show the flow name in the Bot / Flow / KB column, making it simple to pinpoint where a conversation journey begins.
- Knowledge Base Response: Clear Indication of Megabot Knowledge Base Interaction - Messages with responses sourced from the Megabot knowledge base are now clearly indicated with a specific book icon representing both the KB article and the Knowledge base data source.
- Bot Child Interaction: Recognizing Interactions with the Bot Child - Authors can now recognize messages involving interactions with the child bots. Displaying the name of the child bot below the associated flow, enables authors to track and understand interactions with the bot child seamlessly.