hackforla / website

Hack for LA's website
https://www.hackforla.org
GNU General Public License v2.0
324 stars 766 forks source link

Feasibility: Automated Onboarding Slack Messages #1543

Open erikaBell opened 3 years ago

erikaBell commented 3 years ago

Overview

As a developer, we occasionally need to do feasibility testing to discover new technology that may improve our team. For this issue we will explore the viability of sending automated slack messages through a bot.

Action Items

Resources/Instructions

The intent of this issue is to find a way to streamline the onboarding process. The onboarding experience tends to be a lot of information at once, which can make it difficult to know exactly how to start. Our organization as well, has installed a lot of processes which needs to be disseminated in a standardized way. This issue is intended to consolidate information into one place when orienting new members to the team (of this project and other projects).

You might be wondering, why would we want to integrate all of our bots into one? The reason is that we have reached our slack bot limit, but we want to add more! There is a need to combine one, two, even three into one. The goal of this issue is to see if we can combine everything into, ideally, one bot (or, if impossible, as few as possible).

For now, the VRMS team has a bot implemented already. This is the bot we plan to leverage at the end of this research.

Also, feel free to contact them at the #vrms sack

Resources and Instructions

ExperimentsInHonesty commented 3 years ago

We don't want to send emails but slack messages would be good.

Aveline-art commented 3 years ago

@ExperimentsInHonesty I was wondering whether we can invite programmer from other teams to work in tandem with us on this project since it involves the organization as a whole.

ExperimentsInHonesty commented 3 years ago

@abuna1985 @macho-catt @Aveline-art Slack bots are amazing and many companies including 1 password have their own api integrations and sometime even slackbots. However, on a free slack plan, we only get 5 slackbots. So what we need is some kind of super slackbot that has permissions to do everything except remove members and delete messages and then customize our interface to it, so that we can have it do anything we want anytime its triggered, treating the one bot we have as a pipeline into Slack.

This method is required since slack's paid plans are prohibitive.

So given that many people have predicted that someday we would have the awesome talent that you all are providing and we would be ready to do this, we invented the project VRMS. And they built a bot which is already enabled on our Slack. So that is the team you will need to coordinate with.

I am including @erikaBell in my response since she wrote the issue, in case they are curious I am including @drubgrubby because he is the tech team point person for other teams to VRMS

Given that do you want to change anything about this issue before I prioritize it?

ExperimentsInHonesty commented 3 years ago

@Aveline-art thank you for updating the issue. Feel free to hid my comment above if it might confuse someone later.

github-actions[bot] commented 2 years ago

Hi @tunglinn, thank you for taking up this issue! Hfla appreciates you :)

Do let fellow developers know about your:- i. Availability: (When are you available to work on the issue/answer questions other programmers might have about your issue?) ii. ETA: (When do you expect this issue to be completed?)

You're awesome!

P.S. - You may not take up another issue until this issue gets merged (or closed). Thanks again :)

tunglinn commented 2 years ago

Availability: 9/23, 9/24-25 after 6pm, various times next week ETA: end of 9/30

tunglinn commented 2 years ago

Bot looks at queue file. Process and parses file. Sends message at appropriate times and appropriate channels.

As of 9/27/22, we'll be building a "Traditional Slack App", which doesn't require a paid Slack plan. ![image](https://user-images.githubusercontent.com/86996158/192383748-55c526e9-55be-4f49-bcf4-cef3e8336e95.png)

Looks like Tim from VRMS is working on a Slack app too. I will talk to him about what that entails and if it can be combined with this issue.

tunglinn commented 2 years ago

My plan is to integrate the functionality above into Tim's app.

tunglinn commented 2 years ago

Started this spreadsheet that will list all existing slack apps and its functionalities to see what can be consolidated into one slackapp.

Also, not sure why we have 12 apps even though we should cap out at 10.

I've setup the environment with the help of Tim. Will be waiting for him to merge a big PR before I can start working on the code.

tunglinn commented 2 years ago

For Sunday meeting: Tim's slack app has a lot of functions as of now, including setting meetings via Google Calendar, a sort of roll call system for who's attending which meeting, etc.

Should we build upon Tim's current app to fulfill the criteria of this issue? Or start a new app? (For example, one concern is that there's a lot more stuff in Tim's app that might increase the probability of issues with the slackapp in the future.)

Other details:

7kram commented 2 years ago

@tunglinn Hey Tung, I'm going to un-assign you from this issue. Its being moved to the questions/in review column

ExperimentsInHonesty commented 2 years ago

@tunglinn I do not want to build our app on top of Tim's app.

Slack is a platform that is intent on being for pay, and they can reduce features at anytime. We are not building VRMS in slack, rather it uses slack to send message, and that functionality could be moved to any other communication platform (discord, whatapp, ect.).

So all we are trying to build here, now, is an app that allows a variety of projects (VRMS, tables, civictechjobs, etc.) to write to a queue of message, and then if the conditions are met (such as send X message at 5pm on Saturdays to Y channel), then it will send the message to the location we have specified (person or channel). The bot need to only read the queue and use the data model to take action. It's not an autoresponder, or anything else more sophisticated.

To see how this works you can use the remind function in slack

tunglinn commented 1 year ago

VRMS member, Fang, suggested to ask #admin channel for access to the "VRMS Slack Integration Module" slack app. The folks in #admin suggested to ask Bonnie. Looks like this has gone full circle, and we don't know who has access to the app or where the app exists.