LOW / CODEBlueprints
engineeringai

AI Release Notes Generator

Pull merged PRs from GitHub for a date range, then use Claude AI to generate polished, user-friendly release notes categorized by feature, fix, and improvement. Post to Slack and optionally save to Notion.

Beginner~15 minn8nMake.com 357 downloads 960 views

Setup Instructions

1. In your automation platform, create a Schedule trigger that runs weekly (e.g., every Friday at 4 PM) or on-demand via a webhook. 2. Add an HTTP Request node to fetch merged PRs from GitHub: GET /repos/{owner}/{repo}/pulls?state=closed&sort=updated&direction=desc. Filter results in a Code node to only include PRs merged in the last 7 days by checking merged_at. 3. Add a Code/Function node to extract PR titles, descriptions, labels, and authors into a concise list. This becomes Claude's input. 4. Add an HTTP Request node to call the Claude API (POST https://api.anthropic.com/v1/messages). Set headers: x-api-key, anthropic-version: 2023-06-01. Use model "claude-sonnet-4-20250514" with max_tokens 1024. Prompt Claude to categorize each PR as Feature, Bug Fix, or Improvement, then write user-friendly descriptions in plain language (no technical jargon). 5. Parse Claude's response and format the release notes with emoji headers: features, fixes, improvements. 6. Add a Slack node to post the release notes to #releases or #general. 7. Optionally add a Notion node (via HTTP Request to Notion API) to create a new page in your Release Notes database with the formatted content. 8. Test by running the workflow manually and verifying the notes are clear and correctly categorized.
Troubleshooting
**PRs not categorized correctly:** Add labels to your PRs (feature, bugfix, improvement) and include them in the Claude prompt as hints. Tell Claude: "Use PR labels as the primary categorization signal. If no label exists, infer from the title and description." **Release notes are too technical:** Strengthen your prompt with: "Write for product managers and end users, not developers. Replace technical terms with user-facing language. Focus on what changed for the user, not how it was implemented." **Empty PR descriptions causing poor output:** Many PRs have minimal descriptions. Include the PR title, labels, and file change summary (number of files, which directories) as fallback context. Claude can infer purpose from file paths. **Notion page creation fails:** Verify your Notion integration has access to the target database. The Notion API requires the database ID (not the page URL). Use POST /v1/pages with the parent database_id and properties matching your database schema.

Need a custom version?

We can build a tailored automation workflow for your specific needs.

New blueprints weekly

Get notified when we publish new automation workflows.