Date post: | 22-Jan-2018 |
Category: |
Technology |
Upload: | remco-ploeg |
View: | 955 times |
Download: | 1 times |
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