Migrate channels to hangouts chat rooms - slack

my organization was using Slack, and decided to move to Google Hangouts Chat. I used channels to coordinate with different teams. How do i migrate these users to Hangouts Chat rooms?
(Issue) Chat rooms allow duplicates, and are created private. So new users cannot see them & join. They end up creating copies of a similar common room each time.
Either of the following kinds of options are fine with me.
Export users list email-addresses from my Slack channel. Import these users into Chat as #email-id . I can't seem to get the email-list from Slack
Send Chat room shareable invite link to channel users. Google Chat rooms don't give shareable invite link.

As Erik said, the operation you are looking for is users.list. Though you need to ensure you have users:read and users:read.email set in your environment. This will also give you a bunch of empty entries though, as it will include all bots and apps on your workspace, which do not have emails.
I wrote a quick app using Transposit (disclaimer: I work for them) that you can fork here that will return an array of all valid emails in a Slack organization for you. Authenticate with Slack, and it should work by just running get_emails.js.
Unfortunately, we do not yet have a Hangouts connector, so we can't automate the whole process through this app, but I hope you find it helpful! Let me know if you have any questions in a DM, or message us at support#transposit.com.
Best,
Griffin, Developer Advocate at Transposit

Related

Possibility of using specific Teams features in a custom web chat app

Our internal employees are all using Teams. I'm researching how feasible it would be to use certain features of Teams for a custom web chat app. The actual back and forth conversation would not take place in Teams...it would be something I would build, possibly using SignalR.
The custom web chat application should allow our customers the ability to:
See the Teams status of an employee (Online/Offline)
Click on the employee to enter a chat room. (This chat room would be something I would create, possibly using SignalR)
I was wondering if it is possible to do the following with Teams:
Get the Online/Offline status of a user in Teams and display that in a custom web app.
Send data to a specific Teams user from a web app. (For example: when a customer clicks on an employee in the custom web app to start a chat, send a link to the employee that would send them to the chat room.)
Are these two things possible using Teams?
Wow, this is an unusual scenario, had to think a bit about that! In terms of (1) I'm not sure about anything for that it Teams (it might exist, but not something I'm aware of), but perhaps the Microsoft Graph has a capability for that. This might help.
Regarding item 2, do the customers have Teams? If so, you can deep link directly into a chat with the specific employee. If not, are you wanting the end user to use, say, a bot on the web app, but the employee to be using Teams? If so, who would they be "Chatting" to? Would it be ok for the chat to be with a custom bot inside Teams? If so, you should look more at the concept of "Pro-active chat" in Teams (to initiate the new/latest conversation from the bot to the user). The only drawback is if they are "chatting" to multiple people at once this wouldn't work, because each customer's interaction would come in to the same chat window in the Bot.

Deploy 1:1 Teams bot to all users at once

I would like to deploy my 1:1 Teams bot to all users in an O365 tenant as a company admin. How do I do that? I know how to get a Manifest in the Org's app store but it seems I can only deploy it for myself. For obvious reasons I can't expect my 2.000+ users to do that.
I know there is a previous question about this (Microsoft Teams: How to provide a 1:1 chat bot globally?) but it seems outdated and I don't see a real solution here
I can think of a fairly simple way to do it assuming some programming, of course.
Use the MSFT Graph API to add the contact to the user's contact List, then it'll show on the 1:1 chat tab.
https://learn.microsoft.com/en-us/graph/api/user-post-contacts?view=graph-rest-1.0&tabs=cs
Since it is a user's contact it also allows to set a picture and a custom name.
EDIT:
I then realised this would not list in the 1:1 chat tab because it wouldn't appear there until there is an interaction. Also not sure how the contact should be populated...
My suggestion would that from the bot itself you sent a welcome message to every user, this will make sure that everyone has in in 1:1.
Assuming you want to deploy your bot only to your company not globally. ? if that is the case, once you have your bot ready with manifest.json file. Then you have to follow the
Publish apps to the Microsoft Teams Tenant Apps Catalog
https://learn.microsoft.com/en-us/microsoftteams/tenant-apps-catalog-teams
Alternatively this is a bit of cheeky way.
Assuming if all your 2000+ users in one Company Teams / Channel. As an Admin you can install your bot in to that channel. Then every one can access the bot using # mentions of your Bot.
Hope it helps.

