Facilitates celebrations by sending reminders via custimizable channels like:
- Slack channels,
- Slack direct messages,
- Slack personal reminders.
Celebrations works based on birth date and anniversary dates along with Slack identifiers (see example/config.yml).
-
Use
bin/celebrations-...
executable or complile current version to your system architecture. -
Copy
example/config.yml
to your app directory; modify according to your needs. -
Install app to desired Slack workspace.
-
Required Slack permissions:
-
bot token scopes:
-
chat:write
(posting to channels) -
chat:write.public
-
channels:manage
(sending DMs) -
groups:write
-
im:write
-
mpim:write
-
chat:write.customize
(customizing app visibility) -
users:read
(downloading users) -
users.profile:read
-
-
user token scopes:
reminders:write
(adding reminders)
-
-
To be able to post to private channel, add bot manually (Channel -> Integrations -> Add App).
-
Optional. Use command
./celebrations download-users [--limit x]
to pre-download users from Slack. Helpful for populatingconfig.yml
file. -
Setup envronment variables for app runtime:
SLACK_BOT_TOKEN=xoxb-...
(required for most reminders)SLACK_USER_TOKEN=xoxp-...
(required for setting personal remidners)
- Schedule running
./celebrations send-reminders
once a day on specified hour e.g. 9:30 am via Github actions scheduler or other type of cron.
make run
make all
make test
- Refactor code for readability
- Add dates sorting to Monthly Report channel reminder
- Move secrets from
config.yml
to ENV VARs
- Humanize Monthly Report channel reminder
- Add Monthly Report channel reminder
- Init