I am testing a chat bot (built using MS bot framework) in MS teams. The bot is designed for one on one chat but I want to make it available to a group of testers. As such, I've created a team and added the testers as members and the bot as an app. According to the MS documentation my understanding was that if the bot manifest included 'personal' in the scope then any team member should be able to start one on one chat with the bot. However, when searching for the bot in the "to" field of the Chat window some team member can find the bot and others can't. My first thought was that there was delay between when a person was added to the team and when they could access the bot in a one on one chat. But that doesn't seem to be the case. Is there something else I've overlooked that would prevent the bot from showing up for some team members but not others?
#Moe Adding the Bot to a team does not make the bot available to all the members of the team in personal scope. It is still in the teams scope and all the team members will be able to access the bot in the team only. A member of the team should either install the app in personal scope or click on the chat icon by hovering on the bot name in team and click on "Add"
#Gousia-MSFT's answer got me part way to a solution. When hovering over the bot's icon in the Teams chat I didn't get an option to 'add' the bot. However, there was an option to 'chat' with the bot:
. Using the text box or clicking the chat icon starts (or continues) a one on one conversation with the bot.
Related
I try to write an app for Microsoft Teams which does include a Bot.
The bot should write a welcome message as soon as the app is installed by the user in his personal scope. Additionally I want to be informed when the user uninstalled an app.
There are events when a new user is added/removed to a team (onTeamsMemberAdded/onTeamsMemberRemoved) in which the bot is installed, but is there also something for the personal scope?
onTeamsMemberAdded should deal with personal scope as well, and it will enable you to send a welcome message. However, there is unfortunately no way to get notified when your bot is removed. onTeamsMemberRemoved only applies when your bot is part of a group chat, or channel, and only tells if other users have been removed. This is a missing feature in Teams right now.
I have developed a Microsoft Teams app, and I'm using 'deep linking' to create named chats (chats with topic names) with selected users, as per the docs:
https://learn.microsoft.com/en-us/microsoftteams/platform/concepts/build-and-test/deep-links#deep-linking-to-a-chat
An example of a 'deep link' to create a chat would be:
https://teams.microsoft.com/l/chat/0/0?users=joe#contoso.com,bob#contoso.com,dave#contoso.com&topicName=Prep%20For%20Meeting%20Tomorrow&message=Hi%20folks%2C%20kicking%20off%20a%20chat%20about%20our%20meeting%20tomorrow
This works fine - and if I save the portion of the link minus the 'message' portion, this again works fine, and links the user to the existing chat:
https://teams.microsoft.com/l/chat/0/0?users=joe#contoso.com,bob#contoso.com,dave#contoso.com&topicName=Prep%20For%20Meeting%20Tomorrow
However, if another user is added to the chat from inside Teams itself, the link above will not link to the existing chat any more, rather create a brand new chat instance with the same topicName and originally specified users.
Is there a way of 'deep linking' to a chat by it's topicName or some kind of ID only? Without having to get clever with the Microsoft Graph API?
https://teams.microsoft.com/l/chat/0/0?Prep%20For%20Meeting%20Tomorrow
just links to the chat 'home screen', where a user can start a new chat through Teams
I might be wrong, but I'm pretty sure you can't achieve this directly. As soon as you add a new person, it's no longer the "same" chat, so to speak (e.g. a chat with "Joe, Bob and Dave" is NOT the same as a chat with "Joe, Bob, Dave and Sue". The two ways I can think of that you can achieve what you're looking for though, are:
create a Meeting with that subject - the "meeting" chat seems to hang around forever, it has a title, and you can modify participants, even after the "meeting" is over.
Alternative to the above, if there's an ongoing initiative, maybe it's just better as an actual Team or Channel anyway...?
I came here looking a solution to this same requirement.. a link that others can click on to dial into a normal MS Teams (multi-person) chat. I want to include this in my meeting invites in the case where I initially created the chat group manually within MS Teams (not originally via meeting invite).
I opened the chat in MS Teams Web (in my browser) to get the unique conversation identifier and then replaced that portion in a sample link that I would typically find in meeting invites. I also removed the context parameter. When I followed the resulting link in my browser it launched my MS Teams desktop application and joined the chat group meeting. An illustrative sample link is below:
https://teams.microsoft.com/l/meetup-join/*19:1235774810bf4d7086ada8e13c7c6c8a#thread.v2/0*
The portion "19:1235774810bf4d7086ada8e13c7c6c8a#thread.v2/0" is what I replaced.
And there is no need for something like "?context=%7b%22Tid%22%3a%22c9b9cb50-3544-4db4-a267-fa84df2f4ceb%22%2c%22Oid%22%3a%22663db54f-657a-407d-8a0b-45c76d8cdffd%22%7d" at the end either. I'm not sure what will happen if someone uses this link who has not been added to the chat by me though. You'll have to test that if that is a requirement.
How to update the text which appears on the hover of the message extension bot in Microsoft Teams using bot framework v3.
The only part you can change directly is the description in the top. The "permissions" section you've highlighted you can't change explicitly, as they're based on what your Teams app contains. For instance, if you app contains a bot, then by definition it will be able to "receive messages and data that I provide to it". Things like your bot scope will also influence this - what I mean is if you bot is ONLY a personal, 1-1 bot, then you wouldn't have "access this team's information", because it doesn't apply to a 1-1 bot. In contrast, if you've selected that your app contains a bot, and the bot can be used in a Team channel, then it would need that permission.
Also relevant are the other permissions you explicitly request for your app. In App Studio, these would be on the "Domains and permissions page" under "Device permissions".
I'm testing out a bot right now via an uploaded custom (sideloaded) app. I can see that when I add the bot to a team or remove it from a team that I get an activity with a type of conversationUpdate with the bot's ID in the members added or members removed element.
Is there a specific activity or other event that the bot gets when it's removed from the tenant entirely? Do I just have to track all teams the bot was added to?
Teams does not yet have a well-defined concept of being added at the tenant level. We will be adding that in the first half of 2018.
In the meantime, yes, you have to track it on a team-by-team basis I'm afraid.
I've created a bot (a simple echo bot) and deployed it to Azure. Everything works well now and I can talk to the bot in the desktop Skype client (Windows 10 app).
However, I can't seem to be able to add the bot to an existing group chat. When I click on the add button the list of contacts to add doesn't have my bot in it, which is weird because I've added it to my contacts.
https://stackoverflow.com/a/41644443/249230
^ According to that post I need to create a "private chat" with my bot and then I'll be able to add it to group chats, but I have no idea how to do that.
I haven't published my bot, but I did enable "Allow adding to a group" in bot settings on https://dev.botframework.com.
Any idea why it's not working?
Private chat is talking directly to your bot. If you have added it to your contacts, it should be easy to open a direct conversation with it by double clicking.
Then you can add people in the conversation using the top right button:
Then you will have your group chat working:
Note for other people asking the same question (but you already mentioned that you did it), don't forget to activate the group conversation for your bot in botframework portal, in Skype channel settings
Have you tried to add a bot to group?:
https://telegram.me/[botname]?startgroup=foo