Skype Bots - Please tell me I'm missing something

Working on an application and developing chat integration bot. Note that contrary to some news bots or other tools, there is no central website or server that the bot gets its data from. The software installation comes with a repository, and that is where the bot connects to. Thus, every user, upon installing the software, will basically get their own copy of the bot, alongside with their own repository, etc.
Now, having done that for Telegram: You open the telegram client, initiate a chat with the botfather, get the token for your new bot with one or two commands, and then add that token to my application. Done. Easy for the user to follow, takes a few minutes at most and they have a working bot.
Trying to do the same with Skype, the users must:
Sign up for an Azure account
Provide credit card and phone number verification (that's probably where some users will stop right away)
Log on to the Azure Portal
Create a bot channel, through a myriad of different screens I have to guide the user through.
Have the user obtain the bot's password, again through a variety of different screens he needs to be guided through. (if the user hasn't given up yet, at this point he'll definitely get grumpy)
Enable the Skype channel, and enable the bot to be added to group chats.
Attempt to locate the bot via Skype and eventually add it in.
Now, if I wanted to document this properly, this will be a 10-15 page document with tons of screenshots and all. To do what Telegram does in two minutes or even less. There's so many opportunities in all of this for something to go wrong, that I can't even consider forcing my users to go through this.
Surely, I must be missing something? It can't be that you have to go through this horrible mess of an over-engineering spectacle that is second to none, just to get the most basic bot to function?
All I need is a means to say "this is the bots name, give me its token and API URL so that it can send messages using the REST API". But I can't seem to find this for Skype.

Slack File Library

I really like Slack but my organization won't allow it if we cannot disable file sharing features. I'm trying to find out whether I can either disable uploads of certain file types or hide the file library all together. Their support says there's no way to do this natively but is this possible with the API?
No, not to my knowledge. The main focus of the API is not to configure your Slack team, but to enable bots and 3rd party apps to communicate with your Slack team and retrieve information. All core configuration for your Slack team has to be done in admin settings and apparently you have already learned from Slack support team that you can not deactivate file sharing in admin settings.
But I think I might have a solution for you. You can create a Slack bot that automatically blocks sharing of files in channels. (technically the bot would auto delete any message that is a file share form a user). Users would still be able to upload files, but they wont be able to share them. At least not in any public and known private channel. However there is a caveat: As I understand the bot would not be able to block users from sharing files in direct messaging channels though.
We are using a similar bot to block messages from unauthorized users in some private channels, which works nicely. Our bot is a simple Slack app with a bot user and using the Events API to receive all messages from all channels he is invited too. The bot then checks each new message and deletes the ones that does not fulfill some criteria. In our case if the message comes from a user that is not on the whitelist.

Google Hangouts - controlling other participants video

I'm thinking about creating sort of helper application for friend to enjoy paper RPG through internet.
I was thinking about using Hangouts API, however I have.
Is there a way of temporarily exclude some of the participants from running conversation? They can see other data on app, but should hear nor see other participants.
Is there a way of creating a private conversation within group conversation? So private participants will disappear from group, and after finishing the would automatically be reconnected to group conversation?
I'm reviewing Hangouts API, but I'm not finding answers. Or maybe I should look into WebRTC instead of Hangouts?
Thanks
What you're describing is... another Hangout or WebRTC session ;). You could always develop your own Hangout Extension to share specific info with selected participants who are also using your extension.
You could also have your Hangout session be the main conversation with all parties, while you use Join.me, Zoom.us or WebRTC to screenshare privately with your friend.

Resources