{"id":4019,"date":"2018-12-17T14:02:29","date_gmt":"2018-12-17T19:02:29","guid":{"rendered":"http:\/\/lisa.rushworth.us\/?p=4019"},"modified":"2018-12-17T14:49:53","modified_gmt":"2018-12-17T19:49:53","slug":"microsoft-teams-creating-a-bot","status":"publish","type":"post","link":"https:\/\/www.rushworth.us\/lisa\/?p=4019","title":{"rendered":"Microsoft Teams: Creating A Bot"},"content":{"rendered":"\n<p>Before you start, understand how billing works for Microsoft\u2019s cloud services. There are generally free tiers for selections, but they are resource limited. When you first start with the Azure magic cloudy stuff, you get a 200$ credit. A message indicating your remaining credit is shown when you log into the Azure portal. Pay attention to that message \u2013 if you think you are using free tiers for everything but see your credit decreasing \u2026you\u2019ll need to investigate. Some features, like usage analytics, cost extra too. <\/p>\n\n\n\n<p>Microsoft Teams uses Azure bots \u2013 so you\u2019ll need to create an Azure bot to get started. From <a href=\"https:\/\/portal.azure.com\">https:\/\/portal.azure.com<\/a>, click on \u2018Create a resource\u2019. Search for \u201cbot\u201d and find the bots you are looking for. To host your bot on Azure, select either the \u201cFunctions Bot\u2019 or \u201cWeb App Bot\u201d. Functions bots use Azure functions, which are C# scripts, for logic processing; WebApp bots use WebAPI App Service for logic processing (C# or NodeJS). To host your bot elsewhere, select &#8220;Bot Channels Registration&#8221;. In this example, we are using a \u201cWeb App Bot\u201d.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"320\" src=\"http:\/\/lisa.rushworth.us\/wp-content\/uploads\/2018\/12\/Teams-CreateABot01-1024x320.png\" alt=\"\" class=\"wp-image-4020\" srcset=\"https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot01-1024x320.png 1024w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot01-300x94.png 300w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot01-768x240.png 768w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot01.png 1915w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Give your bot a name\u2013 there will be a green check if the name is unique. Pick your language \u2013 C# or Node.JS \u2013 and then decide if you want an Echo bot (which gives you a starting place if you\u2019re new to developing bots) or a blank slate (basic bot). Don\u2019t forget to click \u201cSelect\u201d otherwise you\u2019ll be back to the defaults. You\u2019ll need to create a resource group. Click on \u201cBot template\u201d and select what you want to use as the basis for your bot. As of 14 Dec 2018, use v3 unless you need something new in v4 \u2013 there\u2019s a lot more available there, and the Bot Builder extensions only work with v3 (<a href=\"https:\/\/github.com\/OfficeDev\/BotBuilder-MicrosoftTeams\">https:\/\/github.com\/OfficeDev\/BotBuilder-MicrosoftTeams<\/a>)<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"661\" height=\"789\" src=\"http:\/\/lisa.rushworth.us\/wp-content\/uploads\/2018\/12\/Teams-CreateABot02.png\" alt=\"\" class=\"wp-image-4021\" srcset=\"https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot02.png 661w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot02-251x300.png 251w\" sizes=\"auto, (max-width: 661px) 100vw, 661px\" \/><\/figure>\n\n\n\n<p>You may need to create a service plan<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"425\" src=\"http:\/\/lisa.rushworth.us\/wp-content\/uploads\/2018\/12\/Teams-CreateABot03-1024x425.png\" alt=\"\" class=\"wp-image-4022\" srcset=\"https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot03-1024x425.png 1024w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot03-300x125.png 300w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot03-768x319.png 768w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot03.png 1173w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>And storage configuration. Once you have completed the bot configuration, click \u201cCreate\u201d and Azure will deploy resources for your bot. <\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"758\" src=\"http:\/\/lisa.rushworth.us\/wp-content\/uploads\/2018\/12\/Teams-CreateABot04-1024x758.png\" alt=\"\" class=\"wp-image-4023\" srcset=\"https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot04-1024x758.png 1024w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot04-300x222.png 300w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot04-768x569.png 768w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot04.png 1125w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>You\u2019ll see a deployment process message, and your messages will have a similar notification. Wait a minute or three. <\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"292\" src=\"http:\/\/lisa.rushworth.us\/wp-content\/uploads\/2018\/12\/Teams-CreateABot05-1024x292.png\" alt=\"\" class=\"wp-image-4024\" srcset=\"https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot05-1024x292.png 1024w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot05-300x86.png 300w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot05-768x219.png 768w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot05.png 1293w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Return to the dashboard &amp; you\u2019ll see your bot services. Go into the bot that you just created.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"473\" height=\"506\" src=\"http:\/\/lisa.rushworth.us\/wp-content\/uploads\/2018\/12\/Teams-CreateABot07.png\" alt=\"\" class=\"wp-image-4026\" srcset=\"https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot07.png 473w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot07-280x300.png 280w\" sizes=\"auto, (max-width: 473px) 100vw, 473px\" \/><\/figure>\n\n\n\n<p>Select \u201cBuild\u201d \u2013 you can use the online code editor or use an existing source repository and configure a continuous integration. I will be setting up a continuous integration \u2013 <em>don\u2019t\u00a0<\/em>click the link under \u201cPublish\u201d, it goes to an old resource. Click to download the source code \u2013 it takes a minute to generate a zip file for download.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"366\" src=\"http:\/\/lisa.rushworth.us\/wp-content\/uploads\/2018\/12\/Teams-CreateABot08-1024x366.png\" alt=\"\" class=\"wp-image-4027\" srcset=\"https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot08-1024x366.png 1024w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot08-300x107.png 300w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot08-768x275.png 768w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot08.png 1635w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Once the download link is available, download and extract the file \u2013 this will be the base of your project. Put it somewhere \u2013 in this example, I\u2019ll be using <a rel=\"noreferrer noopener\" aria-label=\"Once the download link is available, download and extract the file \u2013 this will be the base of your project. Put it somewhere \u2013 in this example, I\u2019ll be using a GitHub project. \u00a0 (opens in a new tab)\" href=\"https:\/\/github.com\/ljr55555\/winBotSample\" target=\"_blank\">a GitHub project<\/a>. Extract the zip file and get the content into your source repository.\u00a0<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"423\" src=\"http:\/\/lisa.rushworth.us\/wp-content\/uploads\/2018\/12\/Teams-CreateABot08b-1024x423.png\" alt=\"\" class=\"wp-image-4028\" srcset=\"https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot08b-1024x423.png 1024w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot08b-300x124.png 300w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot08b-768x317.png 768w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot08b.png 1180w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Return to your dashboard and open the App Service for your bot. Select the \u201cDeployment Center\u201d. <\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"538\" src=\"http:\/\/lisa.rushworth.us\/wp-content\/uploads\/2018\/12\/Teams-CreateABot09-1024x538.png\" alt=\"\" class=\"wp-image-4029\" srcset=\"https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot09-1024x538.png 1024w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot09-300x158.png 300w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot09-768x403.png 768w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot09.png 1639w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Select the appropriate source repository. When GitHub is used, you will need to sign in and grant access for Azure to use your GitHub account. Click \u201cContinue\u201d once the repository has been set up.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"658\" src=\"http:\/\/lisa.rushworth.us\/wp-content\/uploads\/2018\/12\/Teams-CreateABot11-1024x658.png\" alt=\"\" class=\"wp-image-4030\" srcset=\"https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot11-1024x658.png 1024w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot11-300x193.png 300w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot11-768x493.png 768w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot11.png 1235w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Select the build provider \u2013 <a href=\"https:\/\/github.com\/projectkudu\/kudu\/wiki\">Kudu<\/a> or <a href=\"https:\/\/azure.microsoft.com\/en-us\/services\/devops\/pipelines\/\">Azure Pipelines<\/a>. Which one \u2013 that\u2019s a personal preference. Azure Pipelines can deploy code stored in git (at least GitHub, never tried other Git services). Kudu can build code housed in Azure DevOps. Kudu has a debugging console that I find useful, and I\u2019ve successfully <a href=\"https:\/\/github.com\/projectkudu\/kudu\/wiki\/Continuous-deployment#setting-up-continuous-deployment-using-manual-steps\">linked Kudu up with GitLab<\/a> to manage the build process elsewhere. Azure Pipelines is integrated with the rest of the Azure DevOps (hosted TFS) stuff, which is an obvious advantage to anyone already using Azure DevOps. It uses WebDeploy to deploy artifacts to your Azure websites (again, an advantage to anyone already doing this elsewhere). <\/p>\n\n\n\n<p>The two build environments can be different \u2013 MS doesn\u2019t concurrently update SDK\u2019s in each environment, so there can be version differences. It\u2019s <em>possible<\/em> to have a build fail in one that works in the other. Settings defined in one platform don\u2019t have any meaning if you switch to the other platform (i.e. you\u2019ll be moving app settings into a Build Definition file if you want to switch from Kudu to Azure Pipelines) so it\u2019s not always super quick to swing over to the other build provider, but it might be an option. <\/p>\n\n\n\n<p>I prefer Kudu, so I\u2019ll be using it here. <\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"712\" src=\"http:\/\/lisa.rushworth.us\/wp-content\/uploads\/2018\/12\/Teams-CreateABot12-1024x712.png\" alt=\"\" class=\"wp-image-4031\" srcset=\"https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot12-1024x712.png 1024w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot12-300x209.png 300w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot12-768x534.png 768w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot12.png 1175w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Select your repository name from the drop-down, then select the project and branch you want to use for deployment. In <a href=\"https:\/\/github.com\/ljr55555\/winBotSample\">my repository<\/a>, the master branch has functional code and there is a working branch for making and testing changes. <\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"704\" src=\"http:\/\/lisa.rushworth.us\/wp-content\/uploads\/2018\/12\/Teams-CreateABot13-1024x704.png\" alt=\"\" class=\"wp-image-4032\" srcset=\"https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot13-1024x704.png 1024w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot13-300x206.png 300w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot13-768x528.png 768w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot13.png 1235w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Review the summary and click \u201cFinish\u201d. <\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"685\" src=\"http:\/\/lisa.rushworth.us\/wp-content\/uploads\/2018\/12\/Teams-CreateABot14-1024x685.png\" alt=\"\" class=\"wp-image-4033\" srcset=\"https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot14-1024x685.png 1024w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot14-300x201.png 300w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot14-768x514.png 768w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot14.png 1239w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>In GitHub, you confirm a webhook has been added to your project on push events. From your project\u2019s settings tab, select \u201cWebhooks\u201d and look for a azurewebsites URL that includes your bot name. You can view the results of these webhook calls by clicking \u201cEdit\u201d and scrolling down to \u201cRecent deliveries\u201d. <\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"454\" src=\"http:\/\/lisa.rushworth.us\/wp-content\/uploads\/2018\/12\/Teams-CreateABot15-1024x454.png\" alt=\"\" class=\"wp-image-4034\" srcset=\"https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot15-1024x454.png 1024w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot15-300x133.png 300w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot15-768x340.png 768w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot15.png 1365w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Add the interactions you want \u2013 information needs to be accessible from the Azure network, otherwise your bot won\u2019t be able to get there. You can test your bot from the Azure portal to identify anything that works fine from your local computer but fails from the cloud. From the Web App Bot (<strong>*note* <\/strong>we are no longer in the App Service on the Azure portal &#8212; you need to select the bot resource), select \u201cTest in Web Chat\u201d and interact with your bot. <\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"538\" src=\"http:\/\/lisa.rushworth.us\/wp-content\/uploads\/2018\/12\/Teams-CreateABot16-1024x538.png\" alt=\"\" class=\"wp-image-4035\" srcset=\"https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot16-1024x538.png 1024w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot16-300x157.png 300w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot16-768x403.png 768w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot16.png 1621w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Once you have your bot working, you need to add the Teams channel to allow the bot to be used from Teams. Select \u201cChannels\u201d and click on the Teams logo.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"531\" src=\"http:\/\/lisa.rushworth.us\/wp-content\/uploads\/2018\/12\/Teams-CreateABot19-1024x531.png\" alt=\"\" class=\"wp-image-4036\" srcset=\"https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot19-1024x531.png 1024w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot19-300x156.png 300w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot19-768x398.png 768w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot19.png 1621w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>There\u2019s not much to set up for a bot \u2013 messaging is enabled by default. I don\u2019t want IVR or real-time media functionality \u2026 but if you do click on the \u201cCalling\u201d tab. The \u201cPublish\u201d tab is to publish your bot in the Windows store \u2013 this might be a consideration, for instance, if you wanted to create a customer service interaction bot that enterprise customers could add to their Teams spaces (i.e. something you <em>want<\/em> random people to find and use). Since I am answering employee specific questions, I do not want to publish this bot to the Internet. Click &#8220;Save&#8221; when you have configured the channel as needed (in my case, just click &#8216;save&#8217; without doing anything).<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"541\" src=\"http:\/\/lisa.rushworth.us\/wp-content\/uploads\/2018\/12\/Teams-CreateABot20-1024x541.png\" alt=\"\" class=\"wp-image-4037\" srcset=\"https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot20-1024x541.png 1024w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot20-300x158.png 300w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot20-768x405.png 768w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot20.png 1627w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Review the publication terms and privacy statement. If these are agreeable, click \u201cAgree\u201d. <\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"819\" height=\"393\" src=\"http:\/\/lisa.rushworth.us\/wp-content\/uploads\/2018\/12\/Teams-CreateABot21.png\" alt=\"\" class=\"wp-image-4038\" srcset=\"https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot21.png 819w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot21-300x144.png 300w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot21-768x369.png 768w\" sizes=\"auto, (max-width: 819px) 100vw, 819px\" \/><\/figure>\n\n\n\n<p>You\u2019ll be returned to the Channels overview. Click on the hyperlinked \u201cMicrosoft Teams\u201d \u2013 this will open a new URL that is your bot. <\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"385\" src=\"http:\/\/lisa.rushworth.us\/wp-content\/uploads\/2018\/12\/Teams-CreateABot22-1024x385.png\" alt=\"\" class=\"wp-image-4039\" srcset=\"https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot22-1024x385.png 1024w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot22-300x113.png 300w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot22-768x289.png 768w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot22.png 1285w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>You can copy the URL here \u2013 others can use the same URL to use your bot. Either open the link in the Teams app<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"218\" src=\"http:\/\/lisa.rushworth.us\/wp-content\/uploads\/2018\/12\/Teams-CreateABot23-1024x218.png\" alt=\"\" class=\"wp-image-4040\" srcset=\"https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot23-1024x218.png 1024w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot23-300x64.png 300w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot23-768x163.png 768w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot23.png 1293w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Or cancel and click \u201cUse the web app instead\u201d at the bottom of the screen. <\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"821\" height=\"351\" src=\"http:\/\/lisa.rushworth.us\/wp-content\/uploads\/2018\/12\/Teams-CreateABot24.png\" alt=\"\" class=\"wp-image-4041\" srcset=\"https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot24.png 821w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot24-300x128.png 300w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot24-768x328.png 768w\" sizes=\"auto, (max-width: 821px) 100vw, 821px\" \/><\/figure>\n\n\n\n<p>Wait for it \u2026 your bot is alive!<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"656\" src=\"http:\/\/lisa.rushworth.us\/wp-content\/uploads\/2018\/12\/Teams-CreateABot25a-1024x656.png\" alt=\"\" class=\"wp-image-4043\" srcset=\"https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot25a-1024x656.png 1024w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot25a-300x192.png 300w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot25a-768x492.png 768w, https:\/\/www.rushworth.us\/lisa\/wp-content\/uploads\/2018\/12\/Teams-CreateABot25a.png 1301w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><strong><em>That\u2019s great \u2026 how do I interact with company resources?<\/em><\/strong> Quick answer is \u201cyou don\u2019t\u201d \u2013 this bot uses resources available on the Internet. To interact with private sources, the magic cloudy Microsoft network must be able to get there. Personally, I\u2019d host my own bot engine. Expose the bot to the Internet and create a \u201cBot Channels Registration\u201d instead. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Before you start, understand how billing works for Microsoft\u2019s cloud services. There are generally free tiers for selections, but they are resource limited. When you first start with the Azure magic cloudy stuff, you get a 200$ credit. A message indicating your remaining credit is shown when you log into the Azure portal. Pay attention &hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[33,677],"tags":[728,666,665],"class_list":["post-4019","post","type-post","status-publish","format-standard","hentry","category-coding","category-office-365","tag-azure-bot","tag-microsoft-teams","tag-teams"],"_links":{"self":[{"href":"https:\/\/www.rushworth.us\/lisa\/index.php?rest_route=\/wp\/v2\/posts\/4019","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rushworth.us\/lisa\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rushworth.us\/lisa\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rushworth.us\/lisa\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rushworth.us\/lisa\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4019"}],"version-history":[{"count":1,"href":"https:\/\/www.rushworth.us\/lisa\/index.php?rest_route=\/wp\/v2\/posts\/4019\/revisions"}],"predecessor-version":[{"id":4044,"href":"https:\/\/www.rushworth.us\/lisa\/index.php?rest_route=\/wp\/v2\/posts\/4019\/revisions\/4044"}],"wp:attachment":[{"href":"https:\/\/www.rushworth.us\/lisa\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4019"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rushworth.us\/lisa\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4019"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rushworth.us\/lisa\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4019"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}