Bouw je eigen Bot in Microsoft Teams & Skype (stap voor stap)

Eind vorig jaar schreef ik een blog met daarin een voorspelling over Bots in Microsoft Teams. Hierin benoemde ik de mogelijk om zelf aan de slag te gaan met het maken van een eigen Bot. In het (verre) verleden (2004) heb ik ooit een bot gemaakt die je SharePoint kon laten doorzoeken met behulp van Live Communication Server (LCS), de verre voorloper van Skype voor Bedrijven.

bitspraakbot4

Met de mogelijkheid om Bots te bouwen in Microsoft Teams, is het een stuk eenvoudiger geworden om hiermee aan de slag te gaan. In een uurtje tijd lukte het me om een eigen bot te maken, deze in Azure uit te rollen, en deze vervolgens in Microsoft Teams, Skype en Skype voor bedrijven te gebruiken! Een korte samenvatting:

Bouwen van je Bot
Een goed startpunt is de Bot Builder SDK for .Net te gebruiken. Hier heb je de mogelijkheid om drie zip bestanden te downloaden die een Bot template beschikbaar maken in Visual Studio 2017.bitspraakbot5Tevens wordt er een link gelegd naar de Bot emulator, waarmee je je eigen Bot offline kan testen. Als je alles binnen hebt, kan je een nieuw project starten. Ik kan in dit artikel niet te veel in op de logica van een Bot, maar je kan heel eenvoudig je eerste logica toevoegen. bitspraakbot6

Testen van je Bot
Je kan de Bot testen door de emulator te gebruiken. Debug je project en voer het Bot ‘endpoint’ in, in de emulator. Het endpoint is van belang; via dit kanaal communiceert je Bot straks met Teams of Skype. Het endpoint bevindt zich op: https://[url]/api/messages

Registratie van je Bot
Bij het verbinden met je Bot, werk je met een application ID en een wachtwoord. Deze kan je zelf genereren en aanpassen in de web.config van het project, maar omdat je Bot straks ook online geregistreerd wordt, is het handig deze registratie eerst uit te voeren. Ga hiervoor naar https://dev.botframework.com/bots, en maak een nieuwe Bot aan. Je geeft tijdens deze registratie aan wat je Bot is en doet, de afbeeldingen van je Bot, en je endpoint. Tevens genereer je een ID en wachtwoord. Deze heb je op verschillende plekken nodig.

Uitrollen van je Bot
Nadat je registratie van je Bot klaar is, je het ID en wachtwoord in de web.config hebt geregistreerd hebt, en je de Bot werkend gezien hebt in de emulator, kan je de Bot uitrollen naar bijvoorbeeld Azure. Dit gaat eenvoudig via de publicatie optie in Visual Studio. Let er wel op dat je Bot communiceert over een beveiligde verbinding (https). Uiteraard is dit standaard binnen een Azure Web app.

Kanalen configureren
Je bot is gepubliceerd in Azure, en je kan nu beginnen met het configureren van de kanalen waar je Bot over mag communiceren. In mijn geval stel ik de Bot beschikbaar in Microsoft Teams, Skype en Skype voor Bedrijven. Het is een kwestie van aanzetten in je Bot configuratie online.

bitspraakbot7

Je Bot gebruiken in Microsoft Teams
Het is mogelijk om je Bot nu te gebruiken in Teams. Hiervoor is het handig om de Teams App Studio te downloaden. Met deze tool maak je eenvoudig een package (.zip) zodat je deze kan toevoegen in Teams.

bitspraakbot8.png

Ook hier gebruik je weer de ID en gegevens van je Bot. Uiteindelijk package je de Bot en wordt een .zip bestand gegenereerd welke gebruikers kunnen gebruiken om je Bot toe te voegen. Omdat het een test betreft, is dit de makkelijkste manier om je Bot te gebruiken. Uiteraard kan je de Bot, indien deze voldoet aan bepaalde eisen, ook publiceren in de Store van Microsoft.

Gebruikers kunnen nu de .zip gebruiken om de Bot toe te voegen. Selecteer hiervoor in de Store de optie ‘Een aangepaste app uploaden’ (linksonder in het menu).

bitspraakbot9

Je Bot is vervolgens beschikbaar in je Chat scherm, of in het Team waaraan je de Bot toevoegt.

bitspraakbot

Je Bot gebruiken in Skype
Het is eenvoudig je Bot te gebruiken in Skype (voor consumenten). Bij het activeren van het kanaal online, krijg je een URL. Door deze URL aan te klikken wordt de Bot toegevoegd aan je contacten in Skype. Je kan de Bot daarna direct gebruiken

bitspraakbot3

Je Bot gebruiken in Skype voor Bedrijven
Je Bot beschikbaar stellen in Skype voor Bedrijven binnen je organisatie kan je centraal regelen. Dit kan vooralsnog alleen via PowerShell. De handleiding hiervoor staat hier beschreven: https://skypeappregistration.azurewebsites.net/bot/93640d52-ac94-47c9-8609-2c985b8fd1b2. In feite registreer je de Bot in Skype onder een eigen account (bijvoorbeeld: bot@bitspraak.nl).  Het kan tot 8 uur duren voordat de Bot bij alle gebruikers beschikbaar is.

