Turn merged GitHub PRs into a plain English changelog
Every time a pull request merges, post a plain English summary to Slack and log it in a release sheet, written by Fireworks AI.
Build me an agent workflow that turns every merged GitHub pull request into a plain English changelog entry for non-engineering teammates, powered by Fireworks AI.
Trigger: a GitHub webhook on the pull_request event where action is closed and merged is true. Scope it to the repository (or repositories) I want to track.
When a PR merges, the agent should:
1. Call the GitHub Get a Pull Request operation to fetch the title, body, author, labels, and file-change stats (additions, deletions, changed files, file paths).
2. Decide whether the PR is changelog-worthy. Skip pure refactors, internal-only changes, and dependency bumps based on labels (chore, refactor, deps, internal, ci) and file paths (lockfiles, .github/, internal tooling, tests-only diffs). If the PR carries a release-note label, always include it regardless of labels or file paths. The decision should consider labels AND file paths, not message length.
3. If it passes, call Fireworks AI Create Chat Completion with a Llama or Qwen instruct model (default to a small instruct model for cost). Send a system prompt that says: rewrite this PR as a one-paragraph plain English changelog entry for non-engineers, third person, present tense, focused on user-facing impact, no jargon, no PR number or commit hash in the prose. Pass the PR title, body, labels, and a short file-path summary as user content.
4. Post the result to Slack via the slackbot Send a Message operation. Use the channel #product-changelog. Include the generated summary paragraph, the PR title as a link to the pull request URL, and a short credit line with the author's GitHub handle. Format with Slack mrkdwn.
5. Append the same entry to a running Google Sheet via the google-sheets Append Values operation. Columns: date (ISO), PR number, author, summary, and category (one of feature, fix, performance, security, docs, other). Pick the category from labels and file paths.
If the PR is skipped, log a short reason (which rule matched) and exit without posting.
Integrations: fireworks-ai, github, slackbot, google-sheets.
Additional information
What does this prompt do?
- Listens for merged pull requests in your GitHub repository the moment they ship
- Reads the title, description, author, labels, and file changes for context
- Rewrites each one into a one-paragraph plain English summary your non-engineering teammates can actually read
- Skips refactors, internal-only changes, and dependency bumps unless the PR carries a release-note label
- Posts to your #product-changelog Slack channel and appends a row to a running release log spreadsheet
What do I need to use this?
- A GitHub account with access to the repository you want to track
- A Fireworks AI account, which runs open source models like Llama and Qwen at low cost
- A Slack workspace and a channel where the changelog should land
- A Google account and a spreadsheet ready to receive new rows
How can I customize it?
- Swap the model. Pick a smaller Qwen instruct model to cut costs, or a larger Llama variant for richer summaries.
- Change the audience. Rewrite for customers, internal teammates, or executive readers by editing the instructions.
- Adjust the filters. Decide which labels force inclusion and which file paths get skipped.
- Pick your destinations. Post to a different Slack channel, log to a different spreadsheet, or add an email digest.
Frequently asked questions
How is this different from a typical release notes tool?
Will it spam our channel with refactors and dependency bumps?
Why Fireworks AI instead of OpenAI?
Can I track multiple repositories with this?
What ends up in the spreadsheet?
Stop writing changelog entries by hand.
Connect GitHub, Fireworks AI, Slack, and Google Sheets once, and Geni writes a plain English entry the moment each pull request ships.