Weekly GitHub changelog to Notion and Slack
Every Friday at 4pm, turn the week's merged pull requests into a customer-readable changelog in Notion and announce it in Slack.
Every Friday at 4pm, build a weekly changelog from our merged GitHub pull requests, publish it to Notion, and announce it in Slack. The pipeline is fixed and deterministic: list, fetch, AI generate, create page, notify.
Trigger: cron, every Friday at 16:00 in our team timezone.
Step 1. Use GitHub Search Issues and Pull Requests with a query of is:pr is:merged merged:>=YYYY-MM-DD where the date resolves at run time to the previous Friday. Include one or more repo: qualifiers for the repos I configure. Page through results so we capture every merged PR from the last seven days.
Step 2. For each PR returned, call GitHub Get a Pull Request to grab the title, body, author login, merged_at timestamp, html_url, and labels. Collect these into a single array.
Step 3. Run an AI generation step over the collected PRs. Group entries into four sections: Features, Improvements, Fixes, and Internal. Use PR labels as the primary signal (for example feature, enhancement, bug, chore, internal) and fall back to inferring from the title and body. For each PR, write one customer-readable sentence rewritten from the raw PR title (no internal jargon, no ticket prefixes). Also produce a short headline for the week and pick the top three highlights to feature in Slack.
Step 4. Use Notion Create a Page to create a new page under the Weekly Changelog parent page I configure. The title should be something like "Changelog: Week of MMM D" and the body should contain the four sections as headings with the rewritten one-liners as bullets. Each bullet should link back to the original PR url and credit the author.
Step 5. Use Slack Send a Message to post to the team channel I configure. The message should include the week headline, the three highlights as bullets, and a link to the new Notion page. Keep it short so it reads cleanly in the channel.
If the GitHub search returns zero merged PRs, skip steps 3 through 5 so we do not post an empty changelog. Integrations: GitHub, Notion, Slack.
Additional information
What does this prompt do?
- Searches GitHub for pull requests merged since last Friday across the repos you choose, then fetches each one to grab title, body, author, and labels.
- Uses an AI generation step to group the PRs into Features, Improvements, Fixes, and Internal sections and rewrite raw PR titles into customer-readable one-liners.
- Creates a new page under your Weekly Changelog parent in Notion with the formatted release notes.
- Posts a Slack message to your team channel with the headline, the top three highlights, and a link back to the Notion page.
What do I need to use this?
- A connected GitHub account with read access to the repos you want included.
- A connected Notion workspace with a parent page (for example, called Weekly Changelog) where new entries should be created.
- A connected Slack workspace and the channel ID where the announcement should be posted.
How can I customize it?
- Change the cron from Friday at 4pm to whatever cadence fits your release rhythm, for example end of sprint or first business day of the month.
- Adjust the repo list and the GitHub search qualifiers (labels, authors, base branches) to scope what counts as changelog-worthy.
- Edit the AI grouping prompt to match your tone of voice, the section names you actually use, or to include a short executive summary at the top.
Frequently asked questions
How does the workflow know which PRs to include each week?
Can I use this with multiple GitHub repositories?
Where does the changelog get saved in Notion?
What does the Slack announcement look like?
What if no PRs were merged that week?
Stop hand-writing release notes every Friday.
Connect GitHub, Notion, and Slack once, and Geni publishes a clean weekly changelog for you every Friday at 4pm.