Credit for the base code goes to https://github.com/dainfloop! I modified it to include exclusions and remove pronouns if you have them in the name.
Keep your Slack profile synced with SimplyPlural fronters. Built for systems who want to reflect who's fronting in real time — with the ability to exclude groups and set visual replacements.
GitHub: https://github.com/System-End/slack-simplyplural
- Syncs Slack name, pronouns, and profile picture from SimplyPlural
- Exclude fronters from certain groups
- Replace excluded members with designated alternates or a fallback identity
- Auto-detects and merges multiple avatars into a neat layout
- Crops avatars cleanly and formats a grid for Slack
- Detects changes and only sends updates when needed
- Runs on both Node.js (Linux/macOS/Raspberry Pi) and Bun (Windows)
git clone https://github.com/System-End/slack-simplyplural.git
cd slack-simplypluralFor Linux/macOS/Raspberry Pi or Windows (Git Bash or WSL):
bash install.shThe installer will:
- Install all dependencies using Bun or Node/npm
- Prompt you to enter tokens and group names
- Create users.toml with your config
- Offer to install a cron job (Linux/macOS)
- Run a one-time sync to test it all
During the installer, you’ll be asked for:
- Your SimplyPlural ID and Token (start token with Bearer)
- Slack user token with users.profile:write and users.setPhoto scopes
- Default avatar URL for fallback
- Comma-separated list of excluded groups (e.g., Littles,Bots)
- Optional: specific group→member replacements
- Optional: fallback member identity (name, pronouns, avatar)
This info is saved in a file called users.toml.
The installer will ask to install this cron job:
*/5 * * * * cd /path/to/project && npx ts-node --loader ts-node/esm index.ts >> log.txt 2>&1If you skip it, you can always add it manually with:
crontab -eOn Windows, use Task Scheduler to run:
bun index.tsor:
npx ts-node --loader ts-node/esm index.tsevery 5 minutes.
To manually sync anytime:
bun index.ts
# or:
npx ts-node --loader ts-node/esm index.tsbash uninstall-slack-simplyplural.shRemoves the cron job, dependencies, and offers to clean up config files.
- Bun: easiest and fastest for Windows (recommended)
- Node.js + ts-node: required for Linux, macOS, and Raspberry Pi
Install Bun: https://bun.sh
Install Node.js: https://nodejs.org
Open an issue on GitHub or contact @System-End.
Built for systems who want control over what shows in Slack — respectful, private, and customizable.