1
votes

We want to provide services via a 1:1 chat bot for Teams users. This bot should be immediately present for all Teams users to chat with. Since this bot/app is not used in a specific Team-context (no channel conversation, not tabs etc., only 1:1 chat) nobody should have to add this bot to a Team at all.

enter image description here

Can a bot be built that is only available for 1:1 chats? How can it be made available so that adding it to a specific Team is not necessary?

I found instructions for testing a bot in 1:1 chat without having to add it to a specific Team here. Is there a similar deployment model for production?

Edit:

Maybe the question is better phrased as "can a bot be sideloaded to personal scope only"? Maybe this is just a Teams UI issue since I currently have to sideload the app via a Team's app menu:

enter image description here

The store experience might differ since there I have the option to "Get apps" in the personal scope.

enter image description here

Is sideloading via the personal scope possible as well?

1
Why the downvote?Heinrich Ulbricht
If I understand correctly, you're looking for something in between "Publish to Store" and "Sideload"? Like a central deployment for publishing within an enterprise?Marc LaFleur
@MarcLaFleur-Microsoft I might just be confused by the current sideloading which is very Team-centric: Click a team, add the bot - even if the bot is for personal scope only. This doesn't make sense. I expected a "sideload globally" option. Later in production this would then be a central deployment option for the enterprise, yes.Heinrich Ulbricht

1 Answers

6
votes

Currently, it's very hidden. We are finishing up the work to make this simpler, which I'll explain below, but here's how to do it now.

If you look in your bot's settings in Bot Framework, you'll see a list of Bot Framework channels (not to be confused with Teams channels):

Bot Framework channel list

"Microsoft Teams" is a hyperlink in the form https://teams.microsoft.com/l/chat/0/0?users=28:<bot_id>. For example, here's AzureBot which is a 1:1 bot. (I wouldn't recommend this to your end users, but as a developer, you can also start a conversation using the new chat icon New Chat Icon and paste the <bot_id>, e.g. 9a38affe-4fa0-493c-b802-432a83d8842f for AzureBot.

The "real" way to do it though is in Developer Preview now. To create a bot that only works 1:1, specify "personal" for the value of bots.scopes in the manifest.json file. You can also specify default commands in bots.scopes.commandLists[]. More info here.

As for how your users will be able to invoke your bot once the "Apps" feature is out of Developer Preview and in production, there are several ways:

  • If your app is published to the Office Store, when you add it using the enter image description here icon there's a "Just for me" option.
  • Soon (no announced ETA) we will support a way to publish bots for your company alone - think of it as tenant sideloading. Adding a bot that way will be the same as if it was in the Office Store except that the bot will only appear to your company's users.