diff --git a/docs/_data/toc.yml b/docs/_data/toc.yml index 43c7d77952..6f16bfd839 100644 --- a/docs/_data/toc.yml +++ b/docs/_data/toc.yml @@ -1,10 +1,9 @@ Overview: Virtual Assistant: -- Create a Virtual Assistant -- Customize a Virtual Assistant -- Deploy a Virtual Assistant +- Create +- Customize +- Deploy - Handbook -- Samples Skills: - Create a Skill - Customize a Skill @@ -14,15 +13,15 @@ Skills: - Handbook - Samples Solution Accelerators: -- Enable proactive notifications -- View analytics using Power BI - Assistants - Samples +- Enable proactive notifications +- View analytics using Power BI Clients and Channels: -- Extend to Direct Line Speech -- Extend to Microsoft Teams - Clients - Channels +- Extend to Direct Line Speech +- Extend to Microsoft Teams Additional resources: - Analytics - Deployment diff --git a/docs/_docs/_samples/_howto.md b/docs/_docs/_samples/_howto.md deleted file mode 100644 index 2b163acfb6..0000000000 --- a/docs/_docs/_samples/_howto.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -category: How To -subcategory: [Virtual Assistant or Skills] -title: [Title] -description: [Description] -order: 1 ---- - -# {{ page.title }} -{:.no_toc} - -## In this how-to -{:.no_toc} - -* -{:toc} diff --git a/docs/_docs/_samples/_reference.md b/docs/_docs/_samples/_reference.md deleted file mode 100644 index 04fbea3700..0000000000 --- a/docs/_docs/_samples/_reference.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -category: Reference -subcategory: [Virtual Assistant or Skills] -title: [Title] -description: [Description] -order: 1 ---- - -# {{ page.title }} -{:.no_toc} - -## In this reference -{:.no_toc} - -* -{:toc} diff --git a/docs/_docs/help/faq.md b/docs/_docs/help/faq.md index 81761012a8..68aa6132ae 100644 --- a/docs/_docs/help/faq.md +++ b/docs/_docs/help/faq.md @@ -18,106 +18,106 @@ This greatly simplifies the creation of a new bot project by providing basic con ### What is the architecture of a Virtual Assistant solution? {:.no_toc} -Learn more about the [Virtual Assistant solution architecture](). +Learn more about the [Virtual Assistant solution architecture]({{site.baseurl}}/overview/virtual-assistant-solution). ### How do I create a Virtual Assistant? {:.no_toc} -Follow a guided tutorial to create a Virtual Assistant (available in [C#]() or [Typescript]()). +Follow a guided tutorial to create a Virtual Assistant (available in [C#]({{site.baseurl}}/virtual-assistant/tutorials/create-assistant/csharp/1-intro) or [Typescript]({{site.baseurl}}/virtual-assistant/tutorials/create-assistant/typescript/1-intro)). ### How do I customize a Virtual Assistant? {:.no_toc} -Follow a guided tutorial to customize a Virtual Assistant (available in [C#]() or [Typescript]()). +Follow a guided tutorial to customize a Virtual Assistant (available in [C#]({{site.baseurl}}/virtual-assistant/tutorials/customize-assistant/csharp/1-intro) or [Typescript]({{site.baseurl}})/virtual-assistant/tutorials/customize-assistant/typescript/1-intro). ### How do I deploy a Virtual Assistant? {:.no_toc} -Learn how to deploy a Virtual Assistant by [automated scripts]() or [manual configuration](). +Learn how to deploy a Virtual Assistant by [automated scripts]({{site.baseurl}}/help/reference/deployment-scripts) or [manual configuration]({{site.baseurl}}/virtual-assistant/tutorials/deploy-assistant/cli/1-intro). ### How do I test a Virtual Assistant? {:.no_toc} -Learn how to [test a Virtual Assistant](). +Learn how to [test a Virtual Assistant]({{site.baseurl}}/virtual-assistant/handbook/testing/). ### How do I pass events to a Virtual Assistant? {:.no_toc} Event activities are used to pass metadata between a Bot and user without being visible to the user. The data from these activities can be processed by a Virtual Assistant to fulfill scenarios like providing a summary of the day ahead or filling semantic action slots on a Skill. -Learn more on [sample event activities packaged with the Virtual Assistant template](). +Learn more on [sample event activities packaged with the Virtual Assistant template]({{site.baseurl}}/virtual-assistant/handbook/events/). ### How do I link user accounts to a Virtual Assistant? {:.no_toc} -Learn how to [link user accounts to a Virtual Assistant](). +Learn how to [link user accounts to a Virtual Assistant]({{site.baseurl}}/solution-accelerators/samples/linked-accounts/). ### How do I collect feedback from users for a Virtual Assistant? {:.no_toc} -Learn more about using the [sample feedback middleware that enables you to capture feedback from a Virtual Assistant's users]() in Application Insights telemetry. +Learn more about using the [sample feedback middleware that enables you to capture feedback from a Virtual Assistant's users]({{site.baseurl}}/virtual-assistant/handbook/feedback/) in Application Insights telemetry. ### How does localization work for a Virtual Assistant? {:.no_toc} -Learn how to [manage localization across a Virtual Assistant environment](). +Learn how to [manage localization across a Virtual Assistant environment]({{site.baseurl}}/virtual-assistant/handbook/localization/). ### How do I send proactive messages to users? {:.no_toc} -Learn how to [send proactive messages to users](). +Learn how to [send proactive messages to users]({{site.baseurl}}/solution-accelerators/samples/proactive-notifications/). ### How do I convert from the Enterprise Template to the Virtual Assistant Template? {:.no_toc} -Learn how to [convert from the Enterprise Template to the Virtual Assistant Template](). +Learn how to [convert from the Enterprise Template to the Virtual Assistant Template]({{site.baseurl}}/virtual-assistant/handbook/migration/). ### What happened to the Virtual Assistant solution (v0.3 and earlier)? {:.no_toc} -The Virtual Assistant solution from v0.3 and earlier was delivered with multiple sample SKills to support productivty and point of interest scenarios. These are now available as indepdendent [Bot Framework SKills], reusable Skills that can be added to an existing bot. +The Virtual Assistant solution from v0.3 and earlier was delivered with multiple sample Skills to support productivty and point of interest scenarios. These are now available as indepdendent [Bot Framework SKills], reusable Skills that can be added to an existing bot. ## Skills ### What is a Bot Framework Skill? {:.no_toc} -Bot Framework SKills are re-usable skill building blocks covering conversational use-cases, enabling you to add extensive functionality to a Bot within minutes. +Bot Framework Skills are re-usable skill building blocks covering conversational use-cases, enabling you to add extensive functionality to a Bot within minutes. Skills include Language Understanding models, dialogs, and integration code, and are delivered in source code - enabling you to customize and extend as required. ### What sample Skills are available? {:.no_toc} The following sample Skills are available out of the box, with appropriate steps required to deploy and configure for your own use/ -- [Calendar]() -- [Email]() -- [To Do]() -- [Point of Interest]() -- [Experimental]() +- [Calendar]({{site.baseurl}}/skills/samples/calendar) +- [Email]({{site.baseurl}}/skills/samples/email) +- [To Do]({{site.baseurl}}/skills/samples/to-do) +- [Point of Interest]({{site.baseurl}}/skills/samples/point-of-interest) +- [Experimental]({{site.baseurl}}/skills/samples/experimental) ### How do I create a Bot Framework Skill? {:.no_toc} -Follow a guided tutorial to create a Bot Framework Skill (available in [C#]() or [Typescript]()). +Follow a guided tutorial to create a Bot Framework Skill (available in [C#]({{site.baseurl}}/skills/tutorials/create-skill/csharp/1-intro) or [Typescript]({{site.baseurl}}/skills/tutorials/create-skill/typescript/1-intro)). ### How do I customize a Bot Framework Skill? {:.no_toc} -Follow a guided tutorial to customize a Bot Framework Skill (available in [C#]() or [Typescript]()). +Follow a guided tutorial to customize a Bot Framework Skill (available in [C#]({{site.baseurl}}/skills/tutorials/customize-skill/csharp/1-intro) or [Typescript]({{site.baseurl}}/skills/tutorials/customize-skill/typescript/1-intro)). ### What are the best practices when developing custom Bot Framework Skills? {:.no_toc} -Learn the [best practices when developing a custom Bot Framework Skill](). +Learn the [best practices when developing a custom Bot Framework Skill]({{site.baseurl}}/skills/handbook/best-practices). ### How do I add Skills to a Virtual Assistant? {:.no_toc} -Learn how to [add SKills to a Virtual Assistant](). +Learn how to [add Skills to a Virtual Assistant]({{site.baseurl}}/skills/handbook/add-skills-to-a-virtual-assistant). ### What is a Bot Framework Skill manifest? {:.no_toc} -The [Bot Framework Skill manifest]() enables Skills to be self-describing in that they communicate the name and sceription of a SKill, it's authentication requirements (if appropriate), along with discrete actions it exposes. +The [Bot Framework Skill manifest]({{site.baseurl}}/skills/handbook/manifest) enables Skills to be self-describing in that they communicate the name and sceription of a SKill, it's authentication requirements (if appropriate), along with discrete actions it exposes. This manifest provides all of the metadata required for a calling Bot to know when to trigger invoking a Skill and what actions it provides. The manifest is used by the Botskills command line tool to configure a Bot to make use of a SKill. ### How does Bot Framework Skill authentication work? {:.no_toc} -A Skill needs to be able to authenticate the request from a Virtual Assistant, [learn how a Skill uses JWT and whitelist authentication](). +A Skill needs to be able to authenticate the request from a Virtual Assistant, [learn how a Skill uses JWT and whitelist authentication]({{site.baseurl}}/skills/handbook/authentication). ### What is the Botskills Command Line (CLI) tool? {:.no_toc} -[Botskills command line tool]() allows you to automate teh connection between a Virtual Assistant and your Skills; this includes the process of updating your dispatch models and creating authentication connections when needed. +[Botskills command line tool]({{site.baseurl}}/help/reference/botskills) allows you to automate the connection between a Virtual Assistant and your Skills; this includes the process of updating your dispatch models and creating authentication connections when needed. ### How do I enable Bot Framework Skills on an existing v4 Bot? {:.no_toc} -Learn how to [enable Bot Framework Skill support on an existing v4 Bot](). +Learn how to [enable Bot Framework Skill support on an existing v4 Bot]({{site.baseurl}}/skills/tutorials/extend-v4-bot/csharp/1-intro). ### How do I convert an existing v4 Bot to a Bot Framework Skill? {:.no_toc} -Learn how to [convert an existing v4 Bot to a Bot Framework Skill](). +Learn how to [convert an existing v4 Bot to a Bot Framework Skill]({{site.baseurl}}/skills/tutorials/convert-v4-bot/csharp/1-intro). ## Analytics @@ -133,8 +133,6 @@ Learn how to [convert an existing v4 Bot to a Bot Framework Skill](). {:.no_toc} Bot Framework can use the Application Insights telemetry to provide information about how your bot is performing, and track key metrics. The Bot Framework SDK ships with several samples that demonstrate how to add telemetry to your bot and produce reports (included). -Common queries for bot analytics are available in [Application Insights Analytics](). - Examples of Power BI dashboards are provided in the [Power BI Analytics sample](https://aka.ms/botPowerBiTemplate), highlighting how to gain insights on your bot's performance and quality. ### Where can I download the sample Power BI for a Virtual Assistant? diff --git a/docs/_docs/help/known-issues.md b/docs/_docs/help/known-issues.md index b199b04a90..5064e4c9e2 100644 --- a/docs/_docs/help/known-issues.md +++ b/docs/_docs/help/known-issues.md @@ -82,7 +82,7 @@ Due to a limitation with the LUIS authoring APIs the original deployment scripts This may cause you to also experience `Forbidden` LUIS errors when testing your Bot as you may have exhausted the quota for your starter LUIS key, changing from your starter LUIS subscription key will resolve this. -This has now been resolved in the latest deployment scripts which you can update to following [these instructions]({{site.baseurl}}/reference/virtual-assistant/deploymentscripts#updating-your-deployment-scripts). If you have an existing deployment you'll have to manually perform the following steps: +This has now been resolved in the latest deployment scripts which you can update to following [these instructions]({{site.baseurl}}/help/reference/deployment-scripts/#updating-your-deployment-scripts). If you have an existing deployment you'll have to manually perform the following steps: 1. As shown below go through **each LUIS model including Dispatch**, click Assign Resoucre and locate the appropriate subscription key and then re-publish. diff --git a/docs/_docs/help/reference/botskills.md b/docs/_docs/help/reference/botskills.md index 7888064cc7..559201cd71 100644 --- a/docs/_docs/help/reference/botskills.md +++ b/docs/_docs/help/reference/botskills.md @@ -18,7 +18,7 @@ The CLI performs the following operations on your behalf: 4. Refresh the dispatch LUIS model with the new utterances. 5. In the case of **Active Directory Authentication Providers**, an authentication connection will be added to your Bot automatically and the associated Scopes added to your Azure AD application that backs your deployed Assistant. -> Your Virtual Assistant must have been deployed using the [deployment tutorial]({{site.baseurl}}/tutorials/csharp/create-assistant/4_provision_your_azure_resources) before using the `botskills` CLI as it relies on the Dispatch models being available and a deployed Bot for authentication connection information. +> Your Virtual Assistant must have been deployed using the [deployment tutorial]({{site.baseurl}}/virtual-assistant/tutorials/create-assistant/csharp/4-provision-your-azure-resources) before using the `botskills` CLI as it relies on the Dispatch models being available and a deployed Bot for authentication connection information. ## Prerequisites - [Node.js](https://nodejs.org/) version 10.8 or higher diff --git a/docs/_docs/overview/virtual-assistant-skills-pattern.md b/docs/_docs/overview/virtual-assistant-skills-pattern.md deleted file mode 100644 index 744a374de0..0000000000 --- a/docs/_docs/overview/virtual-assistant-skills-pattern.md +++ /dev/null @@ -1,71 +0,0 @@ ---- -category: Overview -title: How does Virtual Assistant and Skills work together? -description:As you develop your Virtual Assistant, you will find that the ability to manage individual domains of a conversation (Skills) and aggregate them into a singular *parent* Assistant becomes attractive for a number of reasons: -order: 5 -toc: true ---- - -# {{ page.title }} -{:.no_toc} - -{{ page.description }} - -## End user fatigue -{:.no_toc} -As customer adoption for this technology grows, new Bots appear owned by disparate teams, increasing the cognitive load on your end users. It becomes up to them to remember the right Bot to use for a given function and they may not discover the full breadth of Bots available. - -## Monolithic architecture -{:.no_toc} -As a Bot increases it's complexity it becomes unsustainable to house them within a single project. - -## Centralized changes -{:.no_toc} -On the cognitive-side, changes to language models, QnA knowledge bases, and dialogs are usually performed by a central team. This quickly becomes a bottleneck across an organization and highlights change-management issues over time. - -## Parent-Child pattern -Adopting a Parent-Child pattern enables you to address the above issues and provides the following benefits: - -* Establish a front-facing Assistant experience that your users grow familiar with. This Assistant identifies the intent best suited for a given utterance and hands off processing to a remote-hosted Skill. -* Enable different teams to own their own capabilities packaged up in a Skill which is added to the **parent** Assistant. -* Mix programming languages between your Assistant and Skills, for example a C# Assistant could call a Typescript Skill and vice-versa. -* Leverage Skills from third parties including Microsoft to quickly extend your Assistant's capabilities. - -## Key Concepts - -The following concepts are key to an effective Skill architecture. These are described at a generic level before moving into details of how this is solved as part of the Virtual Assistant. - -### Dispatch -{:.no_toc} - -Taking a natural language question from a user (e.g. `What meetings do I have today`) and identifying which (if any) conversational component to hand the question to is the primary function of the Dispatching capability. - -The Dispatcher capability requires knowledge of training data for downstream Skills and Q&A in order to reason over all components and make an informed decision on which component to hand control to. A key requirement is the ability to provide scoring comparison across multiple dependencies which is not otherwise possible as there is no common baseline. - -### Orchestrator -{:.no_toc} - -Once a downstream conversational component has been identified the triggering question is passed across and a conversation with the downstream Skill is established through an Orchestration capability. - -Follow-up questions from the user are routed to the Skill until the Skill indicates it is complete at which point it hands back control. - -The Orchestrator is also responsible for exchanging appropriate Context from the Assistant to the Skill and vice-versa. For example, if the Assistant is already aware of the users location this can be passed to the downstream component removing the need for the user to be prompted again. - -Conversely, a downstream component can provide information for the Assistant to store as part of it's context for use in subsequent interactions. - -In addition, depending on the scenario the Orchestrator also handles authentication-token needs of downstream Skills maintaining authentication at the parent-level enabling tokens to be shared across Skills if needed (e.g. Office 365 across Calendar, Email and To Do skills). - -## Virtual Assistant and Bot Framework Skills - -Bot Framework Skills are a new capability enabling Parent-Child / Assistant type experiences to be created. These Skills are almost identical to normal Bot Framework based bots and can be developed and tested in the same way, ensuring a consistent and familiar approach and the same Activity protocol is maintained. - -The main change, is to add a different invocation approach enabling an Assistant to invoke a Skill directly (via WebSockets) and not have to go via the usual Bot Framework channel infrastructure. We provide a [Dispatcher](https://docs.microsoft.com/en-us/azure/bot-service/bot-builder-tutorial-dispatch?view=azure-bot-service-4.0&tabs=cs) capability which is wired up as part of the Virtual Assistant which takes in training data from LUIS models and QnAMaker to enable effective routing, other dispatching sources can be added through flat-file import. - -The [Skill Architecture]({{site.baseurl}}/reference/skills/architecture) documentation covers the role of the Dispatcher and SkillDialog in more detail. - -A Skill Template is provided to enable developers to quickly create Skills and existing V4 BF SDK bots can be easily updated to enable them to be called as Skills. - -A supporting Skill command line tool enables Skills to be added/removed/refreshed to a parent Bot with no code changes. This tool abstracts various steps including Dispatcher and Authentication configuration steps. - -The Virtual Assistant Template (C# and Typescript) provides out of the box Skill support including Dispatcher configuration. With no additional code changes you can add Skills and top level intents such as cancellation are provided for you. - diff --git a/docs/_docs/overview/virtual-assistant-solution.md b/docs/_docs/overview/virtual-assistant-solution.md index ce9a53a3b0..03221b392e 100644 --- a/docs/_docs/overview/virtual-assistant-solution.md +++ b/docs/_docs/overview/virtual-assistant-solution.md @@ -22,7 +22,7 @@ Further skills can be created and made available either through your own assista Extend a Virtual Assistant experience with reusable [Bot Framework Skills]({{site.baseurl}}/overview/skills), fulfilling common scenarios such as finding a nearby point of interest, checking off an item on a to-do list, or replying to an email. Skills can be fully customized and samples are available, enabling you to get started with multiple languages, dialogs, and code. -Review analytics captured from the out-of-the-box Application Insights telemetry using the [Virtual Assistant Analytics Power BI template]({{site.baseurl}}/virtual-assistant/tutorials/view-analytics/1-intro/). +Review analytics captured from the out-of-the-box Application Insights telemetry using the [Virtual Assistant Analytics Power BI template]({{site.baseurl}}/virtual-assistant/tutorials/create-assistant/csharp/1-intro/). ## Key Principles @@ -62,10 +62,10 @@ This is further complicated should you require your Virtual Assistant to support There are four major components within Virtual Assistant: -### Virtual Assistant Core +### Virtual Assistant core {:.no_toc} -The [Virtual Assistant Core]() is the basic building blocks that bring together the virtual assistant capabilities and the Microsoft technologies required to build a Virtual Assistant including Bot Framework SDK, LUIS, QnA Maker, Skills registration, Linked Accounts, etc. +The [Virtual Assistant core template]({{site.baseurl}}/overview/virtual-assistant-template) is the basic building blocks that bring together the virtual assistant capabilities and the Microsoft technologies required to build a Virtual Assistant including Bot Framework SDK, LUIS, QnA Maker, Skills registration, Linked Accounts, etc. ### Skills {:.no_toc} @@ -76,10 +76,10 @@ Bot Framework Skills leverage the new Bot Framework SDK capabilities and provide {:.no_toc} Microsoft has assembled these samples to allow for acceleration of customers in building a Virtual Assistant for specific Industries or scenarios. These samples have pre-packaged skill configurations, additional capabilities and suggested channels that are leveraged in typical scenarios. -- [Base Virtual Assistant]() +- [Base Virtual Assistant]({{site.baseurl}}/overview/virtual-assistant-template) - [Automotive Assistant]() (In and out of Vehicle Experiences for Customers) -- [Enterprise Assistant]() (Employee Focused Experiences) -- [Hospitality Assistant]() (In Room Assistant for hotel guests) +- [Enterprise Assistant]({{site.baseurl}}/solution-accelerators/assistants/enterprise-assistant/) (Employee Focused Experiences) +- [Hospitality Assistant]({{site.baseurl}}/solution-accelerators/assistants/hospitality-assistant/) (In Room Assistant for hotel guests) ### Clients and Channels {:.no_toc} @@ -89,8 +89,8 @@ Clients and Channels are the ways that users can interact with the Virtual Assis Microsoft offers a variety of channels such as Facebook Messenger, Teams, Slack, WeChat, and many others. You can find many details around available channels in the [Bot Framework Channels documentation](https://docs.microsoft.com/en-us/azure/bot-service/bot-service-channels-reference?view=azure-bot-service-4.0). Sample client applications are implementations of clients that will integrate seamlessly with your Assistant and enable Speech scenarios. -- [Virtual Assistant Client for Android]() -- Virtual Assistant Client for PowerApps *(Comming Soon)* +- [Virtual Assistant Client for Android]({site.baseurl}}/clients-and-channels/clients/virtual-assistant-client/) +- Virtual Assistant Client for PowerApps *(Coming Soon)* ## Next steps {:.toc} diff --git a/docs/_docs/overview/virtual-assistant-template.md b/docs/_docs/overview/virtual-assistant-template.md index d3c6c0fce9..a81a56c7aa 100644 --- a/docs/_docs/overview/virtual-assistant-template.md +++ b/docs/_docs/overview/virtual-assistant-template.md @@ -20,9 +20,9 @@ To learn more about project structure, see the [Create Project]({{site.baseurl}} ### .lu file format {:.no_toc} -The [LU](https://github.com/Microsoft/botbuilder-tools/blob/master/packages/Ludown/docs/lu-file-format.md) format is similar to MarkDown enabling easy modification and source control of your LUIS models and QnA information. Virtual Assistant uses these files at its core to simplify deployment and provide an ongoing source control solution. +The [LU](https://github.com/Microsoft/botbuilder-tools/blob/next/packages/Ludown/docs/lu-file-format.md) format is similar to MarkDown enabling easy modification and source control of your LUIS models and QnA information. Virtual Assistant uses these files at its core to simplify deployment and provide an ongoing source control solution. -The [LuDown](https://github.com/Microsoft/botbuilder-tools/tree/master/packages/Ludown) tool is then used to convert .LU files into LUIS models which can then be published to your LUIS subscription either through the portal or the associated [LUIS](https://github.com/Microsoft/botbuilder-tools/tree/master/packages/LUIS) CLI (command line) tool. The same tool is used to create a QnA Maker JSON file which the [QnA Maker](https://github.com/Microsoft/botbuilder-tools/tree/master/packages/QnAMaker) CLI (command line) tool then uses to publish items to the QnA Maker knowledgebase. +The [LuDown](https://github.com/Microsoft/botbuilder-tools/tree/next/packages/Ludown) tool is then used to convert .LU files into LUIS models which can then be published to your LUIS subscription either through the portal or the associated [LUIS](https://github.com/Microsoft/botbuilder-tools/tree/next/packages/LUIS) CLI (command line) tool. The same tool is used to create a QnA Maker JSON file which the [QnA Maker](https://github.com/Microsoft/botbuilder-tools/tree/next/packages/QnAMaker) CLI (command line) tool then uses to publish items to the QnA Maker knowledgebase. All of the above is handled as part of the Deployment scripts detailed below. @@ -34,16 +34,16 @@ Every Bot should handle a base level of conversational language understanding. C The LU files provide the following intents across English, Chinese, French, Italian, German, Spanish. > Cancel, Confirm, Escalate, FinishTask, GoBack, Help, Reject, Repeat, SelectAny, SelectItem, SelectNone, ShowNext, ShowPrevious, StartOver, Stop -You can review these within the **Deployment\Resources** folder or [here](https://github.com/microsoft/botframework-solutions/tree/master/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Deployment/Resources/LU). +You can review these within the [**Deployment\Resources**]({{site.repo}}/tree/next/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Deployment/Resources/LU) directory. #### LUIS strongly-typed classes {:.no_toc} -The [LuisGen](https://github.com/microsoft/botbuilder-tools/blob/master/packages/LUISGen/src/npm/readme.md) tool enables developers to create a strongly-typed class for their LUIS models. As a result, you can easily reference the intents and entities as class instance members. +The [LuisGen](https://github.com/microsoft/botbuilder-tools/blob/next/packages/LUISGen/src/npm/readme.md) tool enables developers to create a strongly-typed class for their LUIS models. As a result, you can easily reference the intents and entities as class instance members. -You'll find a **GeneralLuis.cs** and **DispatchLuis.cs** class as part of your project within the **Services** folder. The DispatchLuis.cs will be re-generated if you add Skills to reflect the changes made. +You'll find a **GeneralLuis.cs** and **DispatchLuis.cs** class as part of your project within the [**Services**]({{site.repo}}/tree/next/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Services) folder. The DispatchLuis.cs will be re-generated if you add Skills to reflect the changes made. -To learn more about LuisGen, see the [LuisGen Tool](https://github.com/microsoft/botbuilder-tools/blob/master/packages/LUISGen/src/npm/readme.md) documentation and you can find examples of these classes [here](https://github.com/microsoft/botframework-solutions/tree/master/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Services). +To learn more about LuisGen, see the [LuisGen Ttool](https://github.com/microsoft/botbuilder-tools/blob/next/packages/LUISGen/src/npm/readme.md) documentation. ### QnA Maker {:.no_toc} @@ -52,14 +52,14 @@ A key design pattern used to good effect in the first wave of conversational exp [QnA Maker](https://www.qnamaker.ai/) provides the ability for non-developers to curate general knowledge in the format of question and answer pairs. This knowledge can be imported from FAQ data sources, product manuals and interactively within the QnaMaker portal. -Two example QnA Maker models localized to English, Chinese, French, Italian, German, Spanish are provided in the [LU](https://github.com/Microsoft/botbuilder-tools/blob/master/packages/Ludown/docs/lu-file-format.md) file format within the **Deployment\Resources** folder or [here](https://github.com/microsoft/botframework-solutions/tree/master/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Deployment/Resources/QnA). +Two example QnA Maker models localized to English, Chinese, French, Italian, German, Spanish are provided in the [LU](https://github.com/Microsoft/botbuilder-tools/blob/next/packages/Ludown/docs/lu-file-format.md) file format within the **Deployment\Resources** folder or [here]({{site.repo}}/tree/next/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Deployment/Resources/QnA). #### Base Personality {:.no_toc} -QnAMaker provides 5 different personality types which you can find [here](https://github.com/microsoft/BotBuilder-PersonalityChat/tree/master/CSharp/Datasets). The Virtual Assistant template includes the **Professional** personality and has been converted into the [LU](https://github.com/Microsoft/botbuilder-tools/blob/master/packages/Ludown/docs/lu-file-format.md) format to ease source control and deployment. +QnAMaker provides 5 different personality types which you can find [here](https://github.com/microsoft/BotBuilder-PersonalityChat/tree/next/CSharp/Datasets). The Virtual Assistant template includes the **Professional** personality and has been converted into the [LU](https://github.com/Microsoft/botbuilder-tools/blob/next/packages/Ludown/docs/lu-file-format.md) format to ease source control and deployment. -You can review this within the **Deployment\Resources** folder or [here](https://github.com/microsoft/botframework-solutions/tree/master/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Deployment/Resources/QnA). +You can review this within the [**Deployment\Resources**]({{site.repo}}/tree/next/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Deployment/Resources/QnA) directory. ![QnA ChitChat example]({{site.baseurl}}/assets/images/qnachitchatexample.png) @@ -80,7 +80,7 @@ The Dispatch model is used at the core of each project created using the templat 1. Activities are first processed within your Bot through the DialogBot.cs class found in the **Bots** folder. **OnTurnAsync** is executed and **MainDialog** processing is started. -2. The **MainDialog** dialog provided in the template derives from a base class called [RouterDialog](https://github.com/microsoft/botframework-solutions/blob/master/lib/csharp/microsoft.bot.builder.solutions/microsoft.bot.builder.solutions/Dialogs/RouterDialog.cs) which can be found in the **Microsoft.Bot.Builder.Solutions** NuGet library. +2. The **MainDialog** dialog provided in the template derives from a base class called [RouterDialog]({{site.repo}}/blob/next/lib/csharp/microsoft.bot.builder.solutions/microsoft.bot.builder.solutions/Dialogs/RouterDialog.cs) which can be found in the **Microsoft.Bot.Builder.Solutions** NuGet library. 3. The **OnInterruptDialogAsync** handler within **MainDialog** is executed which in-turn calls LUIS to evaluate the **General** LUIS model for top intent processing. If interruption is required it's processed at this point. @@ -96,11 +96,11 @@ The Dispatch model is used at the core of each project created using the templat ### Interruptions {:.no_toc} -The **MainDialog** class provided in the template derives from a base class called [RouterDialog](https://github.com/microsoft/botframework-solutions/blob/master/lib/csharp/microsoft.bot.builder.solutions/microsoft.bot.builder.solutions/Dialogs/RouterDialog.cs) which can be found in the **Microsoft.Bot.Builder.Solutions** NuGet library. +The **MainDialog** class provided in the template derives from a base class called [RouterDialog]({{site.repo}}/blob/next/lib/csharp/microsoft.bot.builder.solutions/microsoft.bot.builder.solutions/Dialogs/RouterDialog.cs) which can be found in the **Microsoft.Bot.Builder.Solutions** NuGet library. This RouterDialog as part of the **OnContinueDialogAsync** handler invokes on the **OnInterruptDialogAsync** within your **MainDialog.cs**. This handler enables interruption logic to be processed before any utterance is processed, by default Cancel, Help, Logout and Restart are handled as part of this handler enabling top-level intent processing even when you have an active dialog. -You can review this logic within **MainDialog.cs** within the **Dialogs** folder of your project or [here](https://github.com/microsoft/botframework-solutions/blob/master/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Dialogs/MainDialog.cs#L295) +You can review this logic within [**MainDialog.cs**]({{site.repo}}/blob/next/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Dialogs/MainDialog.cs#L295). ### Event processing {:.no_toc} @@ -109,19 +109,17 @@ Events play a central role to an assistant experience and we provide a central e In addition, the standard **token/response** event is handled as per the Azure Bot Service authentication feature. -This event handler can be extended as required to support your specific scenarios. You can find **MainDialog** within your **Dialogs** folder or [here](https://github.com/microsoft/botframework-solutions/blob/next_docs/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Dialogs/MainDialog.cs#L208). +This event handler can be extended as required to support your specific scenarios. You can find this in [**MainDialog.cs**]({{site.repo}}/blob/next_docs/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Dialogs/MainDialog.cs#L208). ### Fallback responses {:.no_toc} In situations where an utterance from a user isn't understood by Dispatch (and therefore LUIS, QnAMaker, and Skills) the typical approach is to send a confused message back to the user. However, this behavior can easily be overridden to call some form of fallback capability where you could use another knowledge source like a Search engine to see if there is a highly scored response that could help satisfy the user's request. -> TODO - Once Sample is updated - ### Managing global exceptions {:.no_toc} -Whilst exceptions are typically handled at source it's important to have a global exception handler for unexpected situations which is defined as part of the Adapter definition within `DefaultAdapter.cs` or [here](https://github.com/microsoft/botframework-solutions/blob/next/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Adapters/DefaultAdapter.cs). +Whilst exceptions are typically handled at source it's important to have a global exception handler for unexpected situations which is defined as part of the Adapter definition within [**DefaultAdapter.cs**]({{site.repo}}/blob/next/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Adapters/DefaultAdapter.cs). The provided Exception handler passes information on the Exception as a Trace activity enabling it to be shown within the Bot Framework Emulator if it's being used otherwise these are suppressed. A general Error message is then shown to the user and the exception is logged through Application Insights. @@ -171,15 +169,15 @@ To learn more about how multi-locale support is added, see the [localization doc ## Language generation and responses -The Virtual Assistant has transitioned to use the new [Language Generation](https://github.com/Microsoft/BotBuilder-Samples/tree/master/experimental/language-generation#readme) capability to provide a more natural conversational experience by being able to define multiple response variations and leverage context/memory to adapt these dynamically to end-users. +The Virtual Assistant has transitioned to use the new [Language Generation](https://github.com/Microsoft/BotBuilder-Samples/tree/next/experimental/language-generation#readme) capability to provide a more natural conversational experience by being able to define multiple response variations and leverage context/memory to adapt these dynamically to end-users. -Language Generation (LG) leverages a new [LG file format](https://github.com/microsoft/BotBuilder-Samples/blob/master/experimental/language-generation/docs/lg-file-format.md) which follows the same markdown approach as the LU file format mentioned earlier. This enables easy editing of responses by a broad range of roles. +Language Generation (LG) leverages a new [LG file format](https://github.com/microsoft/BotBuilder-Samples/blob/next/experimental/language-generation/docs/lg-file-format.md) which follows the same markdown approach as the LU file format mentioned earlier. This enables easy editing of responses by a broad range of roles. LG also enables Adaptive Card responses to be defined alongside responses further simplifying management and localization of responses. -LG files for your Virtual Assistant can be found in your **responses** folder or [here](https://github.com/microsoft/botframework-solutions/tree/next/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Responses) and the Template Engine code can be found in your **Startup.cs** file. +LG files for your Virtual Assistant can be found in your **responses** folder or [here]({{site.repo}}/tree/next/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Responses) and the Template Engine code can be found in your **Startup.cs** file. -An example of LG in use can be found [here](https://github.com/microsoft/botframework-solutions/blob/next/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Dialogs/MainDialog.cs#L77) and throughout the Virtual Assistant. +An example of LG in use can be found [here]({{site.repo}}/blob/next/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Dialogs/MainDialog.cs#L77) and throughout the Virtual Assistant. ## Telemetry @@ -195,7 +193,7 @@ To learn more about Telemetry, see the [Analytics tutorial]({{site.baseurl}}/vir ## Azure resource deployment -The comprehensive experience requires the following Azure resources to function properly, detailed [here]({{site.baseurl}}/reference/virtual-assistant/deploymentscripts). +The comprehensive experience requires the following Azure resources to function properly, detailed [here]({{site.baseurl}}/help/reference/deployment-scripts/). Resource | Description | -------- | ----- | @@ -208,29 +206,29 @@ Content Moderator | To enable you to get started quickly, we have provided an ARM template and set of PowerShell scripts (supported cross-platform) to provide these resources along with the required LUIS models, QnAMaker knowledgebases, Dispatcher and publishing into Azure. In addition the ability to refresh the LUIS and QNA resources with any changes from your LU files. -All of the steps provided by our scripts are documented [here](https://microsoft.github.io/botframework-solutions/howto/virtual-assistant/manualdeployment/) if you wish to review or perform manually. +All of the steps provided by our scripts are documented [here]({{site.baseurl}}/virtual-assistant/tutorials/deploy-assistant/web/1-intro/) if you wish to review or perform manually. -You can find the ARM template (template.json) in your **Deployment\Resources** folder or [here](https://github.com/microsoft/botframework-solutions/tree/master/templates/Virtual-Assistant-Template/csharp/Template/VA/Deployment/Resources). The PowerShell scripts can be found in your **Deployment\Scripts** folder or [here](https://github.com/microsoft/botframework-solutions/tree/master/templates/Virtual-Assistant-Template/csharp/Template/VA/Deployment/Scripts). +You can find the ARM template (template.json) in your **Deployment\Resources** folder or [here]({{site.repo}}/tree/next/templates/Virtual-Assistant-Template/csharp/Template/VA/Deployment/Resources). The PowerShell scripts can be found in your **Deployment\Scripts** folder or [here]({{site.repo}}/tree/next/templates/Virtual-Assistant-Template/csharp/Template/VA/Deployment/Scripts). ## Middleware Middleware is simply a class that sits between the adapter and your bot logic, added to your adapter's middleware collection during initialization. Every activity coming into or out of your Assistant flows through your middleware. -A number of middleware components have been provided to address some key scenarios and are included in the **Microsoft.Bot.Builder.Solutions** nuget library or in [this location](https://github.com/microsoft/botframework-solutions/blob/master/lib/csharp/microsoft.bot.builder.solutions/microsoft.bot.builder.solutions/Middleware). +A number of middleware components have been provided to address some key scenarios and are included in the **Microsoft.Bot.Builder.Solutions** nuget library or in [this location]({{site.repo}}/blob/next/lib/csharp/microsoft.bot.builder.solutions/microsoft.bot.builder.solutions/Middleware). ### Set Locale Middleware {:.no_toc} In multi-locale scenarios, it's key to understand the user's locale so you can select the appropriate language LUIS Models and responses for a given user. Most channels populate the **Locale** property on an incoming Message activity but there are many cases where this may not be present thus it's important to stamp a default locale on activities where this is missing so downstream components -You can find this component within the **Microsoft.Bot.Builder.Solutions** NuGet library or in [this location](https://github.com/microsoft/botframework-solutions/blob/master/lib/csharp/microsoft.bot.builder.solutions/microsoft.bot.builder.solutions/Middleware/SetLocaleMiddleware.cs). +You can find this component within the **Microsoft.Bot.Builder.Solutions** NuGet library or in [this location]({{site.repo}}/blob/next/lib/csharp/microsoft.bot.builder.solutions/microsoft.bot.builder.solutions/Middleware/SetLocaleMiddleware.cs). ### Set Speak Middleware {:.no_toc} For Speech scenario's providing a fully formed SSML fragment is required in order to be able to control the voice, tone and more advanced capabilities such as pronunciation. Setting the **Speak** property on the Activity to a Speech representation should be performed as part of the Language Generation step but in cases where this is omitted we can transpose the Activity.Text property into Speak to ensure all responses have Speech variations. -The [**Set Speak Middleware**](https://github.com/microsoft/botframework-solutions/blob/master/lib/csharp/microsoft.bot.builder.solutions/microsoft.bot.builder.solutions/Middleware/SetSpeakMiddleware.cs) provides these capabilities and only executes when the Direct-Line Speech channel is used. An example SSML fragment is shown below: +The [**Set Speak Middleware**]({{site.repo}}/blob/next/lib/csharp/microsoft.bot.builder.solutions/microsoft.bot.builder.solutions/Middleware/SetSpeakMiddleware.cs) provides these capabilities and only executes when the Direct-Line Speech channel is used. An example SSML fragment is shown below: ```json @@ -243,14 +241,14 @@ You have the following event on your calendar: Sync Meeting at 4PM with 2 people ### Console Output Middleware {:.no_toc} -The [**Console Output Middleware**](https://github.com/microsoft/botframework-solutions/blob/master/lib/csharp/microsoft.bot.builder.solutions/microsoft.bot.builder.solutions/Middleware/ConsoleOutputMiddleware.cs) is a simple component for debugging that outputs incoming and outcoming activities to the console enabling you to easily see the Text/Speak responses flowing through your Bot. +The [**Console Output Middleware**]({{site.repo}}/blob/next/lib/csharp/microsoft.bot.builder.solutions/microsoft.bot.builder.solutions/Middleware/ConsoleOutputMiddleware.cs) is a simple component for debugging that outputs incoming and outcoming activities to the console enabling you to easily see the Text/Speak responses flowing through your Bot. ### Event Debugger Middleware {:.no_toc} Event Activities can be used to pass metadata between an assistant and user without being visible to the user. These events can enable a device or application to communicate an event to an assistant (e.g. being switched on) or enable an assistant to convey an action to a device to perform such as opening a deep link to an application or changing the temperature. -It can be hard to generate these activities for testing purposes as the Bot Framework Emulator doesn't provide the ability to send Activities. The [**Event Debug Middleware**](https://github.com/microsoft/botframework-solutions/blob/master/lib/csharp/microsoft.bot.builder.solutions/microsoft.bot.builder.solutions/Middleware/EventDebuggerMiddleware.cs) provides an elegant workaround enabling you to send messages following a specific format which are then transposed into an Event activity processed by your Assistant +It can be hard to generate these activities for testing purposes as the Bot Framework Emulator doesn't provide the ability to send Activities. The [**Event Debug Middleware**]({{site.repo}}/blob/next/lib/csharp/microsoft.bot.builder.solutions/microsoft.bot.builder.solutions/Middleware/EventDebuggerMiddleware.cs) provides an elegant workaround enabling you to send messages following a specific format which are then transposed into an Event activity processed by your Assistant For example sending this message with the middleware registered: **/event:{ "Name": "{Event name}", "Value": "{Event value}" }** would generate an Activity of type event being created with the appropriate Value. @@ -259,7 +257,7 @@ For example sending this message with the middleware registered: **/event:{ "Nam Content Moderator is an optional component that enables the detection of potential profanity and helps check for personally identifiable information (PII). This can be helpful to integrate into Bots enabling a Bot to react to profanity or if the user shares PII information. For example, a Bot can apologize and hand-off to a human or not store telemetry records if PII information is detected. -[**Content Moderator Middleware**](https://github.com/microsoft/botframework-solutions/blob/master/lib/csharp/microsoft.bot.builder.solutions/microsoft.bot.builder.solutions/Middleware/ContentModeratorMiddleware.cs) is provided that screen texts and surfaces output through a **TextModeratorResult** on the **TurnState** object. This middleware is not enabled by default. +[**Content Moderator Middleware**]({{site.repo}}/blob/next/lib/csharp/microsoft.bot.builder.solutions/microsoft.bot.builder.solutions/Middleware/ContentModeratorMiddleware.cs) is provided that screen texts and surfaces output through a **TextModeratorResult** on the **TurnState** object. This middleware is not enabled by default. ### Feedback Middleware {:.no_toc} @@ -279,23 +277,23 @@ Beyond the core **MainDialog** dialog two further dialogs are provided firstly t ### Main Dialog {:.no_toc} -The [**MainDialog**](https://github.com/microsoft/botframework-solutions/tree/master/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Dialogs) class as discussed earlier in this section is the core part of the Activity processing stack and is where all activities are processed. This is also where the Help intent is handled which returns a response as defined within the Language Generation responses. Events are also handled as part of this dialog. +The [**MainDialog**]({{site.repo}}/tree/next/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Dialogs) class as discussed earlier in this section is the core part of the Activity processing stack and is where all activities are processed. This is also where the Help intent is handled which returns a response as defined within the Language Generation responses. Events are also handled as part of this dialog. ### Onboarding Dialog {:.no_toc} -The [**OnboardingDialog**](https://github.com/microsoft/botframework-solutions/blob/master/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Dialogs/OnboardingDialog.cs) provides an example introduction Dialog experience for users starting their first conversation. It prompts for some information which is then stored in State for future use by your assistant. This dialog demonstrates how you can use prompts and state. +The [**OnboardingDialog**]({{site.repo}}/blob/next/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Dialogs/OnboardingDialog.cs) provides an example introduction Dialog experience for users starting their first conversation. It prompts for some information which is then stored in State for future use by your assistant. This dialog demonstrates how you can use prompts and state. ### Escalate Dialog {:.no_toc} -The [**EscalateDialog**](https://github.com/microsoft/botframework-solutions/blob/master/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Dialogs/EscalateDialog.cs) demonstrates a stubbed dialog to handle a user asking to be transferred to a human. This is where you could integrate to a human-handoff capability. The provided implementation returns a response with a placeholder telephone number. +The [**EscalateDialog**]({{site.repo}}/blob/next/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Dialogs/EscalateDialog.cs) demonstrates a stubbed dialog to handle a user asking to be transferred to a human. This is where you could integrate to a human-handoff capability. The provided implementation returns a response with a placeholder telephone number. ## Unit Testing Unit testing of dialogs is an important capability for any project. A number of examples unit tests are provided as part of the Virtual Assistant and cover all capabilities provided. These can be used as a baseline to build your own additional tests. -You can find these tests in a companion project to your assistant or [here](https://github.com/microsoft/botframework-solutions/tree/master/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample.Tests). +You can find these tests in a companion project to your assistant or [here]({{site.repo}}/tree/next/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample.Tests). ## Skill Support @@ -305,7 +303,7 @@ Within `MainDialog`, any dispatch intent that has been identified is matched aga ## Speech support -The Virtual Assistant has all of the pre-requisites required for a high-quality speech experience out of the box when using Direct Line Speech. This includes ensuring all responses have speech friendly responses, middleware for SSML and configuration of the Streaming Extensions adapter. The [Enabling speech tutorial(https://microsoft.github.io/botframework-solutions/tutorials/enable-speech/1_intro/) includes further configuration steps to provision Speech and get starting with a test tool quickly. +The Virtual Assistant has all of the pre-requisites required for a high-quality speech experience out of the box when using Direct Line Speech. This includes ensuring all responses have speech friendly responses, middleware for SSML and configuration of the Streaming Extensions adapter. The [Enabling speech tutorial({{site.baseurl}}/tutorials/enable-speech/1_intro/) includes further configuration steps to provision Speech and get starting with a test tool quickly. ## Multi-provider authentication @@ -317,5 +315,5 @@ The Multi Provider Authentication also provides the Skill authentication protoco A [Azure DevOps](https://azure.microsoft.com/en-us/solutions/devops/) [YAML](https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema?view=azure-devops&tabs=schema) file for Continuous Integration is included within the `pipeline` folder of your assistant and provides all the steps required to build your assistant project and generate code coverage results. This can be imported into your Azure DevOps environment to create a build. -In addition, documentation to create a [release pipeline](https://microsoft.github.io/botframework-solutions/howto/virtual-assistant/continuousdeployment/) is also provided enabling you to continuously deploy updates to your project to your Azure test environment and also update Dispatch, LUIS and QnAMaker resources with any changes to the LU files within source control. +In addition, documentation to create a [release pipeline]({{site.baseurl}}/howto/virtual-assistant/continuousdeployment/) is also provided enabling you to continuously deploy updates to your project to your Azure test environment and also update Dispatch, LUIS and QnAMaker resources with any changes to the LU files within source control. diff --git a/docs/_docs/overview/whats-new.md b/docs/_docs/overview/whats-new.md index a116031706..5883e11f27 100644 --- a/docs/_docs/overview/whats-new.md +++ b/docs/_docs/overview/whats-new.md @@ -12,7 +12,7 @@ toc: true Customers and partners have increasing need to deliver advanced conversational assistant experiences tailored to their brand, personalized to their users, and made available across a broad range of canvases and devices. Continuing Microsoft's open-sourced approach towards the Bot Framework SDK, the open-source Virtual Assistant solution provides you with a set of core foundational capabilities and full control over the end user experience and data. -At it's core is the [Virtual Assistant]({{site.baseurl}}//overview/virtual-assistant-template) (available in C# and TypeScript) is a project template with the best practices to developing a bot on the Microsoft Azure platform. +At it's core is the [Virtual Assistant]({{site.baseurl}}/overview/virtual-assistant-template) (available in C# and TypeScript) is a project template with the best practices to developing a bot on the Microsoft Azure platform. For more details on Virtual Assistant review [What is the Virtual Assistant Solution?]({{site.baseurl}}/overview/virtual-assistant-solution). @@ -73,7 +73,7 @@ Microsoft continues to grow its skills library and enhance skills that are provi #### Improved Conversation Flows and Capabilities {:.no_toc} -Microsoft has also improved the conversations in many of the existing skills that were previously announced that allow for better customer experiences with skills such as Calendar, POI, and others. You can find more details on the other skills and download their [latest versions](). +Microsoft has also improved the conversations in many of the existing skills that were previously announced that allow for better customer experiences with skills such as Calendar, POI, and others. #### Hospitality Skill (Experimental) {:.no_toc} @@ -83,17 +83,17 @@ Microsoft has released a new experimental skill focused on Hospitality scenarios #### Event Skill (Experimental) {:.no_toc} -Microsoft has released a new experimental skill focused on finding events from the popular platform [Eventbrite](http://www.eventbrite.com/). More details on scenarios that this supports can be found in the [Event Skill documentation](). +Microsoft has released a new experimental skill focused on finding events from the popular platform [Eventbrite](http://www.eventbrite.com/). More details on scenarios that this supports can be found in the [Event Skill documentation]({{site.baseurl}}/skills/samples/event/). #### IT Service Management (ITSM) Skill (Experimental) {:.no_toc} -Microsoft has released a new experimental skill focused on popular IT Service Management scenarios. The IT Service Management skill provides a basic skill that provides ticket and knowledge base related capabilities and supports [ServiceNow](http://www.servicenow.com/). More details around the ITSM skill can be found [here](). +Microsoft has released a new experimental skill focused on popular IT Service Management scenarios. The IT Service Management skill provides a basic skill that provides ticket and knowledge base related capabilities and supports [ServiceNow](http://www.servicenow.com/). More details around the ITSM skill can be found [here]({{site.baseurl}}/skills/samples/itsm/). #### Music Skill (Experimental) {:.no_toc} -Microsoft has released a new experimental skill focused on demonstrating artists and playlist lookup for the popular music service [Spotify](https://developer.spotify.com/documentation/web-api/libraries/). Playback information is then signalled back to the device through Events enabling native device playback. More details around the Music skill can be found [here](). +Microsoft has released a new experimental skill focused on demonstrating artists and playlist lookup for the popular music service [Spotify](https://developer.spotify.com/documentation/web-api/libraries/). Playback information is then signalled back to the device through Events enabling native device playback. More details around the Music skill can be found [here]({{site.baseurl}}/skills/samples/music/). ### Assistant Solution Accelerators @@ -108,17 +108,17 @@ Microsoft has not necessarily released a new capability as much as the concept o #### Enterprise Assistant Sample {:.no_toc} -Microsoft has assembled a typical configuration of a Virtual Assistant that is common from what we have seen working with our customer base implementation of a Virtual Assistant that is targeted at the Enterprise community. You can get more details around this sample [here](). +Microsoft has assembled a typical configuration of a Virtual Assistant that is common from what we have seen working with our customer base implementation of a Virtual Assistant that is targeted at the Enterprise community. You can get more details around this sample [here]({{site.baseurl}}/solution-accelerators/assistants/enterprise-assistant/). #### Hospitality Assistant Sample {:.no_toc} -Microsoft has assembled a typical configuration of a Virtual Assistant that is common from what we have seen working with our customer base implementation of a Virtual Assistant that is targeted at the Hospitality community. You can get more details around this sample [here](). +Microsoft has assembled a typical configuration of a Virtual Assistant that is common from what we have seen working with our customer base implementation of a Virtual Assistant that is targeted at the Hospitality community. You can get more details around this sample [here]({{site.baseurl}}/solution-accelerators/assistants/hospitality-assistant/). #### Automotive Assistant Sample {:.no_toc} -Microsoft has assembled a typical configuration of a Virtual Assistant that is common from what we have seen working with our customer base implementation of a Virtual Assistant that is targeted at the Automotive community. You can get more details around this sample [here](). +Microsoft has assembled a typical configuration of a Virtual Assistant that is common from what we have seen working with our customer base implementation of a Virtual Assistant that is targeted at the Automotive community. You can get more details around this sample are coming soon. ### Clients and Channels @@ -140,7 +140,7 @@ Microsoft understands the need to be able to have devices such as phones, tablet - Configuration options to allow for customization of colors - Light and Dark Mode support -This sample application can be used to quickly test your Virtual Assistant or any BF Bot on Android Devices (8.x and greater). More details can be found [here](). +This sample application can be used to quickly test your Virtual Assistant or any BF Bot on Android Devices (8.x and greater). More details can be found [here]({{site.baseurl}}/clients-and-channels/clients/virtual-assistant-client/). #### Teams Channel Support {:.no_toc} diff --git a/docs/_docs/skills/handbook/add-skills-to-a-virtual-assistant.md b/docs/_docs/skills/handbook/add-skills-to-a-virtual-assistant.md index 51a1622ef0..e2ba903e71 100644 --- a/docs/_docs/skills/handbook/add-skills-to-a-virtual-assistant.md +++ b/docs/_docs/skills/handbook/add-skills-to-a-virtual-assistant.md @@ -36,7 +36,7 @@ The `botskills` CLI can be installed using the following npm command: npm install -g botskills ``` -> Your Virtual Assistant must have been deployed using the [deployment tutorial]({{site.baseurl}}/tutorials/csharp/create-assistant/4_provision_your_azure_resources) before using the `botskills` CLI as it relies on the Dispatch models being available and a deployed Bot for authentication connection information. +> Your Virtual Assistant must have been deployed using the [deployment tutorial]({{site.baseurl}}/virtual-assistant/tutorials/create-assistant/csharp/4-provision-your-azure-resources) before using the `botskills` CLI as it relies on the Dispatch models being available and a deployed Bot for authentication connection information. ## Skill Deployment diff --git a/docs/_docs/skills/handbook/architecture.md b/docs/_docs/skills/handbook/architecture.md index ef607b7f5a..9d955cfa70 100644 --- a/docs/_docs/skills/handbook/architecture.md +++ b/docs/_docs/skills/handbook/architecture.md @@ -44,7 +44,7 @@ The **SkillManifest** provides the endpoint for the SkillDialog to communicate w When a Skill wants to terminate an ongoing dialog, it sends back an Activity with **Handoff** type to signal the completion of the current dialog. -See the [SkillAuthentication]({{site.baseurl}}/reference/skills/skillauthentication) section for information on how Bot->Skill invocation is secured. +See the [SkillAuthentication]({{site.baseurl}}/skills/handbook/authentication/) section for information on how Bot->Skill invocation is secured. ## Skill Middleware diff --git a/docs/_docs/skills/handbook/manifest.md b/docs/_docs/skills/handbook/manifest.md index 5c4a5f73db..6d33eb573a 100644 --- a/docs/_docs/skills/handbook/manifest.md +++ b/docs/_docs/skills/handbook/manifest.md @@ -48,7 +48,7 @@ The manifest header provides high level information relating to your skill, the "name": "Calendar Skill", "description": "The Calendar skill provides calendaring related capabilities and supports Office and Google calendars.", "iconUrl": "calendarSkill.png", - "msaAppId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "msaAppId": "10101010-1010-1010-1010-101010101010", "endpoint": "http://localhost:3980/api/skill/messages", ``` diff --git a/docs/_docs/skills/samples/email.md b/docs/_docs/skills/samples/email.md index 8865f94b24..117908c9b7 100644 --- a/docs/_docs/skills/samples/email.md +++ b/docs/_docs/skills/samples/email.md @@ -137,7 +137,7 @@ Follow the general instructions [here]({{site.baseurl}}/skills/handbook/authenti ## Events {:.toc} -Learn how to use [events]({{site.baseurl}}/reference/virtual-assistant/events) to send backend data to a Skill, like a user's location or time zone. +Learn how to use [events]({{site.baseurl}}/virtual-assistant/handbook/events) to send backend data to a Skill, like a user's location or time zone. ## Download a transcript {:.toc} diff --git a/docs/_docs/skills/samples/experimental.md b/docs/_docs/skills/samples/experimental.md index cfdf99dfe1..5bfecda988 100644 --- a/docs/_docs/skills/samples/experimental.md +++ b/docs/_docs/skills/samples/experimental.md @@ -2,7 +2,7 @@ category: Skills subcategory: Samples language: Experimental Skills -title: Experimental Skills Overview +title: Overview description: These experimental Bot Framework Skills are early prototypes to help bring skill concepts to life for demonstrations and proof-of-concepts along with providing different examples to get you started. These skills by their very nature are not complete, will likely have rudimentary language models, limited language support and limited testing hence are located in a experimental folder to ensure this is understood before you make use of them. order: 1 toc: true @@ -26,7 +26,7 @@ The Experimental Skills require the following dependencies for end to end operat > Review the pricing and terms for the services and adjust to suit your scenario. -**To deploy the experimental skills using the default configuration, follow the steps in this common [deployment documentation page]({{site.baseurl}}/tutorials/csharp/create-assistant/4_provision_your_azure_resources) from the folder where your have cloned the GitHub repo.** +**To deploy the experimental skills using the default configuration, follow the steps in this common [deployment documentation page]({{site.baseurl}}/virtual-assistant/tutorials/create-assistant/csharp/4-provision-your-azure-resources) from the folder where your have cloned the GitHub repo.** diff --git a/docs/_docs/skills/samples/point-of-interest.md b/docs/_docs/skills/samples/point-of-interest.md index 7794e908d7..e4b93e36f0 100644 --- a/docs/_docs/skills/samples/point-of-interest.md +++ b/docs/_docs/skills/samples/point-of-interest.md @@ -91,13 +91,13 @@ Learn how to [provision your Azure resources]({{site.baseurl}}/tutorials/csharp/ ## Events {:.toc} -Learn how to use [events]({{site.baseurl}}/reference/virtual-assistant/events) to send backend data to a Skill, like a user's location. +Learn how to use [events]({{site.baseurl}}/virtual-assistant/handbook/events) to send backend data to a Skill, like a user's location. ### From assistant to user {:.no_toc} This Skill supports an outgoing **OpenDefaultApp** Event Activity that provides a [Geo URI](https://en.wikipedia.org/wiki/Geo_URI_scheme) for chat clients to determine how to handle navigation to a user's selected point of interest. -The [Virtual Assistant Client (Android) sample]({{ site.baseurl }}/howto/samples/vaclient_android/) demonstrates how a client may navigate to a destination using a user's preferred map application. +The [Virtual Assistant Client (Android) sample]({{ site.baseurl }}/clients/virtual-assistant-client/) demonstrates how a client may navigate to a destination using a user's preferred map application. ```json { diff --git a/docs/_docs/skills/tutorials/add-prebuilt-skill/1-intro.md b/docs/_docs/skills/tutorials/add-prebuilt-skill/1-intro.md index 5326055d45..61f8aab1ed 100644 --- a/docs/_docs/skills/tutorials/add-prebuilt-skill/1-intro.md +++ b/docs/_docs/skills/tutorials/add-prebuilt-skill/1-intro.md @@ -16,7 +16,7 @@ Install Bot Framework development prerequisites and add one of the Skills provid ### Prerequisites -- [Create a Virtual Assistant](/docs/tutorials/csharp/virtualassistant.md) to setup your environment. +- [Create a Virtual Assistant]({{site.baseurl}}/virtual-assistant/tutorials/create-assistant/csharp/1-intro) to setup your environment. ### Time to Complete @@ -24,4 +24,4 @@ Install Bot Framework development prerequisites and add one of the Skills provid ### Scenario -Add one of the skills provided in the [Bot Framework Solutions GitHub repo](https://github.com/microsoft/botframework-solutions) provide to your Virtual Assistant. The Skills are only available in C# at this time but these can be added to a Typescript based assistant. \ No newline at end of file +Add one of the sample skills provided in the [Bot Framework Solutions GitHub repository]({{site.repo}}/skills/csharp) provide to your Virtual Assistant. The Skills are only available in C# at this time but these can be added to a Typescript based assistant. \ No newline at end of file diff --git a/docs/_docs/skills/tutorials/add-prebuilt-skill/3-deploy-skill-project.md b/docs/_docs/skills/tutorials/add-prebuilt-skill/3-deploy-skill-project.md index b673c0b929..bdbc53381c 100644 --- a/docs/_docs/skills/tutorials/add-prebuilt-skill/3-deploy-skill-project.md +++ b/docs/_docs/skills/tutorials/add-prebuilt-skill/3-deploy-skill-project.md @@ -14,10 +14,10 @@ Choose which of the provided Skills you wish to add to your Virtual Assistant, c | Name | Description | | ---- | ----------- | -|[Calendar Skill]({{site.baseurl}}/reference/skills/productivity-calendar)|Add calendar capabilities to your assistant. Powered by Microsoft Graph and Google.| -|[Email Skill]({{site.baseurl}}/reference/skills/productivity-email)|Add email capabilities to your assistant. Powered by Microsoft Graph and Google.| -|[To Do Skill]({{site.baseurl}}/reference/skills/productivity-todo)|Add task management capabilities to your assistant. Powered by Microsoft Graph.| -|[Point of Interest Skill]({{site.baseurl}}/reference/skills/pointofinterest)|Find points of interest and directions. Powered by Azure Maps and FourSquare.| -|[Automotive Skill]({{site.baseurl}}/reference/skills/automotive)|Industry-vertical Skill for showcasing enabling car feature control.| -|[Phone Skill]({{site.baseurl}}/reference/skills/phone)|Make phone calls. Powered by Microsoft Graph and Google.| -|[Experimental Skills]({{site.baseurl}}/reference/skills/experimental)|News, Search, Restaurant Booking and Weather.| \ No newline at end of file +|[Calendar Skill]({{site.baseurl}}/skills/samples/calendar)|Add calendar capabilities to your assistant. Powered by Microsoft Graph and Google.| +|[Email Skill]({{site.baseurl}}/skills/samples/email)|Add email capabilities to your assistant. Powered by Microsoft Graph and Google.| +|[To Do Skill]({{site.baseurl}}/skills/samples/to-do)|Add task management capabilities to your assistant. Powered by Microsoft Graph.| +|[Point of Interest Skill]({{site.baseurl}}/skills/samples/point-of-interest)|Find points of interest and directions. Powered by Azure Maps and FourSquare.| +|[Automotive Skill]({{site.baseurl}}/skills/samples/automotive)|Industry-vertical Skill for showcasing enabling car feature control.| +|[Phone Skill]({{site.baseurl}}/skills/samples/phone)|Make phone calls. Powered by Microsoft Graph and Google.| +|[Experimental Skills]({{site.baseurl}}/skills/samples/experimental)|News, Search, Restaurant Booking and Weather.| diff --git a/docs/_docs/skills/tutorials/add-prebuilt-skill/5-test-your-skill.md b/docs/_docs/skills/tutorials/add-prebuilt-skill/5-test-your-skill.md index a2a2fd3189..c8c9e68b27 100644 --- a/docs/_docs/skills/tutorials/add-prebuilt-skill/5-test-your-skill.md +++ b/docs/_docs/skills/tutorials/add-prebuilt-skill/5-test-your-skill.md @@ -14,8 +14,8 @@ Refer to the documentation page in the table below for an example question that | Name | Description | | ---- | ----------- | -|[Calendar Skill]({{site.baseurl}}/reference/skills/productivity-calendar)|Add calendar capabilities to your assistant. Powered by Microsoft Graph and Google.| -|[Email Skill]({{site.baseurl}}/reference/skills/productivity-email)|Add email capabilities to your assistant. Powered by Microsoft Graph and Google.| -|[To Do Skill]({{site.baseurl}}/reference/skills/productivity-todo)|Add task management capabilities to your assistant. Powered by Microsoft Graph.| -|[Point of Interest Skill]({{site.baseurl}}/reference/skills/pointofinterest)|Find points of interest and directions. Powered by Azure Maps and FourSquare.| -|[Experimental Skills]({{site.baseurl}}/reference/skills/experimental)|News, Search, Restaurant Booking and Weather.| \ No newline at end of file +|[Calendar Skill]({{site.baseurl}}/skills/samples/calendar)|Add calendar capabilities to your assistant. Powered by Microsoft Graph and Google.| +|[Email Skill]({{site.baseurl}}/skills/samples/email)|Add email capabilities to your assistant. Powered by Microsoft Graph and Google.| +|[To Do Skill]({{site.baseurl}}/skills/samples/to-do)|Add task management capabilities to your assistant. Powered by Microsoft Graph.| +|[Point of Interest Skill]({{site.baseurl}}/skills/samples/point-of-interest)|Find points of interest and directions. Powered by Azure Maps and FourSquare.| +|[Experimental Skills]({{site.baseurl}}/skills/samples/experimental)|News, Search, Restaurant Booking and Weather.| diff --git a/docs/_docs/skills/tutorials/add-prebuilt-skill/6-next-steps.md b/docs/_docs/skills/tutorials/add-prebuilt-skill/6-next-steps.md index 6d66130582..17c6c7f076 100644 --- a/docs/_docs/skills/tutorials/add-prebuilt-skill/6-next-steps.md +++ b/docs/_docs/skills/tutorials/add-prebuilt-skill/6-next-steps.md @@ -19,7 +19,7 @@ Now that you've connected a pre-built skill to your assitant, try out these othe

