Skip to content
Branch: master
Find file Copy path
Find file Copy path
7 contributors

Users who have contributed to this file

@ryanlengel @darrenj @Annika-deGroot @lzc850612 @Batta32 @jameslew @tiagodenoronha
111 lines (83 sloc) 10.4 KB

Bot Framework Solutions

Table of Contents


High-level overview into the Virtual Assistant, Skills and Analytics.

Name Description
Virtual Assistant Customers and partners have a significant need to deliver a conversational assistant tailored to their brand, personalized to their users, and made available across a broad range of canvases and devices. This brings together all of the supporting components and greatly simplifies the creation of a new bot project including: basic conversational intents, Dispatch integration, QnA Maker, Application Insights and an automated deployment.
Skills A library of re-usable conversational skill building-blocks enabling you to add functionality to a Bot. We currently provide Calendar, Email, Task, Point of Interest, Automotive, Weather and News skills. Skills include LUIS models, Dialogs, and integration code delivered in source code form to customize and extend as required.
Analytics Gain key insights into your bot’s health and behavior with the Bot Framework Analytics solutions, which includes sample Application Insights queries and Power BI dashboards to understand the full breadth of your bot’s conversations with users.


Create, deploy, and customize your own Virtual Assistant and Skills using these walkthroughs.

Name Description
1. Quickstart: Create your first Virtual Assistant

Quickstart: Create a Virtual Assistant with C#Quickstart: Create a Virtual Assistant with TypeScript

A tutorial covering how to create and deploy your own assistant using the Virtual Assistant template.
2. Customize your Virtual Assistant

Customize your Virtual Assistant with C# Customize your Assistant with TypeScript

A tutorial covering common initial assistant personalization steps. (e.g. name, branding, QnA),
3. Adding pre-existing Skills

C# TypeScript

A tutorial introducing how to add one of the provided Skills to your Assistant.
4. Create a new Skill

Create and deploy a new Skill with C# Create and deploy a new Skill with TypeScript

A tutorial introducing how you can create your own Skill using the Skill template and add it to your Assistant.


How-to guides for achieving more complex scenarios.

Virtual Assistant

Name Description
Adding Speech capabilities to your Virtual Assistant A tutorial on how to enable Speech for your Virtual Assistant and creation of a simple application to demonstrate Speech capabilities of your Assistant.
Adding Your Virtual Assistant to Microsoft Teams A tutorial on how to add your Virtual Assistant to Microsoft Teams.
Parent-Child pattern of the Virtual Assistant and Skills How the Virtual Assistant template and Skills can enable a Parent-Child pattern letting you democratize creation of assistant capabilities throughout your organization.
How-To: Enable Linked Accounts Enable users to link third party accounts (e.g. Office 365) to your Assistant.
How-To: Migrate from the Enterprise Template

Migrating from the Enterprise Template with C#

Guidance on how to move from an Enterprise Template based Bot to the new Template
How-to: Migrate the Virtual Assistant (Beta Release 0.3) solution to the Virtual Assistant Template

Migrating from the beta Virtual Assistant solution with C#

Guidance on how to move from the original Virtual Assistant solution to the new Template
How-To: Send activities from your assistant to users proactively Adding proactive experiences to your Assistant
How-To: Customize Azure Resource Deployment How to customise the provided ARM template for different deployment scenarios.
How-To: Update your deployment scripts to the latest version. How to update the deployment scripts for Virtal Assistant and Skill projects that you have already created to ensure you have the latest updates.


Name Description
How-To: Add a new Skill to your Assistant Adding a Skill
How-To: Add Skills to an existing SDK v4 bot

Adding Skill support to a v4 SDK Bot with C# Adding Skill support to a v4 SDK Bot with TypeScript

How to add Skills to an existing bot (not Virtual Assistant template).
How-To: Convert an existing v4 SDK Bot to a Skill

Enable Skills on an existing v4 SDK Bot with C# Enable Skills on an existing v4 SDK Bot with TypeScript

Steps required to take an existing Bot and make it available as a skill.
How-To: Develop a Skill Best practices for developing your Bot Framework Skill


Reference documentation providing more insight into key concepts across the Virtual Assistant, Skills and Analytics

Virtual Assistant

Name Description
Template Outline An outline of what the Virtual Assistant template provides
Architecture Detailed documentation covering what the template provides and how it works
Generating bot responses Your Virtual Assistant can respond in a variety of ways, depending on the scenario and the user's active device or conversation canvas
Managing backend client events Events enable custom apps or device experiences to pass device or contextual user information to an Assistant behind the scenes.
Deployment scripts Reference for deployment scripts provided in the Virtual Assistant Template


Name Description
Skills Architecture Under the covers of the Skill Implementation, SkillDialog, Adapter and Middleware
Parent Bot to Skill Authentication Principles, Flow
Skill Token Flow How a Skill can request a User authentication token
Skill Manifest Overview of the Skill Manifest file and its role with Skill registration and invocation
Skill Command Line Tool Detailed information on the Botskills command line tool and the steps it performs on your behalf.
Calendar Skill Add calendar capabilities to your Assistant. Powered by Microsoft Graph and Google.
Email Skill Add email capabilities to your Assistant. Powered by Microsoft Graph and Google.
To Do Skill Add task management capabilities to your Assistant. Powered by Microsoft Graph.
Point of Interest Skill Find points of interest and directions. Powered by Azure Maps and FourSquare.
Automotive Skill Industry-vertical Skill for showcasing the enabling car feature control.
Experimental Skills News, Search, Restaurant Booking, and Weather.


Name Description
Application Insights Detailed information on how Application Insights is used to collect information and powers our Analytics capabilities.
Power BI Template Detailed information on how the provided PowerBI template provides insights into your Assistant usage.
Telemetry How to configure a telemetry collection for your Assistant.

Need Help?

Check out our Known Issues for common issues and resolutions.

If you have any questions, please start with Stack Overflow where we're happy to help.

Use the GitHub Issues page to raise issues or feature requests.

You can’t perform that action at this time.