Enterprise Bot Template

Note

This topic applies to v4 version of the SDK.

Creation of a high quality conversational experience requires a foundational set of capabilities. To help you succeed with building great conversational experiences, we have created an Enterprise Bot Template. This template brings together all of the best practices and supporting components we've identified through building of conversational experiences.

This template greatly simplifies the creation of a new bot project. The template will provide the following out of box capabilities, leveraging Bot Builder SDK v4 and Bot Builder Tools.

Feature Description
Introduction Message Introduction message with an Adaptive Card on conversation start. It explains the bots capabilities and provides buttons to guide initial questions. Developers can then customize this as appropriate.
Automated typing indicators Send visual typing indicators during conversations and repeat for long running operations.
.bot file driven configuration All configuration information for your Bot e.g. LUIS, Dispatcher Endpoints, Application Insights is wrapped up inside the .bot file and used to drive the Startup of your Bot.
Basic conversational intents Base intents (Greeting, Goodbye, Help, Cancel, etc.) in English, French, Italian, German, Spanish and Chinese. These are provided in .LU (language understanding) files enabling easy modification.
Basic conversational responses Responses to basic conversational intents abstracted into separate View classes. These will move to the new language generation (LG) files in the future.
Inappropriate content or PII (personally identifiable information) detection Detect inappropriate or PII data in incoming conversations through use of Content Moderator in a middleware component.
Transcripts Transcripts of all conversation stored in Azure Storage
Dispatcher An integrated Dispatch model to identify whether a given utterance should be processed by LUIS + Code or passed to QnA Maker.
QnA Maker Integration Integration with QnA Maker to answer general questions from a Knowledgebase which can be leverage existing data sources (e.g. PDF manuals).
Conversational Insights Integration with Application Insights to collect telemetry for all conversations and an example PowerBI dashboard to get you started with insights into your conversational experiences.

In addition, all of the Azure resources required for the Bot are automatically deployed: Bot registration, Azure App Service, LUIS, QnA Maker, Content Moderator, CosmosDB, Azure Storage, and Application Insights. Additionally, base LUIS, QnA Maker, and Dispatch models are created, trained, and published to enable immediate testing of basic intents and routing.

Once the template is created and deployment steps are executed you can hit F5 to test end-to-end. This provides a solid base from which to start your conversational experience, reducing multiple days' worth of effort that each project had to undertake and raises the conversational quality bar.

To get started, continue create the project. To learn more about the best practice and learnings that have driven the above features, see template details topic.

Full source code for the Enterprise Bot Template is available at this GitHub location