Microsoft Bot Framework and Microsoft Teams at SharePoint Saturday NL 2017

Preview:

Citation preview

IntegratievanMicrosoftTeamsmethetBotFrameworkenoverigeAzurediensten

M A N A G E R D E V E L O P M E N T

S A N D E R

B O S M A NP R I N C I P A L D E V E L O P E R

M I C H A Ë L

H O M P U SS R . S O L U T I O N A R C H I T E C T

R E M C O

P L O E G

Agenda

WatishetBotFramework?Eencustom datasource:deSmartCampusEenslimmerebotinMicrosoftTeamsEen aantal bestpractices

WatishetBotFramework?

Watiseenbot?TYPE TALK TAP

Cortana

Bing

Facebook Messenger Skype

Bot Builder

Platform Services

Intelligent Tools

Beschikbare channels

Waar‘leven’(Microsoft)bots?

MicrosoftBotFramework

3rd Party

Doelen• Simpelstarten,daarnacomplexiteittoevoegen• Gerichtopdegebruiker

BotControls

LUIS

QueryoverdatabaseviaAzureSearch

FormFilling

QnA

C #

Customer’sBusiness Logic &

DataBot Connector

Web Chat

Cortana

Bing

Direct LineSkype for Business

Skype

Wat? • Toolkit• Servicesdiejezelfkanverrijken• Mechanismesvoorhetontvangenvanevents• Debuggenenanalyseren

Waarom? • Implementatievanstandardprotocollen• Cards:UIovermeerderekanalen• LanguageUnderstandingislastig• Commonpatterns

Dynamic CardsO p e n f r a m e w o r kM u l t i p l e c a n v a s e s

Notification MicrosoftTeams Skype Android iOS

AzureBotService

AzureBotService

OpbasisvanAzureFunctionsC#ofNode.jsConsumptionplan• Payonlywhenyourfunctionsarerunning• Scaleoutautomatically,evenduringperiodsofhighload

Komt standaard metAnalytics(ApplicationInsights)

https://docs.microsoft.com/en-us/bot-framework/azure/azure-bot-service-quickstart

AzureBotService

Demo

AzureBotService

QnA Maker

QnA Maker

QnA Maker

AzureBotService- Code

AzureBotService– WebChat

AzureBotService– WebSkype

BotBuilderSDKfor.NET

BotBuilderSDKfor.NET

OpbasisvanASP.NETWebAPIAppServiceplan• PayfordedicateVM,costdependsonsize,perinstance• Scaleoutmanually,orenableautoscale

https://docs.microsoft.com/en-us/bot-framework/dotnet/bot-builder-dotnet-quickstart

AuthBotBotmetAzureADauthenticatie

AuthBot

AuthBot isa.NETlibraryforAzureActiveDirectoryauthenticationonbotsbuiltviaMicrosoftBotFrameworkExtendsWebAPIbasedbots

https://github.com/MicrosoftDX/AuthBot

BotmetAzureADauthenticatie

Demo

AzureAppService

AzureADApp

ASP.NETWebAPI– web.config

BotFramework

ASP.NETWebAPI– web.config

VisualStudio– Publish

Skype– AzureADauthenticatie

Een customdatasource:deSmartCampus

Decasevanvandaag

Endpoints:

TableStorage/Blobs

AzureFunctions

StreamAnalyticsAzure

ActiveDirectory

IoTHub

AppService

PowerBI

Welketechnologieën?

MicrosoftTeams

BotFramework

MicrosoftPowerApps

Een slimmere botinMicrosoftTeams

Introductie

MicrosoftTeamsAppPlatform

Available now

BotsHelpusersgettasks

doneinconversations

ConnectorsPostrichupdates

tochannels

TabsSurfacerich

contentwithinTeams

OfficeStore

DriveengagementbysubmittingyourapptotheOfficeStore

Actionable Messages

Addrichinteractiontoyourconnector

cards

Activity Feed

Engageusersviafeed

notifications

Compose Extensions

Allowuserstoqueryandsharerichcardsin

conversations

Available in Developer Preview

Tabs

ConnectorswithActionableMessages

Push rich interactive cards into channels

