What this workflow does
This workflow checks several GitHub repositories for new releases every day. It finds if any releases were published in the last 24 hours. Then it sends a message to a Slack channel with the release name, a short description, and a link. This stops people from missing important updates or security fixes in time.
The workflow helps save time and reduce mistakes by automating daily manual checks for releases. It works for many repositories and runs by itself every day.
Who should use this workflow
This workflow is useful if you or your team need to watch GitHub projects for new releases. It helps developers, team leads, and anyone who posts updates about software releases to Slack channels. It fits teams that want fast notice about new versions without searching the web page every day.
No need to be a programmer. The setup is simple and you just import the workflow into n8n. It works well with public repositories. You can add GitHub API keys if you want to check private repos.
Tools and services used
- n8n: to build and run the automation workflow.
- GitHub API: to request latest release information from repositories.
- Slack: to send messages about new releases to team channels.
Beginner step-by-step: How to build this in n8n
1. Import the workflow
Download the workflow file using the Download button on this page.
In the n8n editor, go to the top menu and click Import from File. Find and select the downloaded workflow.
2. Add credentials
In n8n, add your Slack credentials for the Slack node. Make sure your Slack bot can post messages to the right channel.
If you want to check private GitHub repositories, add your GitHub API Key in the HTTP Request node headers.
3. Configure repositories
Open the RepoConfig Code node and edit the list of repositories. Use this format with your organizations and repo names:
return [
{
"github-org": "n8n-io",
"github-repo": "n8n"
},
{
"github-org": "home-assistant",
"github-repo": "core"
}
];
Change or add more objects for your repos.
4. Set Slack channel name
Edit the Slack node and update the channel name, for example #dk-test, to your preferred Slack channel.
5. Test the workflow
Run the workflow manually to check if it finds recent releases and sends messages to Slack.
6. Activate for production
Switch on the workflow by clicking Activate. Now it will run daily automatically.
If you want to run self-host n8n, import and activate the workflow in your hosted instance as normal.
Inputs → Process → Output explained
Inputs
- List of GitHub repositories with organization and repo name from the RepoConfig Code node.
- GitHub API data fetched from each repository’s latest release endpoint.
Processing steps
- For each repo, request the latest release using GitHub’s API in the HTTP Request node.
- Check the release publish date in the If node. Pass only releases published within the last 24 hours.
- Format the release information into a Slack message.
Output
- Send a Slack message to a chosen channel with the release name, snippet of release notes, and URL.
Edge cases or failures to watch for
- If GitHub API rate limit is reached, requests may fail. Use GitHub authentication headers to increase limit.
- Wrong repository names or organizations cause request errors and no notification.
- If Slack credentials are invalid or channel name is wrong, messages will not send.
- Date format issues in the If node can cause no release to pass. Make sure
published_atuses valid date format.
Customization ideas
- Add more repositories in the RepoConfig Code node by adding more JSON objects with “github-org” and “github-repo”.
- Change the Slack channel ID in the Slack node to post in a different workspace channel.
- Edit the Slack message text to include more details or formatting using Markdown and emojis.
- Change the If node filtering time to check releases newer than hours, days, or weeks by adjusting
DateTime.utc().minus(1, 'days'). - Add GitHub API authentication headers for private repos in the HTTP Request node.
Summary of results
✓ Saves many hours by automating release checks.
✓ Notifies the team instantly of new GitHub releases.
✓ Works for many repos at once.
✓ Runs daily with no manual work.
→ Ensures no missed security or feature release info.
→ Makes team communication faster and more accurate.
