website icon indicating copy to clipboard operation
website copied to clipboard

Feasibility: Automated Onboarding Slack Messages

Open erikaBell opened this issue 3 years ago • 13 comments

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

  • [ ] Discover whether a bot on slack can perform these things:
    • [x] Add a custom bot created by HackForLA. (already done by VRMS team).
    • [ ] Send out automatic messages via an API.
    • [ ] Send out automatic messages to individual members.
    • [ ] Check out the slack bots we currently have. Can a custom-made bot integrate all the tasks that the current slack bots do.
      • [ ] As part of testing for feasibility, make sure to create a spreadsheet of every bot we currently use and list out: name, task it is doing, and whether we can re-engineer the tasks this bot does. This spreadsheet should be in our google drive, inside an appropriate directory, and under an appropriate name. Be sure to put a visible note (maybe on the top cells) to delete the file if it has gone stale (so future developers can clean up this file).
    • [ ] Once testing is done, invite the VRMS to join us during a meeting to discuss a possible collaboration to start porting our existing bots into the VRMS bot.

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

erikaBell avatar May 15 '21 15:05 erikaBell

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

ExperimentsInHonesty avatar Jul 31 '21 04:07 ExperimentsInHonesty

@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.

Aveline-art avatar Sep 06 '21 22:09 Aveline-art

@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 avatar Sep 07 '21 00:09 ExperimentsInHonesty

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

ExperimentsInHonesty avatar Sep 10 '21 22:09 ExperimentsInHonesty

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 :)

github-actions[bot] avatar Sep 22 '22 20:09 github-actions[bot]

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

tunglinn avatar Sep 22 '22 20:09 tunglinn

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

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 avatar Sep 26 '22 21:09 tunglinn

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

tunglinn avatar Oct 02 '22 05:10 tunglinn

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 avatar Oct 05 '22 03:10 tunglinn

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:

  • Tim has been the only one working on the app for a couple months
  • He described it as a Slack version of VRMS
  • Uses free plans of various databases like MongoDB and PlanetScale (could this be an issue if we need more space for data?)

tunglinn avatar Oct 14 '22 02:10 tunglinn

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

7kram avatar Oct 16 '22 18:10 7kram

@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

ExperimentsInHonesty avatar Oct 16 '22 23:10 ExperimentsInHonesty

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.

tunglinn avatar Oct 27 '22 00:10 tunglinn