Build a custom skill for your scenario.

diff --git a/docs/_docs/skills/tutorials/convert-v4-bot/csharp/1-intro.md b/docs/_docs/skills/tutorials/convert-v4-bot/csharp/1-intro.md index 46c83c2877..0fc2849e48 100644 --- a/docs/_docs/skills/tutorials/convert-v4-bot/csharp/1-intro.md +++ b/docs/_docs/skills/tutorials/convert-v4-bot/csharp/1-intro.md @@ -13,14 +13,14 @@ order: 1 ### Purpose -Creating a [Bot Framework Skill]({{site.baseurl}}/overview/skills) through the [Skill template]({{site.baseurl}}/tutorials/csharp/create-skill/1_intro) is the easiest way to get started with creating a new Skill. If you have an existing v4 based Bot, we recommended you take the resulting project from this template and copy over across your custom dialogs to get started quickly. - -If you want to manually update your existing bot into a Bot Framework Skill, you can continue below. +Creating a [Bot Framework Skill]({{site.baseurl}}/overview/skills) through the [Skill template]({{site.baseurl}}/skills/tutorials/create-skill/csharp/1-intro) is the easiest way to get started with creating a new Skill. If you have an existing v4 based Bot, we recommended you take the resulting project from this template and copy over across your custom dialogs to get started quickly. ### Prerequisites ### Time to Complete -XX minutes +10 minutes + +### Scenario -### Scenario \ No newline at end of file +Convert an existing v4 Bot into a Bot Framework Skill. \ No newline at end of file diff --git a/docs/_docs/skills/tutorials/convert-v4-bot/typescript/1-intro.md b/docs/_docs/skills/tutorials/convert-v4-bot/typescript/1-intro.md index a3425a64f4..79325dfdee 100644 --- a/docs/_docs/skills/tutorials/convert-v4-bot/typescript/1-intro.md +++ b/docs/_docs/skills/tutorials/convert-v4-bot/typescript/1-intro.md @@ -13,14 +13,14 @@ order: 1 ### Purpose -Creating a [Bot Framework Skill]({{site.baseurl}}/overview/skills) through the [Skill template]({{site.baseurl}}/tutorials/csharp/create-skill/1_intro) is the easiest way to get started with creating a new Skill. If you have an existing v4 based Bot, we recommended you take the resulting project from this template and copy over across your custom dialogs to get started quickly. - -If you want to manually update your existing bot into a Bot Framework Skill, you can continue below. +Creating a [Bot Framework Skill]({{site.baseurl}}/overview/skills) through the [Skill template]({{site.baseurl}}/skills/tutorials/create-skill/csharp/1-intro) is the easiest way to get started with creating a new Skill. If you have an existing v4 based Bot, we recommended you take the resulting project from this template and copy over across your custom dialogs to get started quickly. ### Prerequisites ### Time to Complete -XX minutes +10 minutes + +### Scenario -### Scenario \ No newline at end of file +Convert an existing v4 Bot into a Bot Framework Skill. \ No newline at end of file diff --git a/docs/_docs/skills/tutorials/create-skill/csharp/4-provision-your-azure-resources.md b/docs/_docs/skills/tutorials/create-skill/csharp/4-provision-your-azure-resources.md index 8c76d808b8..501d613cce 100644 --- a/docs/_docs/skills/tutorials/create-skill/csharp/4-provision-your-azure-resources.md +++ b/docs/_docs/skills/tutorials/create-skill/csharp/4-provision-your-azure-resources.md @@ -37,6 +37,6 @@ The Virtual Assistant require the following dependencies for end to end operatio `appPassword` | The password for the [Azure Active Directory App](https://ms.portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview) that will be used by your bot. It must be at least 16 characters long, contain at least 1 special character, and contain at least 1 numeric character. If using an existing app, this must be the existing password. | **Yes** `luisAuthoringKey` | The authoring key for your LUIS account. It can be found at https://www.luis.ai/user/settings or https://eu.luis.ai/user/settings | **Yes** -You can find more detailed deployment steps including customization in the [Virtual Assistant and Skill Template deployment]({{site.baseurl}}/reference/virtual-assistant/deploymentscripts/) page. +You can find more detailed deployment steps including customization in the [Virtual Assistant and Skill Template deployment]({{site.baseurl}}/help/reference/deployment-scripts//) page. > Note that if you choose to deploy your Skill manually or re-use an existing App-Service please ensure that Web Sockets are enabled on the App Service configuration pane. The deployment scripts supplied as part of the Skill template will do this automatically. diff --git a/docs/_docs/skills/tutorials/create-skill/csharp/6-add-your-skill.md b/docs/_docs/skills/tutorials/create-skill/csharp/6-add-your-skill.md index e9ee874113..583e10efce 100644 --- a/docs/_docs/skills/tutorials/create-skill/csharp/6-add-your-skill.md +++ b/docs/_docs/skills/tutorials/create-skill/csharp/6-add-your-skill.md @@ -25,4 +25,4 @@ Run the following command from a command prompt **within the directory of your a botskills connect --botName YOUR_BOT_NAME --remoteManifest "http://.azurewebsites.net/api/skill/manifest" --luisFolder "/Deployment/Resources/LU/en/" --cs ``` -See the [Adding Skills]({{site.baseurl}}/howto/skills/addingskills) for more detail on how to add skills. \ No newline at end of file +See the [Adding Skills]({{site.baseurl}}/skills/handbook/add-skills-to-a-virtual-assistant/) for more detail on how to add skills. diff --git a/docs/_docs/skills/tutorials/create-skill/typescript/4-provision-your-azure-resources.md b/docs/_docs/skills/tutorials/create-skill/typescript/4-provision-your-azure-resources.md index 8c766f61de..3ce56d05c5 100644 --- a/docs/_docs/skills/tutorials/create-skill/typescript/4-provision-your-azure-resources.md +++ b/docs/_docs/skills/tutorials/create-skill/typescript/4-provision-your-azure-resources.md @@ -37,6 +37,6 @@ The Virtual Assistant require the following dependencies for end to end operatio `appPassword` | The password for the [Azure Active Directory App](https://ms.portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview) that will be used by your bot. It must be at least 16 characters long, contain at least 1 special character, and contain at least 1 numeric character. If using an existing app, this must be the existing password. | **Yes** `luisAuthoringKey` | The authoring key for your LUIS account. It can be found at https://www.luis.ai/user/settings or https://eu.luis.ai/user/settings | **Yes** -You can find more detailed deployment steps including customization in the [Virtual Assistant and Skill Template deployment]({{site.baseurl}}/reference/virtual-assistant/deploymentscripts/) page. +You can find more detailed deployment steps including customization in the [Virtual Assistant and Skill Template deployment]({{site.baseurl}}/help/reference/deployment-scripts//) page. > Note that if you choose to deploy your Skill manually or re-use an existing App-Service please ensure that Web Sockets are enabled on the App Service configuration pane. The deployment scripts supplied as part of the Skill template will do this automatically. diff --git a/docs/_docs/skills/tutorials/create-skill/typescript/6-add-your-skill.md b/docs/_docs/skills/tutorials/create-skill/typescript/6-add-your-skill.md index dd3b22611d..08e085d6b7 100644 --- a/docs/_docs/skills/tutorials/create-skill/typescript/6-add-your-skill.md +++ b/docs/_docs/skills/tutorials/create-skill/typescript/6-add-your-skill.md @@ -25,4 +25,4 @@ Run the following command from a command prompt **within the directory of your a botskills connect --botName YOUR_BOT_NAME --remoteManifest "http://.azurewebsites.net/api/skill/manifest" --luisFolder "/Deployment/Resources/LU/en/" --ts ``` -See the [Adding Skills]({{site.baseurl}}/howto/skills/addingskills) for more detail on how to add skills. \ No newline at end of file +See the [Adding Skills]({{site.baseurl}}/skills/handbook/add-skills-to-a-virtual-assistant/) for more detail on how to add skills. diff --git a/docs/_docs/skills/tutorials/customize-skill/csharp/1-intro.md b/docs/_docs/skills/tutorials/customize-skill/csharp/1-intro.md index 717ca07da4..a7ead37e1c 100644 --- a/docs/_docs/skills/tutorials/customize-skill/csharp/1-intro.md +++ b/docs/_docs/skills/tutorials/customize-skill/csharp/1-intro.md @@ -17,7 +17,7 @@ Learn how to navigate your skill project and make common customizations. ### Prerequisites -[Create a skill]({{site.baseurl}}/tutorials/csharp/create-skill/1_intro) to setup your environment. +[Create a skill]({{site.baseurl}}/skills/tutorials/create-skill/csharp/1-intro) to setup your environment. ### Time to Complete diff --git a/docs/_docs/skills/tutorials/customize-skill/csharp/2-edit-your-responses.md b/docs/_docs/skills/tutorials/customize-skill/csharp/2-edit-your-responses.md index 0865ab7862..b5a4fbc987 100644 --- a/docs/_docs/skills/tutorials/customize-skill/csharp/2-edit-your-responses.md +++ b/docs/_docs/skills/tutorials/customize-skill/csharp/2-edit-your-responses.md @@ -16,4 +16,4 @@ Edit the MainResponses.json and SharedResponses.json files in the Responses fold To add additional responses, create a new folder in the Responses directory, then copy the .tt and .json files from Responses/Sample. Rename the files to match your domain, and modify the json file as needed. Set the Build Action of the json files to `EmbeddedResource`. In the Build menu of Visual Studio, run "Transform All t4 templates" to generate the necessary .cs file. In startup, register your response class in the ResponseManager. ### Learn More -For more information, refer to the [Skill Responses reference]({{site.baseurl}}/reference/skills/responses). +For more information, refer to the [Skill Responses reference]({{site.baseurl}}/skills/handbook/language-generation). diff --git a/docs/_docs/skills/tutorials/customize-skill/typescript/2-edit-your-responses.md b/docs/_docs/skills/tutorials/customize-skill/typescript/2-edit-your-responses.md index 73e9238315..787d05d3cf 100644 --- a/docs/_docs/skills/tutorials/customize-skill/typescript/2-edit-your-responses.md +++ b/docs/_docs/skills/tutorials/customize-skill/typescript/2-edit-your-responses.md @@ -16,4 +16,4 @@ Edit the MainResponses.json and SharedResponses.json files in the Responses fold To add additional responses, create a new folder in the Responses directory, then copy the files from Responses/Sample. Rename the files to match your domain, then modify the json file as needed. ### Learn More -For more information, refer to the [Skill Responses reference]({{site.baseurl}}/reference/skills/responses). \ No newline at end of file +For more information, refer to the [Skill Responses reference]({{site.baseurl}}/skills/handbook/language-generation). diff --git a/docs/_docs/skills/tutorials/extend-v4-bot/csharp/1-intro.md b/docs/_docs/skills/tutorials/extend-v4-bot/csharp/1-intro.md index 65b647b485..55cf78ad8b 100644 --- a/docs/_docs/skills/tutorials/extend-v4-bot/csharp/1-intro.md +++ b/docs/_docs/skills/tutorials/extend-v4-bot/csharp/1-intro.md @@ -16,13 +16,12 @@ order: 1 Creating a Bot Framework Bot through the Virtual Assistant template is the easiest way to get started with using Skills. If you have an existing v4 based Bot, the recommended approach would be to take the resulting project from this template and bring across your custom dialogs to get started quickly. -If, however you have an existing V4 Bot that you wish to add Skill capability then please follow the steps below. - ### Prerequisites ### Time to Complete -XX minutes +10 minutes ### Scenario +Enable Skills on an existing v4 bot. diff --git a/docs/_docs/skills/tutorials/extend-v4-bot/typescript/1-intro.md b/docs/_docs/skills/tutorials/extend-v4-bot/typescript/1-intro.md index 21f773d9ac..760d60201e 100644 --- a/docs/_docs/skills/tutorials/extend-v4-bot/typescript/1-intro.md +++ b/docs/_docs/skills/tutorials/extend-v4-bot/typescript/1-intro.md @@ -15,13 +15,12 @@ order: 1 Creating a Bot Framework Bot through the Virtual Assistant template is the easiest way to get started with using Skills. If you have an existing v4 based Bot, the recommended approach would be to take the resulting project from this template and bring across your custom dialogs to get started quickly. -If, however you have an existing V4 Bot that you wish to add Skill capability then please follow the steps below. - ### Prerequisites ### Time to Complete -XX minutes +10 minutes ### Scenario +Enable Skills on an existing v4 bot. \ No newline at end of file diff --git a/docs/_docs/solution-accelerators/assistants/enterprise-assistant.md b/docs/_docs/solution-accelerators/assistants/enterprise-assistant.md index 89f98a6f83..f6a5351048 100644 --- a/docs/_docs/solution-accelerators/assistants/enterprise-assistant.md +++ b/docs/_docs/solution-accelerators/assistants/enterprise-assistant.md @@ -9,13 +9,13 @@ toc: true {:.no_toc} Many organizations are looking to provide a centralized conversational experience across many canvases for employees. This concept allows for a consolidation of many disparate bots across the organization to a more centralized solution where a master bot handles finding the right bot to handle the conversation, thus avoiding bot explosion through parent bot/skills approach. This, in turn, gets the user productive quicker and allows for a true Enterprise Virtual Assistant Experience. -The [Enterprise Assistant sample]({{site.repo}}/tree/master/samples/csharp/assistants/enterprise-assistant) is an example of a Virtual Assistant that helps conceptualize and demonstrate how an assistant could be used in common enterprise scenarios. It also provides a starting point for those interested in creating an assistant customized for this scenario. +The [Enterprise Assistant sample]({{site.repo}}/tree/next/samples/csharp/assistants/enterprise-assistant) is an example of a Virtual Assistant that helps conceptualize and demonstrate how an assistant could be used in common enterprise scenarios. It also provides a starting point for those interested in creating an assistant customized for this scenario. ![Enterprise Assistant Overview Drawing]({{site.baseurl}}/assets/images/EnterpriseAssistantSampleOverview.PNG) This sample works off the basis that the assistant would be provided through common employee channels such as Microsoft Teams, a mobile application, and Web Chat to help improve employee productivity, but also assist them in getting work tasks completed such as opening an IT Service Management (ITSM) ticket. It also provides additional capabilities that might be useful for employees, like getting the weather forecast or showing current news articles. -The Enterprise Assistant Sample is based on the [Virtual Assistant Template]({{site.baseurl}}/overview/virtual-assistant-template), with the addition of a [QnA Maker knowledge base](https://docs.microsoft.com/en-us/azure/cognitive-services/qnamaker/concepts/knowledge-base) for answering common enterprise FAQs (such as Benefits and HR Information) and customized Adaptive Cards. It also connects 7 different Skills; which are [Calendar]({{site.baseurl}}/skills/samples/calendar), [Email]({{site.baseurl}}/skills/samples/email), and [To Do]({{site.baseurl}}/skills/samples/to-do) along with the experimental skills of [Weather]({{site.baseurl}}/skills/samples/experimental/#weather-skill), [News]({{site.baseurl}}/skills/samples/experimenta/#news-skill), [Phone]({{site.baseurl}}/skills/samples/experimenta/#phone-skill) and [ITSM]({{site.baseurl}}/skills/samples/experimenta/#it-service-management-skill). +The Enterprise Assistant Sample is based on the [Virtual Assistant Template]({{site.baseurl}}/overview/virtual-assistant-template), with the addition of a [QnA Maker knowledge base](https://docs.microsoft.com/en-us/azure/cognitive-services/qnamaker/concepts/knowledge-base) for answering common enterprise FAQs (such as Benefits and HR Information) and customized Adaptive Cards. It also connects 7 different Skills; which are [Calendar]({{site.baseurl}}/skills/samples/calendar), [Email]({{site.baseurl}}/skills/samples/email), and [To Do]({{site.baseurl}}/skills/samples/to-do) along with the experimental skills of [Weather]({{site.baseurl}}/skills/samples/weather), [News]({{site.baseurl}}/skills/samples/next), [Phone]({{site.baseurl}}/skills/samples/phone) and [ITSM]({{site.baseurl}}/skills/samples/itsm). In many cases, you can leverage [Azure Active Directory (AAD)](https://azure.microsoft.com/en-us/services/active-directory/) for single sign-on (SSO), though this may be limited by the channel itself and your specific requirements. @@ -31,7 +31,7 @@ The Enterprise Assistant sample includes [Proactive Notifications]({{site.baseur ## Supported scenarios -The majority of the skills connected to this sample are [experimental skills]({{site.baseurl}}/reference/skills/experimental), which means they are early prototypes of Skills and are likely to have rudimentary language models, limited language support and limited testing. These skills demonstrate a variety of skill concepts and provide great examples to get you started. This sample demonstrates the following scenarios: +The majority of the skills connected to this sample are [experimental skills]({{site.baseurl}}/skills/samples/experimental), which means they are early prototypes of Skills and are likely to have rudimentary language models, limited language support and limited testing. These skills demonstrate a variety of skill concepts and provide great examples to get you started. This sample demonstrates the following scenarios: #### HR FAQ {:.no_toc} @@ -76,20 +76,20 @@ The majority of the skills connected to this sample are [experimental skills]({{ - *Put milk on my grocery list* - *Create task to meet Leon after 5:00 PM* -#### [Weather Skill]({{site.baseurl}}/skills/samples/experimental/#weather-skill) +#### [Weather Skill]({{site.baseurl}}/skills/samples/weather) {:.no_toc} ##### Get the forecast {:.no_toc} - *What’s the weather today?* -#### [News Skill]({{site.baseurl}}/skills/samples/experimenta/#news-skill) +#### [News Skill]({{site.baseurl}}/skills/samples/next) {:.no_toc} ##### Find news articles {:.no_toc} - *What’s the latest news on technology?* - *What news is currently trending?* -#### [Phone Skill]({{site.baseurl}}/skills/samples/experimenta/#phone-skill) +#### [Phone Skill]({{site.baseurl}}/skills/samples/phone) {:.no_toc} ##### Make an outgoing call {:.no_toc} @@ -97,7 +97,7 @@ The majority of the skills connected to this sample are [experimental skills]({{ - *Call 867 5309* - *Make a call* -#### [IT Service Management (ITSM) Skill]({{site.baseurl}}/skills/samples/experimenta/#it-service-management-skill) +#### [IT Service Management (ITSM) Skill]({{site.baseurl}}/skills/samples/itsm) {:.no_toc} ##### Create a ticket {:.no_toc} diff --git a/docs/_docs/solution-accelerators/assistants/hospitality-assistant.md b/docs/_docs/solution-accelerators/assistants/hospitality-assistant.md index 546cdca0dc..6b9a4bd429 100644 --- a/docs/_docs/solution-accelerators/assistants/hospitality-assistant.md +++ b/docs/_docs/solution-accelerators/assistants/hospitality-assistant.md @@ -9,17 +9,17 @@ toc: true # {{ page.title }} {:.no_toc} -The [Hospitality Assistant sample]({{site.repo}}/tree/master/samples/assistants/hospitality-assistant) is a prototype of an assistant that helps to conceptualize and demonstrate how a virtual assistant could be used in a hospitality specific scenario. It also provides a starting point for those interested in creating an assistant customized for this scenario. +The [Hospitality Assistant sample]({{site.repo}}/tree/next/samples/assistants/hospitality-assistant) is a prototype of an assistant that helps to conceptualize and demonstrate how a virtual assistant could be used in a hospitality specific scenario. It also provides a starting point for those interested in creating an assistant customized for this scenario. This sample works off the basis that the assistant would be integrated into a hotel room device and would help a hotel guest with anything they might usually go to the hotel concierge about. It also provides additional capabilites that might be useful for guests, such as getting the weather forecast or showing current news articles. -The Hospitality Sample builds off of the [Virtual Assistant Template]({{site.baseurl}}/overview/virtualassistant) with the addition of a [QnA Maker](https://www.qnamaker.ai/) knowledge base for answering common hotel FAQs and customized [Adaptive Cards](https://adaptivecards.io/). +The Hospitality Sample builds off of the [Virtual Assistant Template]({{site.baseurl}}/overview/virtual-assistant-template) with the addition of a [QnA Maker](https://www.qnamaker.ai/) knowledge base for answering common hotel FAQs and customized [Adaptive Cards](https://adaptivecards.io/). ![Hospitality Sample Diagram]({{site.baseurl}}/assets/images/hospitalitysample-diagram.png) ## Supported scenarios -The majority of the skills connected to this sample are [experimental skills]({{site.baseurl}}/reference/skills/experimental), which means they are early prototypes of Skills and are likely to have rudimentary language models, limited language support and limited testing. These skills demonstrate a variety of skill concepts and provide great examples to get you started. This sample demonstrates the following scenarios: +The majority of the skills connected to this sample are [experimental skills]({{site.baseurl}}/skills/samples/experimental), which means they are early prototypes of Skills and are likely to have rudimentary language models, limited language support and limited testing. These skills demonstrate a variety of skill concepts and provide great examples to get you started. This sample demonstrates the following scenarios: #### Hotel FAQ {:.no_toc} @@ -27,20 +27,20 @@ The majority of the skills connected to this sample are [experimental skills]({{ - *What time is breakfast?* - *Do you allow pets?* -#### [Bing Search Skill]({{site.baseurl}}/reference/skills/experimental/#bing-search-skill) +#### [Bing Search Skill]({{site.baseurl}}/skills/samples/bing-search) {:.no_toc} ##### Search the web {:.no_toc} - *Tell me about the jurassic park movie* - *Who is Bill Gates?* -#### [Event Skill]({{site.baseurl}}/reference/skills/experimental/#event-skill) +#### [Event Skill]({{site.baseurl}}/skills/samples/event) {:.no_toc} ##### Find local events {:.no_toc} - *What's happening nearby?* -#### [Hospitality Skill]({{site.baseurl}}/reference/skills/experimental/#hospitality-skill) +#### [Hospitality Skill]({{site.baseurl}}/skills/samples/hospitality) {:.no_toc} ##### Guest reservation changes {:.no_toc} @@ -54,26 +54,26 @@ The majority of the skills connected to this sample are [experimental skills]({{ - *Can you get me 2 croissants and a yogurt parfait?* - *Can you bring me a toothbrush and toothpaste?* -#### [News Skill]({{site.baseurl}}/reference/skills/experimental/#news-skill) +#### [News Skill]({{site.baseurl}}/skills/samples/news) {:.no_toc} ##### Find news articles {:.no_toc} - *What's the latest news on surfing?* - *What news is currently trending?* -#### [Restaurant Booking Skill]({{site.baseurl}}/reference/skills/experimental/#restaurant-booking-skill) +#### [Restaurant Booking Skill]({{site.baseurl}}/skills/samples/restaurant-booking) {:.no_toc} ##### Make a restaurant reservation {:.no_toc} - *Make a dinner reservation for tonight* -#### [Point of Interest Skill]({{site.baseurl}}/reference/skills/pointofinterest) +#### [Point of Interest Skill]({{site.baseurl}}/reference/skills/point-of-interest) {:.no_toc} ##### Find points of interest nearby {:.no_toc} - *Find me nearby coffee shops* -#### [Weather Skill]({{site.baseurl}}/skills/samples/experimental/#weather-skill) +#### [Weather Skill]({{site.baseurl}}/skills/samples/weather) {:.no_toc} ##### Get the forecast {:.no_toc} @@ -81,22 +81,22 @@ The majority of the skills connected to this sample are [experimental skills]({{ ## Deploy To configure this sample follow the steps below: -1. Clone the [Hospitality Sample from our repository]({{site.repo}}/tree/master/samples/assistants/HospitalitySample). +1. Clone the [Hospitality Assistant sample]({{site.repo}}/tree/next/samples/csharp/assistants/hospitality-assistant). 1. Follow the [Create your Virtual Assistant tutorial]({{site.baseurl}}/virtual-assistant/tutorials/create-assistant/csharp/1-intro/) to deploy your assistant. Use the sample project you cloned instead of the Virtual Assistant template to include the hospitality customizations in this project. 1. Clone the following skills from our repository: - - [Hospitality Skill]({{site.repo}}/tree/master/skills/src/csharp/experimental/hospitalityskill) - - [Event Skill]({{site.repo}}/tree/master/skills/src/csharp/experimental/eventskill) - - [Point of Interest Skill]({{site.repo}}/tree/master/skills/src/csharp/pointofinterestskill/pointofinterestskill) - - [Weather Skill]({{site.repo}}/tree/master/skills/src/csharp/experimental/weatherskill) - - [Bing Search Skill]({{site.repo}}/tree/master/skills/src/csharp/experimental/bingsearchskill/bingsearchskill) - - [News Skill]({{site.repo}}/tree/master/skills/src/csharp/experimental/newsskill) - - [Restaurant Booking Skill]({{site.repo}}/tree/master/skills/src/csharp/experimental/restaurantbooking) -1. [Deploy each one of these skills]({{site.baseurl}}/tutorials/csharp/create-skill/4_provision_your_azure_resources/) separately, using the deployment script included in the skill directory. -1. [Add each skill]({{site.baseurl}}/howto/skills/addingskills/) using the botskills connect CLI tool. + - [Hospitality Skill]({{site.repo}}/tree/next/skills/csharp/experimental/hospitalityskill) + - [Event Skill]({{site.repo}}/tree/next/skills//csharp/experimental/eventskill) + - [Point of Interest Skill]({{site.repo}}/tree/next/skills/csharp/pointofinterestskill) + - [Weather Skill]({{site.repo}}/tree/next/skills/csharp/experimental/weatherskill) + - [Bing Search Skill]({{site.repo}}/tree/next/skills/csharp/experimental/bingsearchskill) + - [News Skill]({{site.repo}}/tree/next/skills/csharp/experimental/newsskill) + - [Restaurant Booking Skill]({{site.repo}}/tree/next/skills/csharp/experimental/restaurantbookingskill) +1. [Deploy each one of these skills]({{site.baseurl}}/skills/tutorials/create-skill/csharp/4-provision-your-azure-resources/) separately, using the deployment script included in the skill directory. +1. [Add each skill]({{site.baseurl}}/skills/handbook/add-skills-to-a-virtual-assistant/) using the botskills connect CLI tool. ## Download transcripts -View sample conversations Hospitality Assistant solution by downloading a trancscript and opening with the [Bot Framework Emulator](https://aka.ms/botframework-emulator). For more flows of specific skills see [transcripts]({{site.baseurl}}/reference/skills/transcripts). +View sample conversations Hospitality Assistant solution by downloading a transcript and opening with the [Bot Framework Emulator](https://aka.ms/botframework-emulator). For more flows of specific skills see [transcripts]({{site.baseurl}}/reference/skills/transcripts). Frequently asked questions Local info diff --git a/docs/_docs/solution-accelerators/samples/linked-accounts.md b/docs/_docs/solution-accelerators/samples/linked-accounts.md index 43bc002857..e37c42de38 100644 --- a/docs/_docs/solution-accelerators/samples/linked-accounts.md +++ b/docs/_docs/solution-accelerators/samples/linked-accounts.md @@ -49,12 +49,12 @@ The **appsettings.json** file in the LinkedAccounts sample project has the follo * **Directory (tenant) ID** maps to **TenantId** * **Application (client) ID** maps to **ClientId** -```json +```diff "AzureAd": { "Instance": "https://login.microsoftonline.com/", - "Domain": "[Enter the domain of your tenant, e.g. contoso.onmicrosoft.com]", - "TenantId": "[Enter 'common', or 'organizations' or the Tenant Id (Obtained from the Azure portal. Select 'Endpoints' from the 'App registrations' blade and use the GUID in any of the URLs)]", - "ClientId": "[Enter the Client Id (Application ID obtained from the Azure portal)]", ++ "Domain": "[Enter the domain of your tenant, e.g. contoso.onmicrosoft.com]", ++ "TenantId": "[Enter 'common', or 'organizations' or the Tenant Id (Obtained from the Azure portal. Select 'Endpoints' from the 'App registrations' blade and use the GUID in any of the URLs)]", ++ "ClientId": "[Enter the Client Id (Application ID obtained from the Azure portal)]", "CallbackPath": "/signin-oidc" } ``` diff --git a/docs/_docs/solution-accelerators/samples/proactive-notifications.md b/docs/_docs/solution-accelerators/samples/proactive-notifications.md index 3e7e990195..8624994e36 100644 --- a/docs/_docs/solution-accelerators/samples/proactive-notifications.md +++ b/docs/_docs/solution-accelerators/samples/proactive-notifications.md @@ -1,7 +1,7 @@ --- category: Solution Accelerators subcategory: Samples -title: Proactive Notifications +title: Proactive notifications order: 2 toc: true --- @@ -20,7 +20,7 @@ This sample includes proactive notifications, enabling scenarios such as: - Initiate a proactive dialog with your users through an open channel such as Microsoft Teams (e.g., "Benefits enrollment just opened; would you like to know more about benefits?") -![Proactive Notifications sample architecture]({{site.baseurl}}/assets/images/ProactiveNotificationsDrawing.PNG) +![Proactive notifications sample architecture]({{site.baseurl}}/assets/images/ProactiveNotificationsDrawing.PNG) ### Event Producer {:.no_toc} @@ -69,3 +69,16 @@ The message the Event Handler sends to the bot is an event Activity, with the na ## Deploy Test + +## Next Steps + + \ No newline at end of file diff --git a/docs/_docs/solution-accelerators/tutorials/enable-proactive-notifications/1-intro.md b/docs/_docs/solution-accelerators/tutorials/enable-proactive-notifications/1-intro.md index e52ed432a3..4c5bb4ce30 100644 --- a/docs/_docs/solution-accelerators/tutorials/enable-proactive-notifications/1-intro.md +++ b/docs/_docs/solution-accelerators/tutorials/enable-proactive-notifications/1-intro.md @@ -20,7 +20,7 @@ Enable the proactive notifications sample on a Virtual Assistant, which demonstr - A user preference store in **Azure Cosmos DB** used by the function app to look up notification settings. - A Virtual Assistant project that handles incoming notification events. -![Enterprise Notifications sample architecture]({{site.baseurl}}/assets/images/enterprisenotifications-architecture.png) +![Proactive Notifications sample architecture]({{site.baseurl}}/assets/images/ProactiveNotificationsDrawing.PNG) ### Prerequisites #### Option: Using the Enterprise Assistant sample diff --git a/docs/_docs/virtual-assistant/handbook/architecture.md b/docs/_docs/virtual-assistant/handbook/architecture.md deleted file mode 100644 index d1d924d509..0000000000 --- a/docs/_docs/virtual-assistant/handbook/architecture.md +++ /dev/null @@ -1,68 +0,0 @@ ---- -category: Virtual Assistant -subcategory: Handbook -title: Architecture -description: Detailed documentation covering what the template provides and how it works -order: 1 -toc: true ---- - -# {{ page.title }} -{:.no_toc} -{{ page.description }} - -## Introduction -An architecture diagram of your Virtual Assistant created through the template is shown below along with a detailed explanation. - -![Virtual Assistant Architecture]({{site.baseurl}}/assets/images/virtualassistant-architecture.jpg) - -## Client Integration - -End-Users can make use of the Virtual Assistant through the support [Azure Bot Service Channels](https://docs.microsoft.com/en-us/azure/bot-service/bot-service-manage-channels?view=azure-bot-service-4.0) including WebChat or through the Direct Line API that provides the ability to integrate your assistant directly into a device, mobile app or any other client experience. - -Device integration requires creation of a lightweight host app which runs on the device. We have successfully built native applications across multiple embedded platforms including HTML5 applications. - -The host app is responsible for the following capabilities. These can of course be extended depending on the device capabilities. - - Open and closing the microphone has indicated through the InputHint on messages returned by the Assistant - - Audio playback of responses created by the Text-to-Speech service - - Rendering of Adaptive Cards on the device through a broad range of renderers supplied with the Adaptive Cards SDK - - Processing events received from the Assistant, often to perform on device operations (e.g. change navigation destination) - - Accessing the on-device secret store to store and retrieve a token for communication with the assistant - - Integration with the Unified Speech SDK where on-device speech capabilities are required - - Interface to the Direct-Line REST API or SDKs - - Authenticating the end user of the device and providing a unique userId to the Assistant. Microsoft has capabilities to help with this if needed. - -## Assistant Middleware - -The Assistant makes use of a number of Middleware Components to process incoming messages: - - Telemetry Middleware leverages Application Insights to store telemetry for incoming messages, LUIS evaluation and QNA activities. PowerBI can then use this data to surface conversational insights. - - Event Processing Middleware processes events sent by the device - - Content Moderator Middleware is an optional component that uses the Content Moderator Cognitive Service to detect inappropriate / PII content]] - -## Advanced Conversational Analytics - -The Assistant is configured to collect telemetry into Application Insights. [Learn how to set up your own Power BI dashboard]({{site.baseurl}}/virtual-assistant/tutorials/view-analytics/1-intro/). - -## Dialogs - -Dialogs represent conversational topics that the Assistant can handle, the template provides a `MainDialog`, `CancelDialog` and example `EscalateDialog`, `OnboardingDialog` dialogs. - -## Authentication - -The Assistant and associated Skills often need access to end-user authentication tokens in order to perform operations on behalf of the user. OAuth authentication providers are supported by the Azure Bot Service and provide the ability for you to configure providers such as Active Directory (for Office 365), Facebook or your own. - -Authentication connections are created on the Azure Bot Service and the Assistant makes use of these to initiate an authentication request (generating an OAuth signin card) or retrieve a token from the Azure Bot Service provided secure token store. - -Skills can request Authentication tokens for a given user when they are activated, this request is passed as an event to the Assistant which then uses the specific Authentication connection to surface an authentication request to the user if a token isn't found in the secure store. More detail on this is available [here]({{site.baseurl}}/reference/skills/skilltokenflow) - -## Linked Accounts - -Linked Accounts is a supporting web application that demonstrates how a user can link their Assistant to their digital properties (e.g. Office 365, Google, etc.) on a companion device (mobile phone or website). This would be done as part of the on-boarding process and avoids authentication prompts during voice scenarios. - -This integrates with the Authentication capability detailed above and provides a mechanism for a user to unlink all accounts which can be used as part of a device *forget me* feature. - -## Edge Enablement - -Many assistant scenarios require cloud-connectivity to access down-stream APIs or data sources (e.g. Office 365, Navigation data, Music Services, etc.). There are however a class of assistant scenarios especially those running on devices that may have periods of poor connectivity where pushing Speech, Language Processing and Dialog management onto the Edge (device) is needed. - -We have a number of options to address this depending on platform and are working with initial customers to deliver this capability. \ No newline at end of file diff --git a/docs/_docs/virtual-assistant/handbook/events.md b/docs/_docs/virtual-assistant/handbook/events.md index 885b1e5c1b..507a6dbcbf 100644 --- a/docs/_docs/virtual-assistant/handbook/events.md +++ b/docs/_docs/virtual-assistant/handbook/events.md @@ -77,7 +77,7 @@ You can request to remove all user state and unlink accounts by passing the **VA {:.no_toc} To be tightly integrated with a user's messaging client, a Virtual Assistant needs to send events back to the client application. -The **OpenDefaultApp** example event is used in conjunction with the [Virtual Assistant Client (Android) sample)]({{ site.baseurl }}/howto/samples/vaclient_android/) to demonstrate samples of using metadata +The **OpenDefaultApp** example event is used in conjunction with the [Virtual Assistant Client (Android) sample)]({{ site.baseurl }}/clients/virtual-assistant-client/) to demonstrate samples of using metadata **Activity payload** ```json diff --git a/docs/_docs/virtual-assistant/handbook/localization.md b/docs/_docs/virtual-assistant/handbook/localization.md index 1b9a464dea..2656d107fb 100644 --- a/docs/_docs/virtual-assistant/handbook/localization.md +++ b/docs/_docs/virtual-assistant/handbook/localization.md @@ -111,7 +111,7 @@ var cognitiveModels = _services.CognitiveModelSets[locale]; ``` ## Responses -Responses can be localized in a variety of ways. If you use resource files (.resx) the correct response will be chosen based on the CurrentUICulture. The ResponseManager class in Microsoft.Bot.Builder.Solutions can also be used to localize responses in the json format described [here]({{site.baseurl}}/reference/skills/responses). +Responses can be localized in a variety of ways. If you use resource files (.resx) the correct response will be chosen based on the CurrentUICulture. The ResponseManager class in Microsoft.Bot.Builder.Solutions can also be used to localize responses in the json format described [here]({{site.baseurl}}/skills/handbook/language-generation). ## Channel Support The localization approach is currently supported in the following channels: diff --git a/docs/_docs/virtual-assistant/handbook/migration.md b/docs/_docs/virtual-assistant/handbook/migration.md index 6f11d45511..c3d19f2f3f 100644 --- a/docs/_docs/virtual-assistant/handbook/migration.md +++ b/docs/_docs/virtual-assistant/handbook/migration.md @@ -17,7 +17,7 @@ The Enterprise Template, released last year, brought together the required capab Thanks to strong feedback from our customers, we are bringing the two approaches together. These complex, assistant-like conversational experiences are proving critical to digital transformation and customer/employee engagement. -The Enterprise Template is now the [Virtual Assistant Template]({{site.baseurl}}/overview/virtualassistant) and introduces the following capabilities: +The Enterprise Template is now the [Virtual Assistant Template]({{site.baseurl}}/overview/virtual-assistant-template) and introduces the following capabilities: - C# template simplified and aligned to ASP.NET MVC pattern with dependency injection - Typescript generator @@ -91,7 +91,7 @@ With these limitations addressed we have now moved to a ARM template based appro ### Deployment {:.no_toc} -It's recommended to deploy your new Virtual Assistant template using the [updated deployment approach]({{site.baseurl}}/tutorials/csharp/create-assistant/4_provision_your_azure_resources) which now support the ability for multi-locale conversational experiences and the new configuration files which replace the .bot file. This enables you to get started right away with no manual changes. +It's recommended to deploy your new Virtual Assistant template using the [updated deployment approach]({{site.baseurl}}/virtual-assistant/tutorials/create-assistant/csharp/4-provision-your-azure-resources) which now support the ability for multi-locale conversational experiences and the new configuration files which replace the .bot file. This enables you to get started right away with no manual changes. Alternatively if you wish to re-use existing deployed resources, you can alternatively take your existing .bot file, [decrypt the secrets](https://docs.microsoft.com/en-us/azure/bot-service/bot-file-basics?view=azure-bot-service-4.0&tabs=csharp) and manually move across existing Azure resource information into your new **appSettings.json** and **cognitiveModels.json** files. @@ -161,4 +161,4 @@ Copy any LuisGen-generated classes into the Services directory. ## Extend your assistant with Skills -If your assistant was based on the [Virtual Assistant (Beta Release 0.3) solution](https://github.com/microsoft/AI/releases/tag/0.3), continue with [adding back the Skills]({{site.baseurl}}/howto/skills/addingskills) \ No newline at end of file +If your assistant was based on the [Virtual Assistant (Beta Release 0.3) solution](https://github.com/microsoft/AI/releases/tag/0.3), continue with [adding back the Skills]({{site.baseurl}}/skills/handbook/add-skills-to-a-virtual-assistant/) diff --git a/docs/_docs/virtual-assistant/handbook/proactive.md b/docs/_docs/virtual-assistant/handbook/proactive.md deleted file mode 100644 index deceba25d5..0000000000 --- a/docs/_docs/virtual-assistant/handbook/proactive.md +++ /dev/null @@ -1,134 +0,0 @@ ---- -category: Virtual Assistant -subcategory: Handbook -title: Proactive -description: Send proactive messages to users -order: 8 -toc: true ---- - -# {{ page.title }} -{:.no_toc} -{{ page.description }} - -Proactive scenarios are a key part of ensuring a Virtual Assistant can provide more intelligent and helpful capabilities to end users. This enables a Virtual Assistant to move away from exclusively reactive (user initiated) scenarios towards more intelligent interactions triggered by external events that are known to be of interest to the end user. - -Example scenarios are as follows and will enable your assistant to stand out and provide unique capabilities to your users. - -- "You have a meeting coming up in a couple of minutes" -- "Here's your daily briefing" (as you start your car) -- "I know you have time in you calendar on the way home, how about picking up some items from your grocery list on your way?" - -## Implement a sample proactive scenario - -At this time, the Virtual Assistant provides one proactive scenario which is already implemented which can be used as a reference. When an client device (e.g. car) sends a **DeviceStart** event to the bot, it will query for upcoming events for the next hour. Within CalendarSkill, the dialog that handles this scenario is located here: [**UpcomingEventDialog.cs**]({{site.repo}}/blob/master/skills/src/csharp/calendarskill/calendarskill/Dialogs/UpcomingEventDialog.cs) - -> Note that the code samples we use below all come from this dialog implementation - -When developing using the Bot Framework SDK, you can utilize the adapter's **ContinueConversationAsync** function to patch into a previously started conversation. - -It's important to note that a user must already have had an interaction with the Bot for this proactive interaction to happen and a persistent chat canvas will be required in order to send messages back to the user. WebChat for example will close the conversation when the browser is closed, however a canvas such as Teams or a custom device can persist the same conversation over time. - -```csharp -await sc.Context.Adapter.ContinueConversationAsync(_endpointService.AppId, proactiveModel[MD5Util.ComputeHash(userId)].Conversation, UpcomingEventContinueConversationCallback(eventModel, sc), cancellationToken); -``` - -Inside the callback method, you can use the scoped `turnContext` to send outgoing activities: - -```csharp -return async (turnContext, token) => -{ - ... - await turnContext.SendActivityAsync(activity); -}; -``` - -This way if the previous conversation opened is still alive, the user will see the new message being sent into that conversation from the bot. - -In order to send a message to a previous conversation, you require a [**conversationReference** object](https://raw.githubusercontent.com/Microsoft/botbuilder-dotnet/89817b6b8db42726c9ffcf82bf40b4e66592b84f/libraries/Microsoft.Bot.Schema/ConversationReference.cs). To retrieve this you need to store conversation references within your solution. - -To make use of this middleware you need to register it within **Startup.cs** as shown below: - -```csharp -options.Middleware.Add(new ProactiveStateMiddleware(proactiveState)); -``` - -Along with declaring **ProactiveState** alongside your existing state objects: - -```csharp -var proactiveState = new ProactiveState(dataStore); -``` - -Once these steps are performed, after every turn the bot will store each users **ConversationReference** objects. Whenever you need to send message to an existing conversation, you can retrieve this reference. The stored conversation references are keyed by hashed (MD5) userId so when you retrieve it, you need to use the hashed userId to retrieve it from proactiveState: - -```csharp -var userId = activity.From.Id; -await sc.Context.Adapter.ContinueConversationAsync(_endpointService.AppId, proactiveModel[MD5Util.ComputeHash(userId)].Conversation, UpcomingEventContinueConversationCallback(eventModel, sc), cancellationToken);` -``` - -Once retrieved, you can then start processing your proactive scenarios. Virtual Assistant gives you two ways of doing it: - -- BackgroundTaskQueue -- ScheduledTask - -With **BackgroundTaskQueue**, you can use the **QueueBackgroundWorkItem** method to put the processing of an operation into a queue and the hosted service that handles the background tasks will retrieve this and run in a different thread. - -```csharp -_backgroundTaskQueue.QueueBackgroundWorkItem(async (token) => -{ - var handler = new CheckUpcomingEventHandler - { - CalendarService = calendarService - }; - await handler.Handle(UpcomingEventCallback(userId, sc, proactiveState)); -}); -``` - -In the **UpcomingEventCallback**, use the **ContinueConversationAsync** method on **turnContext.Adapter** to initiate the proactive call, as mentioned earlier. - -With **ScheduledTask**, you can use the **AddScheduledTask** method to create a new schedule for a certain task. You can use an expression to represent a schedule. Please refer to [NCrontab](https://github.com/atifaziz/NCrontab) for how to define an expression. - -To run a task at 12PM on every Monday, you can use the following: - -```csharp -_scheduledTask.AddScheduleTask(new ScheduledTaskModel { - ScheduleExpression = "0 12 * * Mon", - Task = async (ct) => { await _logger.Write("Happy Monday!"); } -} -``` - -With support from these task extensions you can easily perform operations in the background and send messages back to users whenever there's a signal to do so. Now we have a dialog that sends a proactive message back to the user in a previously opened conversation. Let's explore how the request is routed back to the skill. - -There's two approaches to trigger a proactive message scenario, just the same as any other reactive scenarios: Events and User Utterances. For the Virtual Assistant to know the mapping between an event and the skills, a new configuration file has been introduced: skillEvents.json. - -This file contains the mapping between an event and the skills that could consume it. We support multiple skills for one event enabling multiplexing. Its format is as follows: - -```json -{ - "skillEvents": [ - { - "event": "DeviceStart", - "skillId": [ "l_Calendar" ], - "parameters": {} - } - ] -} -``` - -The Virtual Assistant knows how to interpret this file, and route the events to different skills. It's then up to the skills to implement handling for those events. For example, CalendarSkill handles the DeviceStart event inside **MainDialog.cs**, in the **OnEventAsync** function. - -```csharp -case Events.DeviceStart: -{ - var skillOptions = new CalendarSkillDialogOptions - { - SkillMode = _skillMode, - }; - - await dc.BeginDialogAsync(nameof(UpcomingEventDialog), skillOptions); - - break; -} -``` - -To support performing proactive scenarios triggered from a user utterance, this can be achieved by training the language model with new intents and entities, refreshing the dispatcher, and creation of dialogs to handle that intent/entity and perform background processing which results in a proactive message being sent using the approach detailed above. \ No newline at end of file diff --git a/docs/_docs/virtual-assistant/handbook/responses.md b/docs/_docs/virtual-assistant/handbook/responses.md index 2d6a8050d1..2346f2da2b 100644 --- a/docs/_docs/virtual-assistant/handbook/responses.md +++ b/docs/_docs/virtual-assistant/handbook/responses.md @@ -19,11 +19,11 @@ The same Activity schema supports the attachment of User Experience elements thr ## Activity schema -The [Bot Framework Activity schema](https://github.com/Microsoft/BotBuilder/blob/master/specs/botframework-activity/botframework-activity.md) for the Azure Bot Service is an application-level representation of conversational actions made by humans and bots. This schema is used for all messages, including [Events]({{site.baseurl}}/reference/virtual-assistant/events). +The [Bot Framework Activity schema](https://github.com/Microsoft/BotBuilder/blob/master/specs/botframework-activity/botframework-activity.md) for the Azure Bot Service is an application-level representation of conversational actions made by humans and bots. This schema is used for all messages, including [Events]({{site.baseurl}}/virtual-assistant/handbook/events). ## Messages and Events -Messages are a specific Type of Activity set through the `ActivityType` property and relate to Messages to and from a user that should be shown/spoken. Events are a different `ActivityType` enabling messages to be *whispered* between the client and Bot and provide an elegant mechanism for the client to trigger events within the Virtual Assistant and vice versa to perform an operation on the device. More information is in the [events]({{site.baseurl}}/reference/virtual-assistant/events) section. +Messages are a specific Type of Activity set through the `ActivityType` property and relate to Messages to and from a user that should be shown/spoken. Events are a different `ActivityType` enabling messages to be *whispered* between the client and Bot and provide an elegant mechanism for the client to trigger events within the Virtual Assistant and vice versa to perform an operation on the device. More information is in the [events]({{site.baseurl}}/virtual-assistant/handbook/events) section. ## Adaptive Cards diff --git a/docs/_docs/virtual-assistant/handbook/testing.md b/docs/_docs/virtual-assistant/handbook/testing.md index 936f5aa021..13af1e7543 100644 --- a/docs/_docs/virtual-assistant/handbook/testing.md +++ b/docs/_docs/virtual-assistant/handbook/testing.md @@ -14,7 +14,7 @@ toc: true ## Unit Testing -Take advantage of the Test project that is available when you [Create a New Skill]({{site.baseurl}}/tutorials/csharp/create-skill/1_intro). +Take advantage of the Test project that is available when you [Create a New Skill]({{site.baseurl}}/skills/tutorials/create-skill/csharp/1-intro). Follow along with the Flow tests to see a basic usage of how to mock activities from a user and validate the bot responses. If you'd like to take this further, you can explore the tests of a published skill for a deep dive on APIs, mocking LUIS, and more. @@ -23,7 +23,7 @@ If you'd like to take this further, you can explore the tests of a published ski ### Bot Framework Emulator {:.no_toc} -The Bot Framework Emulator can be used by opening the .bot file provided within the Project directory. You must have completed the [deployment steps]({{site.baseurl}}/tutorials/csharp/create-assistant/4_provision_your_azure_resources) first and should ensure you have the [latest emulator](https://aka.ms/botframework-emulator) installed. +The Bot Framework Emulator can be used by opening the .bot file provided within the Project directory. You must have completed the [deployment steps]({{site.baseurl}}/virtual-assistant/tutorials/create-assistant/csharp/4-provision-your-azure-resources) first and should ensure you have the [latest emulator](https://aka.ms/botframework-emulator) installed. > Authentication scenarios cannot be fully tested within the Emulator at this time. The Web Test Harness provides a workaround for this. diff --git a/docs/_docs/virtual-assistant/tutorials/create-assistant/csharp/1-intro.md b/docs/_docs/virtual-assistant/tutorials/create-assistant/csharp/1-intro.md index 6cf4591d0a..476c9fc019 100644 --- a/docs/_docs/virtual-assistant/tutorials/create-assistant/csharp/1-intro.md +++ b/docs/_docs/virtual-assistant/tutorials/create-assistant/csharp/1-intro.md @@ -1,7 +1,7 @@ --- layout: tutorial category: Virtual Assistant -subcategory: Create a Virtual Assistant +subcategory: Create language: C# title: Intro order: 1 diff --git a/docs/_docs/virtual-assistant/tutorials/create-assistant/csharp/2-download-and-install.md b/docs/_docs/virtual-assistant/tutorials/create-assistant/csharp/2-download-and-install.md index c2765d5588..3b35463b9b 100644 --- a/docs/_docs/virtual-assistant/tutorials/create-assistant/csharp/2-download-and-install.md +++ b/docs/_docs/virtual-assistant/tutorials/create-assistant/csharp/2-download-and-install.md @@ -1,7 +1,7 @@ --- layout: tutorial category: Virtual Assistant -subcategory: Create a Virtual Assistant +subcategory: Create language: C# title: Download and install order: 2 diff --git a/docs/_docs/virtual-assistant/tutorials/create-assistant/csharp/3-create-project.md b/docs/_docs/virtual-assistant/tutorials/create-assistant/csharp/3-create-project.md index 890b68822d..b31c168ec7 100644 --- a/docs/_docs/virtual-assistant/tutorials/create-assistant/csharp/3-create-project.md +++ b/docs/_docs/virtual-assistant/tutorials/create-assistant/csharp/3-create-project.md @@ -1,7 +1,7 @@ --- layout: tutorial category: Virtual Assistant -subcategory: Create a Virtual Assistant +subcategory: Create language: C# title: Create your assistant order: 3 diff --git a/docs/_docs/virtual-assistant/tutorials/create-assistant/csharp/4-provision-your-azure-resources.md b/docs/_docs/virtual-assistant/tutorials/create-assistant/csharp/4-provision-your-azure-resources.md index ab040e5086..1823f22f48 100644 --- a/docs/_docs/virtual-assistant/tutorials/create-assistant/csharp/4-provision-your-azure-resources.md +++ b/docs/_docs/virtual-assistant/tutorials/create-assistant/csharp/4-provision-your-azure-resources.md @@ -1,7 +1,7 @@ --- layout: tutorial category: Virtual Assistant -subcategory: Create a Virtual Assistant +subcategory: Create language: C# title: Provision your Azure resources order: 4 @@ -36,4 +36,4 @@ The Virtual Assistant requires the following Azure dependencies to run correctly appPassword | The password for the [Azure Active Directory App](https://ms.portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview) that will be used by your bot. It must be at least 16 characters long, contain at least 1 special character, and contain at least 1 numeric character. If using an existing app, this must be the existing password. | **Yes** luisAuthoringKey | The authoring key for your LUIS account. It can be found at https://www.luis.ai/user/settings or https://eu.luis.ai/user/settings | **Yes** -You can find more detailed deployment steps including customization in the [Virtual Assistant and Skill Template deployment]({{site.baseurl}}/reference/virtual-assistant/deploymentscripts/) page. +You can find more detailed deployment steps including customization in the [Virtual Assistant and Skill Template deployment]({{site.baseurl}}/help/reference/deployment-scripts//) page. diff --git a/docs/_docs/virtual-assistant/tutorials/create-assistant/csharp/5-run-your-assistant.md b/docs/_docs/virtual-assistant/tutorials/create-assistant/csharp/5-run-your-assistant.md index 7e50440582..7bbb99db63 100644 --- a/docs/_docs/virtual-assistant/tutorials/create-assistant/csharp/5-run-your-assistant.md +++ b/docs/_docs/virtual-assistant/tutorials/create-assistant/csharp/5-run-your-assistant.md @@ -1,7 +1,7 @@ --- layout: tutorial category: Virtual Assistant -subcategory: Create a Virtual Assistant +subcategory: Create language: C# title: Run your assistant order: 5 diff --git a/docs/_docs/virtual-assistant/tutorials/create-assistant/csharp/6-next-steps.md b/docs/_docs/virtual-assistant/tutorials/create-assistant/csharp/6-next-steps.md index 0cc045b110..ca1a5a6f8a 100644 --- a/docs/_docs/virtual-assistant/tutorials/create-assistant/csharp/6-next-steps.md +++ b/docs/_docs/virtual-assistant/tutorials/create-assistant/csharp/6-next-steps.md @@ -1,7 +1,7 @@ --- layout: tutorial category: Virtual Assistant -subcategory: Create a Virtual Assistant +subcategory: Create language: C# title: Next steps order: 6 diff --git a/docs/_docs/virtual-assistant/tutorials/create-assistant/typescript/1-intro.md b/docs/_docs/virtual-assistant/tutorials/create-assistant/typescript/1-intro.md index f9fe529249..1bbef63b5d 100644 --- a/docs/_docs/virtual-assistant/tutorials/create-assistant/typescript/1-intro.md +++ b/docs/_docs/virtual-assistant/tutorials/create-assistant/typescript/1-intro.md @@ -1,7 +1,7 @@ --- layout: tutorial category: Virtual Assistant -subcategory: Create a Virtual Assistant +subcategory: Create language: TypeScript title: Intro order: 1 diff --git a/docs/_docs/virtual-assistant/tutorials/create-assistant/typescript/2-download-and-install.md b/docs/_docs/virtual-assistant/tutorials/create-assistant/typescript/2-download-and-install.md index 517751d5a4..d78c880483 100644 --- a/docs/_docs/virtual-assistant/tutorials/create-assistant/typescript/2-download-and-install.md +++ b/docs/_docs/virtual-assistant/tutorials/create-assistant/typescript/2-download-and-install.md @@ -1,7 +1,7 @@ --- layout: tutorial category: Virtual Assistant -subcategory: Create a Virtual Assistant +subcategory: Create language: TypeScript title: Download and install order: 2 diff --git a/docs/_docs/virtual-assistant/tutorials/create-assistant/typescript/3-create-project.md b/docs/_docs/virtual-assistant/tutorials/create-assistant/typescript/3-create-project.md index 8b05c8cb1b..608daa545c 100644 --- a/docs/_docs/virtual-assistant/tutorials/create-assistant/typescript/3-create-project.md +++ b/docs/_docs/virtual-assistant/tutorials/create-assistant/typescript/3-create-project.md @@ -1,7 +1,7 @@ --- layout: tutorial category: Virtual Assistant -subcategory: Create a Virtual Assistant +subcategory: Create language: TypeScript title: Create your assistant order: 3 diff --git a/docs/_docs/virtual-assistant/tutorials/create-assistant/typescript/4-provision-you-azure-resources.md b/docs/_docs/virtual-assistant/tutorials/create-assistant/typescript/4-provision-you-azure-resources.md index f7fe3c3924..414f8955c8 100644 --- a/docs/_docs/virtual-assistant/tutorials/create-assistant/typescript/4-provision-you-azure-resources.md +++ b/docs/_docs/virtual-assistant/tutorials/create-assistant/typescript/4-provision-you-azure-resources.md @@ -1,7 +1,7 @@ --- layout: tutorial category: Virtual Assistant -subcategory: Create a Virtual Assistant +subcategory: Create language: TypeScript title: Provision your Azure resources order: 4 @@ -36,4 +36,4 @@ The Virtual Assistant requires the following Azure dependencies to run correctly appPassword | The password for the [Azure Active Directory App](https://ms.portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview) that will be used by your bot. It must be at least 16 characters long, contain at least 1 special character, and contain at least 1 numeric character. If using an existing app, this must be the existing password. | **Yes** luisAuthoringKey | The authoring key for your LUIS account. It can be found at https://www.luis.ai/user/settings or https://eu.luis.ai/user/settings | **Yes** -You can find more detailed deployment steps including customization in the [Virtual Assistant and Skill Template deployment]({{site.baseurl}}/reference/virtual-assistant/deploymentscripts/) page. +You can find more detailed deployment steps including customization in the [Virtual Assistant and Skill Template deployment]({{site.baseurl}}/help/reference/deployment-scripts//) page. diff --git a/docs/_docs/virtual-assistant/tutorials/create-assistant/typescript/5-run-your-assistant.md b/docs/_docs/virtual-assistant/tutorials/create-assistant/typescript/5-run-your-assistant.md index 408a8daa79..ea4af959d3 100644 --- a/docs/_docs/virtual-assistant/tutorials/create-assistant/typescript/5-run-your-assistant.md +++ b/docs/_docs/virtual-assistant/tutorials/create-assistant/typescript/5-run-your-assistant.md @@ -1,7 +1,7 @@ --- layout: tutorial category: Virtual Assistant -subcategory: Create a Virtual Assistant +subcategory: Create language: TypeScript title: Run your assistant order: 5 diff --git a/docs/_docs/virtual-assistant/tutorials/create-assistant/typescript/6-next-steps.md b/docs/_docs/virtual-assistant/tutorials/create-assistant/typescript/6-next-steps.md index 0142facae2..6c8e9aabec 100644 --- a/docs/_docs/virtual-assistant/tutorials/create-assistant/typescript/6-next-steps.md +++ b/docs/_docs/virtual-assistant/tutorials/create-assistant/typescript/6-next-steps.md @@ -1,7 +1,7 @@ --- layout: tutorial category: Virtual Assistant -subcategory: Create a Virtual Assistant +subcategory: Create language: TypeScript title: Next steps order: 6 diff --git a/docs/_docs/virtual-assistant/tutorials/customize-assistant/csharp/1-intro.md b/docs/_docs/virtual-assistant/tutorials/customize-assistant/csharp/1-intro.md index 432677d99e..84fccaa78f 100644 --- a/docs/_docs/virtual-assistant/tutorials/customize-assistant/csharp/1-intro.md +++ b/docs/_docs/virtual-assistant/tutorials/customize-assistant/csharp/1-intro.md @@ -1,7 +1,7 @@ --- layout: tutorial category: Virtual Assistant -subcategory: Customize a Virtual Assistant +subcategory: Customize language: C# title: Intro order: 1 diff --git a/docs/_docs/virtual-assistant/tutorials/customize-assistant/csharp/2-edit-your-greeting.md b/docs/_docs/virtual-assistant/tutorials/customize-assistant/csharp/2-edit-your-greeting.md index fcb4d87980..28d4317ced 100644 --- a/docs/_docs/virtual-assistant/tutorials/customize-assistant/csharp/2-edit-your-greeting.md +++ b/docs/_docs/virtual-assistant/tutorials/customize-assistant/csharp/2-edit-your-greeting.md @@ -1,7 +1,7 @@ --- layout: tutorial category: Virtual Assistant -subcategory: Customize a Virtual Assistant +subcategory: Customize language: C# title: Edit your greeting order: 2 diff --git a/docs/_docs/virtual-assistant/tutorials/customize-assistant/csharp/3-edit-responses.md b/docs/_docs/virtual-assistant/tutorials/customize-assistant/csharp/3-edit-responses.md index b83a5d99cd..ab4146f9e4 100644 --- a/docs/_docs/virtual-assistant/tutorials/customize-assistant/csharp/3-edit-responses.md +++ b/docs/_docs/virtual-assistant/tutorials/customize-assistant/csharp/3-edit-responses.md @@ -1,7 +1,7 @@ --- layout: tutorial category: Virtual Assistant -subcategory: Customize a Virtual Assistant +subcategory: Customize language: C# title: Edit your responses order: 3 diff --git a/docs/_docs/virtual-assistant/tutorials/customize-assistant/csharp/4-edit-your-cognitive-models.md b/docs/_docs/virtual-assistant/tutorials/customize-assistant/csharp/4-edit-your-cognitive-models.md index 9bebeb6578..8f1e8a6526 100644 --- a/docs/_docs/virtual-assistant/tutorials/customize-assistant/csharp/4-edit-your-cognitive-models.md +++ b/docs/_docs/virtual-assistant/tutorials/customize-assistant/csharp/4-edit-your-cognitive-models.md @@ -1,7 +1,7 @@ --- layout: tutorial category: Virtual Assistant -subcategory: Customize a Virtual Assistant +subcategory: Customize language: C# title: Edit your cognitive models order: 4 diff --git a/docs/_docs/virtual-assistant/tutorials/customize-assistant/csharp/5-next-steps.md b/docs/_docs/virtual-assistant/tutorials/customize-assistant/csharp/5-next-steps.md index 3168e0fbbd..d26e90de73 100644 --- a/docs/_docs/virtual-assistant/tutorials/customize-assistant/csharp/5-next-steps.md +++ b/docs/_docs/virtual-assistant/tutorials/customize-assistant/csharp/5-next-steps.md @@ -1,7 +1,7 @@ --- layout: tutorial category: Virtual Assistant -subcategory: Customize a Virtual Assistant +subcategory: Customize language: C# title: Next steps order: 5 diff --git a/docs/_docs/virtual-assistant/tutorials/customize-assistant/typescript/1-intro.md b/docs/_docs/virtual-assistant/tutorials/customize-assistant/typescript/1-intro.md index 8455e33299..e1526d9cdf 100644 --- a/docs/_docs/virtual-assistant/tutorials/customize-assistant/typescript/1-intro.md +++ b/docs/_docs/virtual-assistant/tutorials/customize-assistant/typescript/1-intro.md @@ -1,7 +1,7 @@ --- layout: tutorial category: Virtual Assistant -subcategory: Customize a Virtual Assistant +subcategory: Customize language: TypeScript title: Intro order: 1 diff --git a/docs/_docs/virtual-assistant/tutorials/customize-assistant/typescript/2-edit-your-greeting.md b/docs/_docs/virtual-assistant/tutorials/customize-assistant/typescript/2-edit-your-greeting.md index 41d16736da..4ba34c3df0 100644 --- a/docs/_docs/virtual-assistant/tutorials/customize-assistant/typescript/2-edit-your-greeting.md +++ b/docs/_docs/virtual-assistant/tutorials/customize-assistant/typescript/2-edit-your-greeting.md @@ -1,7 +1,7 @@ --- layout: tutorial category: Virtual Assistant -subcategory: Customize a Virtual Assistant +subcategory: Customize language: TypeScript title: Edit your greeting order: 2 diff --git a/docs/_docs/virtual-assistant/tutorials/customize-assistant/typescript/3-edit-responses.md b/docs/_docs/virtual-assistant/tutorials/customize-assistant/typescript/3-edit-responses.md index d18d848522..9a7a1c3b0f 100644 --- a/docs/_docs/virtual-assistant/tutorials/customize-assistant/typescript/3-edit-responses.md +++ b/docs/_docs/virtual-assistant/tutorials/customize-assistant/typescript/3-edit-responses.md @@ -1,7 +1,7 @@ --- layout: tutorial category: Virtual Assistant -subcategory: Customize a Virtual Assistant +subcategory: Customize language: TypeScript title: Edit your responses order: 3 diff --git a/docs/_docs/virtual-assistant/tutorials/customize-assistant/typescript/4-edit-your-cognitive-models.md b/docs/_docs/virtual-assistant/tutorials/customize-assistant/typescript/4-edit-your-cognitive-models.md index a2e0540c08..bf8cd2bea9 100644 --- a/docs/_docs/virtual-assistant/tutorials/customize-assistant/typescript/4-edit-your-cognitive-models.md +++ b/docs/_docs/virtual-assistant/tutorials/customize-assistant/typescript/4-edit-your-cognitive-models.md @@ -1,7 +1,7 @@ --- layout: tutorial category: Virtual Assistant -subcategory: Customize a Virtual Assistant +subcategory: Customize language: TypeScript title: Edit your cognitive models order: 4 diff --git a/docs/_docs/virtual-assistant/tutorials/customize-assistant/typescript/5-next-steps.md b/docs/_docs/virtual-assistant/tutorials/customize-assistant/typescript/5-next-steps.md index 9281ff5e5e..3b6311a978 100644 --- a/docs/_docs/virtual-assistant/tutorials/customize-assistant/typescript/5-next-steps.md +++ b/docs/_docs/virtual-assistant/tutorials/customize-assistant/typescript/5-next-steps.md @@ -1,7 +1,7 @@ --- layout: tutorial category: Virtual Assistant -subcategory: Customize a Virtual Assistant +subcategory: Customize language: TypeScript title: Next steps order: 5 diff --git a/docs/_docs/virtual-assistant/tutorials/deploy-assistant/cli/1-intro.md b/docs/_docs/virtual-assistant/tutorials/deploy-assistant/cli/1-intro.md index 369ad8c9fd..ceb650cf00 100644 --- a/docs/_docs/virtual-assistant/tutorials/deploy-assistant/cli/1-intro.md +++ b/docs/_docs/virtual-assistant/tutorials/deploy-assistant/cli/1-intro.md @@ -1,7 +1,7 @@ --- layout: tutorial category: Virtual Assistant -subcategory: Deploy a Virtual Assistant +subcategory: Deploy language: Using CLI tools title: Intro order: 1 @@ -11,12 +11,13 @@ order: 1 ## {{page.title}} ### Purpose -The Virtual Assistant comes with a set of scripts to simplify the deployment process. However, if you'd like to manually deploy and configure your assistant, you can follow these steps. +The Virtual Assistant comes with a set of scripts to simplify the deployment process. It is recommended that you [create a Virtual Assistant]({{site.baseurl}}/virtual-assistant/tutorials/create-assistant/csharp/1-intro) that way. However, if you'd like to manually deploy and configure your assistant, you can follow these steps. ### Prerequisites - ### Time To Complete -XX minutes +10 minutes ### Scenario + +Deploy Virtual Assistant resources manually by using CLI tools. \ No newline at end of file diff --git a/docs/_docs/virtual-assistant/tutorials/deploy-assistant/cli/2-create-msa-app-registration.md b/docs/_docs/virtual-assistant/tutorials/deploy-assistant/cli/2-create-msa-app-registration.md index af165a5d2c..9838d72f0b 100644 --- a/docs/_docs/virtual-assistant/tutorials/deploy-assistant/cli/2-create-msa-app-registration.md +++ b/docs/_docs/virtual-assistant/tutorials/deploy-assistant/cli/2-create-msa-app-registration.md @@ -1,7 +1,7 @@ --- layout: tutorial category: Virtual Assistant -subcategory: Deploy a Virtual Assistant +subcategory: Deploy language: Using CLI tools title: Create Microsoft App registration order: 2 diff --git a/docs/_docs/virtual-assistant/tutorials/deploy-assistant/cli/3-deploy-arm-template.md b/docs/_docs/virtual-assistant/tutorials/deploy-assistant/cli/3-deploy-arm-template.md index 6eb080871d..9ad6a47f54 100644 --- a/docs/_docs/virtual-assistant/tutorials/deploy-assistant/cli/3-deploy-arm-template.md +++ b/docs/_docs/virtual-assistant/tutorials/deploy-assistant/cli/3-deploy-arm-template.md @@ -1,7 +1,7 @@ --- layout: tutorial category: Virtual Assistant -subcategory: Deploy a Virtual Assistant +subcategory: Deploy language: Using CLI tools title: Deploy an Azure Resource Manager (ARM) templates order: 3 diff --git a/docs/_docs/virtual-assistant/tutorials/deploy-assistant/cli/4-update-application-settings.md b/docs/_docs/virtual-assistant/tutorials/deploy-assistant/cli/4-update-application-settings.md index d65432f869..ee648087fa 100644 --- a/docs/_docs/virtual-assistant/tutorials/deploy-assistant/cli/4-update-application-settings.md +++ b/docs/_docs/virtual-assistant/tutorials/deploy-assistant/cli/4-update-application-settings.md @@ -1,7 +1,7 @@ --- layout: tutorial category: Virtual Assistant -subcategory: Deploy a Virtual Assistant +subcategory: Deploy language: Using CLI tools title: Update application settings order: 4 diff --git a/docs/_docs/virtual-assistant/tutorials/deploy-assistant/cli/5-deploy-luis-models.md b/docs/_docs/virtual-assistant/tutorials/deploy-assistant/cli/5-deploy-luis-models.md index 5f062128a6..455d52407f 100644 --- a/docs/_docs/virtual-assistant/tutorials/deploy-assistant/cli/5-deploy-luis-models.md +++ b/docs/_docs/virtual-assistant/tutorials/deploy-assistant/cli/5-deploy-luis-models.md @@ -1,7 +1,7 @@ --- layout: tutorial category: Virtual Assistant -subcategory: Deploy a Virtual Assistant +subcategory: Deploy language: Using CLI tools title: Deploy LUIS models order: 5 diff --git a/docs/_docs/virtual-assistant/tutorials/deploy-assistant/cli/6-deploy-qna-maker-knowledgebases.md b/docs/_docs/virtual-assistant/tutorials/deploy-assistant/cli/6-deploy-qna-maker-knowledgebases.md index f6aed668d2..92b3c2afa1 100644 --- a/docs/_docs/virtual-assistant/tutorials/deploy-assistant/cli/6-deploy-qna-maker-knowledgebases.md +++ b/docs/_docs/virtual-assistant/tutorials/deploy-assistant/cli/6-deploy-qna-maker-knowledgebases.md @@ -1,7 +1,7 @@ --- layout: tutorial category: Virtual Assistant -subcategory: Deploy a Virtual Assistant +subcategory: Deploy language: Using CLI tools title: Deploy QnA Maker knowledge bases order: 6 diff --git a/docs/_docs/virtual-assistant/tutorials/deploy-assistant/cli/7-create-dispatch-model.md b/docs/_docs/virtual-assistant/tutorials/deploy-assistant/cli/7-create-dispatch-model.md index 2c0159ce28..3e990d80fa 100644 --- a/docs/_docs/virtual-assistant/tutorials/deploy-assistant/cli/7-create-dispatch-model.md +++ b/docs/_docs/virtual-assistant/tutorials/deploy-assistant/cli/7-create-dispatch-model.md @@ -1,7 +1,7 @@ --- layout: tutorial category: Virtual Assistant -subcategory: Deploy a Virtual Assistant +subcategory: Deploy language: Using CLI tools title: Create a Dispatch LUIS model order: 7 diff --git a/docs/_docs/virtual-assistant/tutorials/deploy-assistant/web/1-intro.md b/docs/_docs/virtual-assistant/tutorials/deploy-assistant/web/1-intro.md index a017933df4..bad5ac3441 100644 --- a/docs/_docs/virtual-assistant/tutorials/deploy-assistant/web/1-intro.md +++ b/docs/_docs/virtual-assistant/tutorials/deploy-assistant/web/1-intro.md @@ -1,7 +1,7 @@ --- layout: tutorial category: Virtual Assistant -subcategory: Deploy a Virtual Assistant +subcategory: Deploy language: Using the web title: Intro order: 1 @@ -9,14 +9,15 @@ order: 1 # Tutorial: {{page.subcategory}} ({{page.language}}) ## {{page.title}} -The Virtual Assistant comes with a set of scripts to simplify the deployment process. However, if you'd like to manually deploy and configure your assistant, you can follow these steps. ### Purpose +The Virtual Assistant comes with a set of scripts to simplify the deployment process. It is recommended that you [create a Virtual Assistant]({{site.baseurl}}/virtual-assistant/tutorials/create-assistant/csharp/1-intro) that way. However, if you'd like to manually deploy and configure your assistant, you can follow these steps. ### Prerequisites - ### Time To Complete -XX minutes +10 minutes ### Scenario + +Deploy Virtual Assistant resources manually by using the web. \ No newline at end of file diff --git a/docs/_docs/virtual-assistant/tutorials/deploy-assistant/web/2-create-msa-app-registration.md b/docs/_docs/virtual-assistant/tutorials/deploy-assistant/web/2-create-msa-app-registration.md index f1f4e7ea1e..7944d5e372 100644 --- a/docs/_docs/virtual-assistant/tutorials/deploy-assistant/web/2-create-msa-app-registration.md +++ b/docs/_docs/virtual-assistant/tutorials/deploy-assistant/web/2-create-msa-app-registration.md @@ -1,7 +1,7 @@ --- layout: tutorial category: Virtual Assistant -subcategory: Deploy a Virtual Assistant +subcategory: Deploy language: Using the web title: Create Microsoft App registration order: 2 diff --git a/docs/_docs/virtual-assistant/tutorials/deploy-assistant/web/3-deploy-arm-template.md b/docs/_docs/virtual-assistant/tutorials/deploy-assistant/web/3-deploy-arm-template.md index e4cbdcc34e..65c96afbb7 100644 --- a/docs/_docs/virtual-assistant/tutorials/deploy-assistant/web/3-deploy-arm-template.md +++ b/docs/_docs/virtual-assistant/tutorials/deploy-assistant/web/3-deploy-arm-template.md @@ -1,7 +1,7 @@ --- layout: tutorial category: Virtual Assistant -subcategory: Deploy a Virtual Assistant +subcategory: Deploy language: Using the web title: Deploy an Azure Resource Manager (ARM) templates order: 3 diff --git a/docs/_docs/virtual-assistant/tutorials/deploy-assistant/web/4-update-application-settings.md b/docs/_docs/virtual-assistant/tutorials/deploy-assistant/web/4-update-application-settings.md index 856fce4323..48d245f6f4 100644 --- a/docs/_docs/virtual-assistant/tutorials/deploy-assistant/web/4-update-application-settings.md +++ b/docs/_docs/virtual-assistant/tutorials/deploy-assistant/web/4-update-application-settings.md @@ -1,7 +1,7 @@ --- layout: tutorial category: Virtual Assistant -subcategory: Deploy a Virtual Assistant +subcategory: Deploy language: Using the web title: Update application settings order: 4 diff --git a/docs/_docs/virtual-assistant/tutorials/deploy-assistant/web/5-deploy-luis-models.md b/docs/_docs/virtual-assistant/tutorials/deploy-assistant/web/5-deploy-luis-models.md index a2e6ed96b4..491b053fd3 100644 --- a/docs/_docs/virtual-assistant/tutorials/deploy-assistant/web/5-deploy-luis-models.md +++ b/docs/_docs/virtual-assistant/tutorials/deploy-assistant/web/5-deploy-luis-models.md @@ -1,7 +1,7 @@ --- layout: tutorial category: Virtual Assistant -subcategory: Deploy a Virtual Assistant +subcategory: Deploy language: Using the web title: Deploy LUIS models order: 5 diff --git a/docs/_docs/virtual-assistant/tutorials/deploy-assistant/web/6-deploy-qna-maker-knowledgebases.md b/docs/_docs/virtual-assistant/tutorials/deploy-assistant/web/6-deploy-qna-maker-knowledgebases.md index 73c6f78049..b2ad4eff51 100644 --- a/docs/_docs/virtual-assistant/tutorials/deploy-assistant/web/6-deploy-qna-maker-knowledgebases.md +++ b/docs/_docs/virtual-assistant/tutorials/deploy-assistant/web/6-deploy-qna-maker-knowledgebases.md @@ -1,7 +1,7 @@ --- layout: tutorial category: Virtual Assistant -subcategory: Deploy a Virtual Assistant +subcategory: Deploy language: Using the web title: Deploy QnA Maker knowledge bases order: 6 diff --git a/docs/_docs/virtual-assistant/tutorials/deploy-assistant/web/7-create-dispatch-model.md b/docs/_docs/virtual-assistant/tutorials/deploy-assistant/web/7-create-dispatch-model.md index fb3c132d09..a0662c44d8 100644 --- a/docs/_docs/virtual-assistant/tutorials/deploy-assistant/web/7-create-dispatch-model.md +++ b/docs/_docs/virtual-assistant/tutorials/deploy-assistant/web/7-create-dispatch-model.md @@ -1,7 +1,7 @@ --- layout: tutorial category: Virtual Assistant -subcategory: Deploy a Virtual Assistant +subcategory: Deploy language: Using the web title: Create a Dispatch LUIS model order: 7 diff --git a/docs/assets/images/icons/notification.png b/docs/assets/images/icons/notification.png new file mode 100644 index 0000000000..cd4a776fe4 Binary files /dev/null and b/docs/assets/images/icons/notification.png differ diff --git a/docs/index.md b/docs/index.md index 7398ff63f2..a9f680e8bb 100644 --- a/docs/index.md +++ b/docs/index.md @@ -20,7 +20,7 @@ title: Bot Framework Solutions Documentation

