So, from a technical point of view, there is no serious problem with this. You simply register two LUIS applications and have two dialogs in your application with the LUIS keys of the specific application that you created.
I think your question is more suitable for "how to redirect a message to the corresponding LUIS bot". And that is the right question.
AzureBot has a similar scenario, and they resolved it using DialogFactory , which follows the strategy template. Each "domain" dialog knows whether the incoming message can be processed or not ( this is the one used for virtual machine operations). Here you can see how they also have LUIS in their RootDialog, and how, in the intention of None / Empty, they redirect the message to the corresponding dialog.
Another alternative to study in this space is to use the IScorable interface, which, in the end, will allow you to intercept all messages and decide what to do. The ContosoFlowers example has an IScorable implementation for you to look at. The C # BotBuilder library also has DeleteProfileScorable , which basically handle the / deleteeprofile message.
source share