Users can take quick actions like comment, select options, set a date

Uses incoming webhook API

Fully supported in both Teams and Outlook

Activityfeed

Persoonlijk notificaties via de activity feed

Zelfde API als voor de Bots integratie

Deep links naar tabs

ComposeExtensions

Store

Bots

Bots make it easy for users to interact with your app in Team conversations or 1:1

Built using Microsoft Bot Framework

Complete tasks via basic commands, menu or natural language

Rich Microsoft Teams features, e.g.ü Input menusü Dynamic message updatesü Integrate with tabs

MicrosoftTeamsmetBotFramework

Demo

MicrosoftTeamsmetBotFramework

MicrosoftTeamsmetBotFramework

MicrosoftTeamsmetBotFramework

MicrosoftTeamsmetBotFramework

Botbeschikbaar maken binnen een Team

Drie mogelijkheden:1. Creëer directeen custombot2. Maak een sideload packagevoor een bestaande bot:

• https://msdn.microsoft.com/en-us/microsoft-teams/createpackage

3. Publiceer BotinOfficeStore(DeveloperPreview)

Botbinnen een Team- Sideloading

Botbinnen een Team- Sideloading

Botbinnen een Team

BotFrameworkmetLUIS

LanguageUnderstandingIntelligentService

https://www.luis.ai

BotFrameworkmetLUIS

Demo

BotFrameworkmetLUIS

BotFrameworkmetLUIS

BotFrameworkmetLUIS

BotFrameworkmetLUIS

BotFrameworkmetLUIS

BotFrameworkmet LUIS

Aantalbestpractices

BP1:Teveel openvragen

Hallogebruiker!Hoekanikjehelpen?

1 vraag

100 verschillende dingen die je kan doen (intents)

100 verschillende voorbeelden per intent

Gebruikers raden ongeveer 3 van de 100 dingen.

B2:Menustructuur

Hallogebruiker!Hoekanik je helpen?

Evenementen

Stages

Voorzieningen

Welkeevenementenbenjeingeïnteresseerd?

Music

Comedy

Film

LaserDome

Spectacles

Theater

Welkemuziekvindjeleuk?(BTW,devolgendekeerkanjegewoonzeggen:“IkzoeknaarartistXYZ”endanzoekikdirectnaardieartist!

B3:Ontwerpombegrepenteworden(1)Stelgeslotenvragen:• Maakgebruikvanbuttonswaarmogelijk

Tochopenvragen?Stelzedangoed• Geefvoorbeeldenwatjebedoeld• Helpjegebruiker

B4:Ontwerpombegrepenteworden(2)Supportzoveelalsmogelijkformaten• 2mei,2017,Mei2,5/2,5/2/2017,Dinsdag,Vandaag,VolgendeWeek

Laatjegebruikersnietstrandeningesprekken

Geefdegebruikerdemogelijkheidomhulptevragen• Welke‘vragen’kanikstellen• Toegangtoteenechtperson

BP5:Mentionsbinnen Teams

Wanneer je het Bot Framework binnen een Team conversatie gebruikt moet je altijd een mention gebruiken om een vraag te stellen aan de Bot.

Deze mentions zitten dan ook altijd in de message die je ontvangt als bot. Met simpele tekst vergelijkingen, voor acties zoals login, logout, etc. Kan dit lastig zijn en dan is het beter om deze te filteren.

Het LUIS framework gaat hier overigens al wel goed mee om.

BotFrameworkRoadmap 2017

MicrosoftBotFrameworkRoadmap 2017BotBuilder

Protocols&Services&Channels

BotIntelligence

AzureBotServicev2

Speech Support

Ecosystem Integrations(Flow, PowerApps, ++)

Bot Brain

Bot Controls++

GA

GA

GA

GA

Analytics++

Regions++, Channels++

SDK V.Next

Localization

Adaptive Cards Bot Federation Compliance

May Aug Nov

Regions++, Languages++, Domains++ ML Dialogs

Pattern Support

Faster TrainingMulti-Developer

Prebuilt Domains

Speech Services++

Public PreviewPrivate Preview

Thanksforattending

Recommended