Extend your assistant with reusable conversational Skills to add common functionality such as collection of re-usable conversational skills enabling you to add functionality to a Virtual Assistant. Try the sample Skills available like Calendar, Email, To Do, Point of Interest, and more.

- +
Analytics icon

Analytics

@@ -33,7 +33,7 @@ title: Bot Framework Solutions Documentation For Ignite 2019 we are releasing the v0.7 of the **Virtual Assistant**. We focused on providing support for the latest updates from Bot Framework SDK v4.6, enabling Language Generation (LG), a new documentation site to share tutorials and references, scenarios that support an Enterprise Assistant, and more. -You can get more details in the [What's New overview]({{site.baseurl}}/overview/whats-new). +Learn more in the [what's new]({{site.baseurl}}/overview/whats-new) overview. ## Step-by-Step Tutorials
@@ -83,15 +83,15 @@ You can get more details in the [What's New overview]({{site.baseurl}}/overview/
Get started
- +
Speech icon -

Enable Speech

-

Enable the Microsoft Speech Channel for your assistant.

+

Extend to Direct Line Speech

+

Enable speech for your assistant.

Get started
- +
Microsoft Teams icon

Extend to Microsoft Teams

@@ -104,7 +104,7 @@ You can get more details in the [What's New overview]({{site.baseurl}}/overview/ ## Need help? For questions please start with [Stack Overflow](https://stackoverflow.com/questions/tagged/botframework) where we're happy to help. -If you are running into an issue, please refer to our [Known Issues]({{ site.baseurl }}/reference/knownissues) documentation where we've compiled some common problems and solutions first. If your problem is not listed, please use our [GitHub](https://aka.ms/bfsolutions) to raise [issues](https://github.com/microsoft/botframework-solutions/issues/new?assignees=&labels=Needs+Triage%2C+Type%3A+Bug&template=bug_report.md&title=) or [feature requests](https://github.com/microsoft/botframework-solutions/issues/new?assignees=&labels=Needs+Triage%2C+Type%3A+Suggestion&template=feature_request.md&title=). +If you are running into an issue, please refer to the [known issues]({{site.baseurl}}/help/known-issues/) documentation where we've compiled some common problems and solutions first. If your problem is not listed, please use our [GitHub](https://aka.ms/bfsolutions) to raise [issues](https://github.com/microsoft/botframework-solutions/issues/new?assignees=&labels=Needs+Triage%2C+Type%3A+Bug&template=bug_report.md&title=) or [feature requests](https://github.com/microsoft/botframework-solutions/issues/new?assignees=&labels=Needs+Triage%2C+Type%3A+Suggestion&template=feature_request.md&title=). ## License {:.no_toc}