Draft monthly release notes from what actually went live
Every month, turn the features that truly reached customers into a plain language release note draft in Notion, ready for a product manager to review.
On the first business day of every month, draft customer facing release notes covering everything that actually shipped to customers during the previous calendar month, and put that draft in front of a product manager for review before anything goes public.
Start in LaunchDarkly. Use "List feature flag statuses" against my production environment to find every flag whose status is launched. A flag reaching launched in production is the signal I trust that a feature genuinely became available to customers, far more than a merged pull request or a closed ticket, both of which land well before real availability. Then use "List audit log entries", filtered to the previous month's date range, to confirm the date each of those flags was fully turned on, and keep only the flags whose full rollout actually happened inside the reporting window. Note that the audit log returns newest entries first, caps each page at 20 entries and pages backwards, so keep paging using the date of the oldest entry you received until the whole month is covered.
For each remaining flag, call "Get feature flag" to read its name, description and tags. Drop any flag tagged internal or experiment, since those are not customer visible and must never appear in published notes. If you need to resolve flags across the wider project, "List feature flags" is also available.
Next, gather the engineering context. In GitHub, use "List Pull Requests" to find merged pull requests that mention each flag key in the title, body or branch name. Read those pull requests to understand what actually changed and why, so every release note entry can describe real user impact rather than restating an internal flag name.
Draft the release notes grouped by theme, for example by product area or by the kind of improvement, rather than one flat list in flag order. Write in plain customer language. The body must contain no flag keys, no ticket numbers, no repository or branch names and no internal engineering jargon. Each entry should say what is now possible for the customer and why it matters to them. If a change has no plausible customer impact, leave it out entirely rather than padding the notes.
Publish the draft as a new page in my Notion release notes database using "Create a Page", titled with the month and year it covers. Then use the Slack "Send a Message" action to post a link to that page in my product channel, together with a one line summary of how many changes are covered, making it explicit that this is a draft for a product manager to review and edit before it goes public.
If no flags reached launched status inside the reporting window, skip creating the Notion page and instead post a short Slack message saying there is nothing to publish this month.
What does this prompt do?
- Finds the features that fully rolled out to customers in production last month, so your notes reflect what people can genuinely use rather than what merged in code weeks earlier.
- Reads the engineering context behind every change from your merged pull requests, so each entry explains real customer impact instead of restating an internal name.
- Leaves out anything tagged internal or experimental, so work that was never customer visible cannot slip into a public changelog.
- Writes the notes grouped by theme in plain language, saves them as a draft page in your release notes database, and posts the link in Slack for a product manager to review and edit before anything goes public.
What do I need to use this?
- A LaunchDarkly account where your team manages feature rollouts, with permission to view flags and account activity
- A GitHub repository where your team's pull requests live
- A Notion workspace with a database you use for release notes
- A Slack workspace and the channel where your product manager should receive the review link
How can I customize it?
- Change the cadence: run it on the first business day of each month, or move to fortnightly or quarterly to match your release rhythm.
- Edit which work stays private by adjusting the excluded tags, so internal tooling and experiments never reach customer facing notes.
- Set the tone and structure to match your existing changelog: group by product area or type of improvement, and choose how much detail each entry carries.
FAQs
Why base release notes on rollouts instead of merged code or closed tickets?
Will this publish anything to customers automatically?
How does it keep internal or experimental work out of the notes?
Will the notes contain technical names or ticket numbers?
Can it cover more than one product area or repository?
Related templates
When your flight moves, your calendar times get corrected automatically and you get a Slack note naming the meetings you're about to miss.
Every 15 minutes, forwarded phishing reports get traced back to the server that really sent them, with a verdict in Slack and the worst senders reported.
Every weekday at 7am, sign in to the tender portals you track, filter new notices against your bid criteria, and open a deal for the ones worth chasing.
When you merge a fix in GitHub, this agent checks the matching dead-letter queue, replays the failed messages, and reports back on the pull request and in Slack.
Every Monday, rank the week's matches by expected demand, put the big ones on your venue calendar, and post a rota-ready summary to Slack.
Every Monday, last week's survey answers and support conversations become one themed report in Notion, with the top five themes posted to Slack.
Stop writing release notes from memory.
Let an agent turn everything that actually reached customers last month into a reviewable draft, on the same day every month.