bitspraakbot2

Conclusie
Het maken van een Bot is relatief eenvoudig, als je tenminste de logica van je Bot buiten beschouwing laat. Hoewel je een bewerkelijk aantal stappen moet zetten om je Bot werkend te krijgen, zijn de stappen niet heel lastig. De uitdaging ligt vooral bij het ‘intelligent’ maken van je Bot.

De toepassingen van een Bot zijn natuurlijk legio: informatie opvragen, simpele taken uitvoeren, etc. Doordat je Bot in Teams of Skype aanwezig is, kan je makkelijk ook onderweg via je telefoon je Bot benaderen.

Op dit moment bevat mijn Bot nog niet veel handigheidjes. De komende tijd zal ik daarom af en toe een update geven van de vorderingen van de Bitspraak Bot. Mocht je intussen vragen hebben, laat het mij dan weten!

Microsoft Teams: waarom ‘bots’ het in 2018 (nog niet) gaan worden

In 2017 kriebelde het al, maar in 2018 wordt het ‘hot’: bots in Microsoft Teams. Bots (in de context van Office 365) zijn eigenlijk digitale gesprekspartners in Microsoft Teams. Het is in Teams mogelijk om bots toe te voegen aan je conversaties, waardoor je gesprekken kan voeren met deze digitale hulpjes.

Niet alleen is het mogelijk om informatie op te vragen aan de bot via een chatscherm, maar het is ook mogelijk om de bot bepaalde taken te laten uitvoeren. Denk bijvoorbeeld aan het inplannen van een vergadering, of nog interessanter, het aftrappen van een Flow.

De gebruiker doet dit door de bot een opdracht te geven, en aan de achterkant wordt de opdracht vertaald in een digitale actie met behulp van code. Een krachtige combinatie, waarmee je veel werk kan digitaliseren en laten afhandelen.

Er is op dit moment een aantal bots beschikbaar, echter vrijwel allemaal Engelstalig. Kom er achter welke bots je in Teams kan toevoegen, door te klikken op ‘Chat’ en dan te klikken in de zoekbalk.

bots_toevoegen

Je kan vervolgens een scala aan bots toevoegen.

bots_toevoegen2

En je kan de bot vervolgens gebruiken:

bots_gebruiken

Er is echter een aantal zaken waar je rekening mee zal moeten houden. Het gebruik van bots heeft ook een aantal aandachtspunten.

  1. Bots zijn vaak nog ‘dom’. Bots zijn stukjes code. Deze code moet jouw tekst gaan ontleden in omzetten in een actie. Ondanks dat er vele diensten zijn die tekst (redelijk goed) kunnen interpreteren, blijft het lastig dit op een goede manier te doen.
  2. Goede bots maken gebruik van A.I.. Een goede bot leert van zichzelf en van anderen. Zo wordt de bot steeds beter in het begrijpen van tekst en beeld en het uitvoeren van opdrachten. Als een bot zelf leert, noemt men dit ook wel Artificial Intelligence, oftewel A.I.. Hoewel het erg complex is om dit te maken, komen bedrijven als Facebook en Google toch wel erg dichtbij. Zo dichtbij, dat letterlijk de stekker uit het experiment getrokken is.
  3. Bots in Teams willen vaak toegang tot je data. Als een bot iets moet doen voor je, moet de bot daarvoor wel de juiste rechten hebben om de actie uit te voeren. Denk bijvoorbeeld aan toegang tot je agenda om een afspraak in te plannen, of voldoende rechten om een Flow af te trappen. Hier wordt het ‘spannend’. Hoe weet je dat dit het enige is wat de bot doet? Hoe weet je dat je data waar de bot toegang toe heeft niet opgeslagen wordt of gebruikt wordt? Hoeveel rechten heb je eigenlijk in Office 365? Hoewel je snel in allerlei theorieën terecht kan komen, is dit weldegelijk een aandachtspunt. Ik raad daarom graag het boek ‘Je hebt wél iets te verbergen‘ aan. Een gewaarschuwd mens telt voor twee… bots_gebruiken2
  4. Er is terechte ‘angst’ bij gebruikers. Een bot heeft te maken met gebruikers. Indien een bot een opdracht niet begrijpt of verkeerde conclusies trekt uit je tekst, dan ontstaat er snel argwaan bij gebruikers. Wat gebeurt er in je agenda als een bot een afspraak inplant op de verkeerde tijd? Hou rekening met gebruikers die bots niet leuk vinden. In Office 365 voegt een gebruiker zelf een bot toe en heeft dit dus zelf in de hand. Let daarom wel op dat de taken die door een bot uitgevoerd worden, ook op andere manier geïnitieerd kunnen worden.

Het is goed een bot te vergelijken met bijvoorbeeld Siri van Apple of Cortana van Microsoft. Deze digitale assistenten kunnen je helpen met het uitvoeren van simpele taken. Maar ook vaak wordt de vraag of opdracht niet goed begrepen. Het geeft aan hoe moeilijk het is een goede bot te maken.

En wat betreft de bot functionaliteit in Microsoft Teams? Het is een mooie toevoeging en het biedt veel mogelijkheden! Probeer het eens uit en voor de meer technische lezers, maak je eigen bot!