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.

Agentic Task
Fireworks AIGitHubSlack BotGoogle SheetsEngineeringProductNotifications & AlertsContent GenerationAI Reports

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?
It runs one entry per merged pull request, written for non engineers, with no copy and paste from GitHub. You get a short, readable summary in Slack and a tidy row in a sheet, every time.
Will it spam our channel with refactors and dependency bumps?
No. It skips housekeeping changes by default. The only override is the release-note label, which forces inclusion when you want a fix or chore to show up anyway.
Why Fireworks AI instead of OpenAI?
Fireworks runs open source models like Llama and Qwen at a fraction of the cost. That matters a lot when you are summarizing every merged pull request across an active repo.
Can I track multiple repositories with this?
Yes. Point each repository's webhook at the workflow and they all flow through the same summary process. The Slack channel and sheet can stay the same, or you can split them per repo.
What ends up in the spreadsheet?
A row per release-worthy PR with the date, PR number, author, the plain English summary, and a category tag such as feature, fix, performance, security, or docs.

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.