Effortlessly manage form-filling on Slack. Create customized forms, schedule reminders, and streamline your workflow with ease.
This is the source code of the "Forminder" slack extension and website.
Try it out at www.slack-forminder.com
This code contains
- A Flask server
- Serves the Forminder Slack App
- Serves a Vue.js app for viewing forms and submissions the Vue.js UI
- Serves the API endpoints for the UI
- A python scheduling worker
How to run this locally
install mongodb guide: https://www.mongodb.com/docs/manual/installation/
on mac, start mongodb with: brew services start [email protected]
virtualenv -p `which python3` .venv
source .venv/bin/activate
pip install -r requirements.txt
make dev
for a quick dev https address, run locally with ngrok:
ngrok http 5000
You'll get an https address like https://XXXXXXXXXXXXXXX.ngrok.io
.
Use it instead of YOUR_DOMAIN in the next step.
- Create a slash command which points
/forminder
toYOUR_DOMAIN/slash-command
- In "Interactivity & Shortcuts", set interactivity request url to
YOUR_DOMAIN/interactive
- Create a bot user OAuth token in slack, and put it in an
.env
file - Add your signing secret (from the Basic Information tab) to the
.env
file - Add OAuth redirect urla that point to
YOUR_DOMAIN/forms
andYOUR_DOMAIN/submissions
SLACK_BOT_TOKEN=xoxb-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
SIGNING_SECRET=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
python scheduling_worker.py