BACKGROUND

Entities are increasingly using conversational bots to handle user requests and commands related to their goods and services. Users often input complex queries and commands to conversational bots that cannot be adequately processed for various reasons. For example, some requests are simply not supported by a corresponding conversational bot, and some requests may not be understood correctly. Additionally, while some requests may be understood correctly by a conversational bot, the conversational bot may nonetheless not have the requisite information needed to execute a skill needed to appropriately respond.

It is with respect to this general technical environment that aspects of the present technology disclosed herein have been contemplated. Furthermore, although a general environment has been discussed, it should be understood that the examples described herein should not be limited to the general environment identified in the background.

SUMMARY

This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description section. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter. Additional aspects, features, and/or advantages of examples will be set forth in part in the description which follows and, in part, will be apparent from the description or may be learned by practice of the disclosure.

Non-limiting examples of the present disclosure describe systems, methods and devices for enabling conversational bot communications. Examples described herein relate to one or more conversational bots, which may execute one or more skills. Each skill may be described in one or more manifests. A manifest may describe an object that is capable of sending and receiving conversational bot framework-compatible messages. A manifest may allow configuration, registration, and publishing data about a conversational bot and/or skill to be authored, stored, and transmitted between services. A manifest may describe how to contact a conversational bot, what capabilities a conversational bot offers, and information about how it should be published.

In examples, a user-bot conversation may be initiated via a messaging construct. The messaging construct may comprise a web chat interface, an application chat interface, or a digital assistant interface, for example. A user may provide a query or command to the conversational bot. The conversational bot may determine whether it has a skill that is capable of fulfilling the query or command. If the conversational bot has the skill, it may simply perform the skill and in some instances communicate the completion of the query or command to the user.

In examples where the conversational bot does not have the skill required to fulfill the query or command, it may determine whether there is another conversational bot that has the skill. The conversational bot that received the query or command (the primary conversational bot) may query a manifest marketplace or other skill repository to determine whether there is another conversational bot that may perform the skill and fulfill the query or command for the user. If a determination is made that there is another conversational bot (the secondary conversational bot) that can execute the skill the primary conversational bot may pass control of the conversation to the secondary conversational bot until the query or command is fulfilled. Passing the conversation may simply mean that the secondary conversational bot perform actions and/or communicate with the primary conversational bot, and need not necessarily communicate directly with the user via the chat interface. For example, the secondary conversational bot may send requests for information to the primary conversational bot, the primary conversational bot may obtain that information, and it may be passed back to the secondary conversational bot for skill execution. Once the secondary conversational bot has executed a requisite skill to complete an original request, the primary conversational bot may take control of the conversation back over and respond to the original query or command.

In some examples, an identity and a classification of a plurality of skills, manifests, and conversational bots may be stored in a manifest marketplace. The manifest marketplace may be searchable by skill type. In some examples, the skills, conversational bots, and/or manifests may be scored based on website ranking factors. For example, websites that have associated conversational bots may have a rank score that may be provided to the manifest marketplace. The manifest marketplace may use the website ranking and in some cases one or more additional factors to rank conversational bots and associated skills. Skill requests from conversational bots may be routed to the manifest marketplace to determine whether there is a bot that can execute a particular skill needed to fulfill a request.

