New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hubot for Microsoft Teams #1260
Comments
Looking forward to this. It will be better if Hubot can integrate with Microsoft Bot Framework (which may support teams) in someway so that if they add/remove support, it can work well with Hubot. |
I've been trying to get some code working, but the bot I made for my company has some proprietary stuff I don't want out in public domain. That and I need a cloud endpoint that the bot can be reached from. My idea is to use the Microsoft Node.js SDK to create a UniversalBot and setup events in the hubot adapter. As soon as I can get a proper test bed going to make sure it works I have no problem releasing it to the public. The two frameworks are pretty different. Hubot aims to be a one-size-fits-all framework that you can deploy and use anywhere and extend infinitely. Microsoft bots appear to be geared more towards serving one specific purpose, being cloud hosted, with the ability to be placed into any Teams server. The difference in design is uncanny as well: Hubots typically aim to do various small commands, whereas Teams bots can carry on whole conversations to get more complex things done. Pretty interesting to see the difference in design. |
Microsoft Teams currently has three layers for what you might consider bots:
Reference: https://msdn.microsoft.com/en-us/microsoft-teams/index You can vote for the features to allow hubot here: https://microsoftteams.uservoice.com/forums/555103-public-preview/suggestions/16937848-allow-adding-bots-to-channels |
The new custom bot capability in MS teams is heading there. From the look of it, one could now create an Hubot adapter for MS teams. |
According to https://microsoftteams.uservoice.com/forums/555103-public-preview/suggestions/16937848-allow-adding-bots-to-channels this has been completed on Microsoft's side; however I have not verified. |
@israelshirk I can verify that you can add bots to channels. Unfortunately, unless you @mention them specifically, they're not allowed to "listen" to the channel. This removes most of the utility of a bot (it makes it a special case of a slash command). To fix this issue, please vote here: https://microsoftteams.uservoice.com/forums/555103-public/suggestions/18646171-remove-bot-mention-requirement |
Thanks @calebmeyer! |
Looks like Microsoft has posted a Bot Framework Hubot adapter: https://github.com/Microsoft/BotFramework-Hubot |
Have anyone manage to actually get their hubot connected with ms teams? |
@wumingzhang Yes, works great |
It looks like with botFramework, hubot needs to be hosted on the public internet per this issue on botframework adapter for Hubot: microsoft/BotFramework-Hubot#15. Hubot (on prem) w/orky adapter ----> Orky bot (internet) <----> MS Teams |
I got a question off list about this, which I'm going to answer on-list for posterity. First, get hubot onlineYou'll want to have it booted up with BotFramework-Hubot and non-functioning credentials, but the right port. We'll add credentials later. Sounds weird, I know, but it'll work out in the end. Just trust me. You'll want port 3976 open to the interweb (or at least to Azure's cloud netmasks) so that Microsoft's REST API calls from Teams -> BotFramework -> your botframework implementation -> hubot make it through. Botframework.comSo, first you're going to want to register yourself at https://dev.botframework.com/. This is the integration point.
Agree, and you're well on your way. Make sure you have microsoft teams selected as your chat framework (BotFramework is an aggregator service - so failing to select Microsoft Teams and the proper channels here can be painful). Credential Hubot and restartPretty straightforwards. TestYou can test hubot first from the dev.botframework.com dashboard. Any connectivity issues between BotFramework's APIs and your hubot can be sussed out by using that integration. As long as that is working with your hubot, your problem is then between your BotFramework configuration and your Microsoft Teams configuration. Which can be a hassle, but typically starting from scratch it's fairly straightforwards. Just make sure you're logged in with the right organization, account, privileges, and you should just end up in the right place from the beginning. If you have any questions I'm a little time limited, but I'll help where I can on here or every once in a while I'm on the hubot slack. Hope this helps! |
Great input @israelshirk thanks! 👍 |
the messaging endpoint require to be https, i guess you need do some haproxy between? |
Correct; my apologies. I used nginx.
… On Oct 9, 2017, at 10:42 AM, wumingzhang ***@***.***> wrote:
the messaging endpoint require to be https, i guess you need do some haproxy between?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
|
thanks @israelshirk , still missing the last piece of the puzzle. I got it working in "test" mode in dev.botframework.com, but cannot connect properly into teams. anything special need to be done? |
Just in case anybody else gets stuck on this. Port 8080 not 3976, you can reverse proxy it with Nginx to expose it publicly. |
Have anyone looked at creating a Hubot adapter for Microsoft Teams (teams.microsoft.com)?
The text was updated successfully, but these errors were encountered: