macOS utility that monitors Slack notifications and reads them aloud using text-to-speech, with optional WhatsApp notifications.
git clone https://github.com/graphcs/SlackPulse.git
cd SlackPulse
./install.shThis installs SlackPulse and registers it to start automatically on login.
Note: Requires Full Disk Access for Terminal/Python. Grant it in: System Settings > Privacy & Security > Full Disk Access
- Reads Slack messages aloud (sender name + message content)
- Sends WhatsApp notifications via Twilio (optional)
- Filters out bot messages and duplicates
- Starts automatically on login
- Works with Slack desktop app
- macOS 10.14+
- Python 3.9+
- Slack desktop app
- Full Disk Access permission
- Twilio account (optional, for WhatsApp)
# Install and start on login
./install.sh
# Uninstall
./uninstall.shsource .venv/bin/activate
python -m slackpulse
# With verbose logging
python -m slackpulse --verbose
# Test WhatsApp setup
python -m slackpulse --sms-test# Check if running
launchctl list | grep slackpulse
# View logs
tail -f /tmp/slackpulse.out.log
# Stop
launchctl unload ~/Library/LaunchAgents/com.slackpulse.agent.plist
# Start
launchctl load ~/Library/LaunchAgents/com.slackpulse.agent.plistCreate ~/.config/slackpulse/config.toml:
[tts]
voice = "Samantha"
rate = 150
enabled = true
[filters]
dedup_window_seconds = 30
[sms]
enabled = true
account_sid = "ACxxxxxxxxxx"
auth_token = "xxxxxxxxxx"
from_number = "+1234567890"
to_number = "+0987654321"
use_whatsapp = true-
Create Twilio account at https://twilio.com (free trial available)
-
Get credentials from https://console.twilio.com/:
- Account SID (starts with
AC) - Auth Token (click eye icon to reveal)
- Account SID (starts with
-
Join WhatsApp Sandbox:
- Go to: Twilio Console > Messaging > Try it out > Send a WhatsApp message
- Send the join code (e.g., "join -") from your phone to the Twilio sandbox number
- This links your WhatsApp to receive messages
-
Add to config:
[sms] enabled = true account_sid = "ACxxxx" auth_token = "xxxx" to_number = "+12025551234" # Your phone number use_whatsapp = true
-
Test:
python -m slackpulse --sms-test
Note: WhatsApp is recommended over SMS because SMS requires A2P 10DLC registration in the US.
MIT