A simple GitHub Actions-powered bot that fetches the daily album from your 1001 Albums Generator group and posts it to a Slack channel.
Perfect for your #music channel, group listening clubs, and Slack communities of taste and style.
- Pulls the current album from your group's JSON feed on 1001 Albums Generator
- Posts album details (name, artist, year, cover art, Wikipedia link) to a Slack channel
- Uses Slack Block Kit formatting for clean and interactive layout
- Runs daily via GitHub Actions, no server or deployment needed
git clone https://github.com/shellen/1001albums-slackbot.git
cd 1001albums-slackbotnpm install- Go to Slack API: Create an App
- Create an app from scratch (e.g.,
Album Bot) - Enable Incoming Webhooks
- Create a new webhook for the channel you want to post in
- Copy the webhook URL
Go to your GitHub repo → Settings → Secrets → Actions → Add the following secrets:
| Name | Value |
|---|---|
SLACK_WEBHOOK_URL |
Your Slack Incoming Webhook URL |
GROUP_ID |
Your 1001 Albums Generator group ID (e.g. my-group-name) |
Ensure the following files exist and are committed:
index.jspackage.json(withnode-fetch@2).github/workflows/post-album.yml
To test manually:
- Go to the Actions tab of your GitHub repo
- Click Post Album to Slack
- Click Run workflow
You should see a Slack message with the current album from your group!
This bot uses GitHub Actions' cron syntax to schedule the post. The default schedule is:
on:
schedule:
- cron: '0 15 * * *' # Every day at 15:00 UTC (8:00 AM Pacific)- Open
.github/workflows/post-album.yml - Update the
cronfield using crontab.guru - Remember that GitHub Actions schedules are in UTC.
| Local Time (PST/PDT) | UTC Cron | What to use |
|---|---|---|
| 8:00 AM Pacific | 0 15 * * * |
(default) |
| 9:00 AM Eastern | 0 14 * * * |
14:00 UTC |
| 7:00 AM CET | 0 6 * * * |
06:00 UTC |
Want it at 5:30 PM your time? Use crontab.guru to convert that to UTC and update the workflow accordingly.
- Node.js (CommonJS,
node-fetch@2) - GitHub Actions for scheduling and automation
- Slack Incoming Webhooks (via Slack App)
- Uses the
currentAlbumfield from 1001 Albums Generator group JSON API - Slack Block Kit for modern message formatting
📻 1001 Albums Pick of the Day
🎧 Today's album: Are You Experienced by Jimi Hendrix (1967)
🖼️ [Album cover displayed here]
[ 🎵 Listen & Rate ] [ 📖 Wikipedia ]
- Support multiple groups / channels
- Add rich Slack blocks or @mentions
- Retry logic for API failure
- GitHub badge for "Now Playing" in README
MIT — feel free to fork and remix!
- 1001 Albums Generator for their awesome service
- Slack team for making integrations still kinda fun