In a previous post I spoke about connecting a Bot with a third party channel (i.e. Facebook Messenger).
Connecting a Bot to Microsoft’s specific channels is even easier because you do not need to create/add specific tokens. In his post I will take into account Cortana and Skype channels.
To add the Cortana channel, you only need to configure a few things, among them the Invocation name you have to use when talking with Cortana.
Note that you must use your Microsoft personal Account (the one you use to login into your PC, and not a possible company Microsoft account using your firm LDAP for authentication … otherwise you cannot connect a bot to Cortana. Moreover you will be able to launch that bot with Cortana, from a device where you are logged with the same your Microsoft personal account. Moreover, as I will point out, it seems to work only with the English Cortana version (at least for my experience and possibly for the time being).
Ones the Cortana channel is running (green Running word on the Health column), you can ask Cortana on yout PC to run the bot (e.g. saying: “run ‘bot name’ ” … in my case ‘run test‘ having chosen the word ‘test’ as Invocation name for my bot.
Note that I succeeded to make it work on my PC with Windows 10 in English (even though the region is set to Italy), while on my Surface, with Windows 10 in Italian and being logged with the same my Microsoft personal account, it seems not recognize any command I do to run the bot: Saying, for example “Lancia ‘botname’ ” (e.g. “lancia test“) Cortana asks what local app I want to run or it launch one whenever there is an installed one with a name closed to that bot name. May be could be a current limitation of Cortana in languages other than English, but possibly I am using a wrong command …
I did not succeeded to fine that list for languages other than the one for en-us : that page is neither available in different languages, other than English. I tried to translate the same words from that English list in Italian … but I never will be sure that they are the expected translations … The only page related how to use Cortana in Italian seems to be this page , from the help support site, containing only a short video in English (being only a translation of an English original page)!!
In the following there are some screenshots I took launching my example ‘test’ bot with Cortana on my Windows 10 PC (set with English as Windows display language): I simply asked “Run test“. Only the first time she ask me the permission to connect with provaB2 bot. Then, every input I give to Cortana is processed by that bot (that simply reply “You said: ‘same phrase’ ”
As for every bot, you can manage each connected channel using either the Bot Framework site (MyBots section) or the Azure portal (where you deployed your bot).
If don’t necessarily want to use Cortana as a possible channel for your Bot, but your intent is more to build a speech-enabled Bot with Cortana skills, whenever are the used connected channels, in the following there are some useful links:
- Build a speech-enabled bot with Cortana skills
- Speech Support in Bot Framework – Webchat to Directline, to Cortana
- Cortana Skill Demo Event Bot (GitHub code)
- Conversations as a Platform with Azure Bot Service and Cortana Intelligence
The Skype channel is added by default as soon as you register a bot in the Bot Framework portal but to have it added as a contact in your Skype account, for testing purposes, you need to click on the Skype link and accept to have it: on the contrary, if you click on the Edit link on the right, you will be able to get some code (Web Control) to lets you embed the bot in your own website or to stat the publication process that requires a review of the bot. If approved it will be considered in Skype bot directory (unless you have selected the option to Hide from Directory). Bots in Preview are limited to 100 contacts. If you need more than 100 contacts, you need to Publish your bot and then distribute it to unlimited users via a URL or button.
To find the test bot, you can possibly click on the contacts icons on the right ot the Search box (just on the right of the magnifying glass) and then select the Bots tab.
The only way I found to let other contacts of mine try to use the test bot, is to share it from its profile page:
I noticed that, after some hours nobody use a bot (e.g. my test bot provaB2) it answer to the first request after a lot of time (even 15 seconds or more) … as it was discarded and then recovered from the memory. Then, it started again to answer nearly in real time … I noticed this kind of delay only with the Skype channel and it should be investigated furthermore.