Skip to content

Augments Slack with ability to create mass-reminders for members of a channel in one go

License

Notifications You must be signed in to change notification settings

grzegorznowak/slack-remind-all

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Slack Remind All

NOTE: support for this project on github is now halted. It's being migrated to another platform

set a reminder for all users in a channel directly using a single command

[A placeholder for a list of cool badges, coming soonish]

Motivation

The good old /remind slash command that comes by default with slack, doesnt handle channels' reminders in the way it is super useful normally. When you need to actually broadcast a message to everyone, making sure they will be prompted directly at some point, falls short, by only showing a dull message no one will pay attention to.

It's the place the custom app comes to the rescue, making it possible to issue a channel-wide /remindall command, with virtually the same syntax as the original one, that then registers direct reminders to everyone participating in the channel. Except for bots - those poor things can't yet have reminders registered for themselves (as of Dec 2018)

Take an update of a software you just compiled for your team. Gotta spread the word now!

Usually, and this is proven by years of practice, it takes 3 prompts minimum for a developer to acknowledge anything that isn't a new version of their favourite programming language, or a game update on Steam. So imagine how many hours of your life this single tool will spare in the long run

Disclaimerinho: Me being a dev myself

=== All feedback & PRs highly appreciated ===

Usage

Just invoke this in a channel and you're good

/remindall about something very important in 1 hour

(see further down for a sample output on Slack)

Requirements

  • python 3.6+
  • (optional) ngrok

App Setup

  • clone the repo git clone https://github.com/grzegorznowak/slack-remind-all.git
  • setup virtualenv: virtualenv pyenv -p python3.6
  • activate venv: . pyenv/bin/activate
  • pip install -f requirements.txt

Running on dev

  • (when behind a proxy) start your ngrok instance first
ngrok http 3000
  • start the flask server
SLACK_SIGNING_SECRET={{ slack_remind_all_secret }} \
SLACK_OAUTH_TOKEN={{ slack_remind_all_oauth }} \
python {{ slack_remind_all_location }}/slack_remind_all/server.py

by default the app listens on port 3000, and it's currently fixed, but you can change that with a pinch of python.

Provisioning on a server/container

see Provisioning instructions

please note: provisioned service is exposed via http on a container's port, so need a SSL terminating proxy to function best

Slack Setup

Sample output from the app (with one user and one bot in the channel)

sample output

Crucial Slack App config:

  • make sure to add the slash command app slash setup

  • configure the touching points slash config

  • and add the required scopes scopes

make sure to put in your app endpoint's URL in the config with the slash handler URI specified

ie. https://example.com:3000/slack/slash

@TODO:

  • proper CI, test-coverage for the python part, shiny badges, etc. We all love those!
  • standalone cross-workspace app on own server (but only if folks actually need it!)

Sponsored by

Kwiziq.com - The AI language education platform
Spottmedia.com - Technology design, delivery and consulting

Author Information

Built with love using python, Slack & Ansible by Grzegorz Nowak

About

Augments Slack with ability to create mass-reminders for members of a channel in one go

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published