Publishing a Microsoft Power Virtual Agents Bot to Microsoft Teams

Leave a comment

In a previous post, we looked at how to create a PowerApps Virtual Agent that gets the weather from an MSN weather service, so users can ask the bot what the weather is.

In this post, we will deploy that service out to Microsoft Teams, so users of Teams can easily ask the bot questions.

First, let’s go to the bot and go to Manage->Channels, then select Microsoft Teams:

This opens the window below. Click Add:

We are now presented with an App ID. We will use this later. Click Copy, then cancel:

In Microsoft Teams, open App Studio (click here for instructions on how to install App Studio):

Select Manifest Editor and click on Create a new app:

In the App Details, enter as much information as you can, such as the App Name, package name, etc. Note adding as much information as possible will help us later when we deploy the bot (it will complain less if we are not missing data):

Scroll to the bottom of App Details and give the App an icon:

Next, select Bots and click Set up:

Give the bot a name. We will call ours Weather Bot. At this point, paste in the Id from the bot we copied above into the Id field here. We will set the Scope of the bot to Personal:

Now let’s deploy the App Bot. Select Test and Distribute then Download (Note – I had issues deploying the bot through Install, but Downloading worked fine):

A file will be downloaded:

We will now use this file to upload our app. In Teams, go to Apps and then select Upload a Custom app:

Select Upload for Contoso, which is my org:

Click Add:

Our bot will now appear in the list of apps:

And it can be accessed by:

Let’s test it out. Open the app, and we see our bot is greeting us:

Let’s ask the bot what the weather is like:

We see the bot is responding and working as expected right within Microsoft Teams.


Carl de Souza is a developer and architect focusing on Microsoft Dynamics 365, Power BI, Azure, and AI.

carldesouza.comLinkedIn Twitter | YouTube


Leave a Reply

Your email address will not be published. Required fields are marked *