← Back
Automation Case Study · 07 Published February 2026

How We Automated Product Releases with Six Notion Agents

A network of six Notion AI agents that handle the end-to-end product release communication lifecycle, from Jira candidate detection and release-notes formatting to Slack/email notifications, daily bug tracking, and monthly changelog generation.

TL;DR

We built a network of six AI agents in Notion that automate the end-to-end lifecycle of product release communication. From identifying release candidates in Jira, to formatting release notes, tracking bugs and features, notifying stakeholders via Slack and email, and generating monthly change logs. What used to take hours of manual coordination now runs largely on autopilot.


The Problem

Phorest ships product updates on a biweekly release cycle. Before automation, coordinating release notes involved:

This was repetitive, error-prone, and ate into time better spent on actual product work.


The Solution: Six Agents, One Pipeline

1. Jira Release Candidates Creator

Every Tuesday, queries our Jira-synced database for items that meet release-candidate criteria (customer impact, release status, due dates, beta end dates, go-live windows). Creates or updates a Release page in our GTM Release Notes database, and automatically updates the Release Phase property to "Locked In" or "Published" at the right points in the cycle.

Trigger: weekly recurrence, Tuesdays at 12:00 PM. Logic: 2-week release cycle. On Day 0 (14 days before release) creates a new page. On Day 7 syncs the existing page with any new qualifying items and @mentions the next agent.

2. Jira Release Notes Formatter

When a Release page is created (or @mentioned), reads the raw list of Jira items and transforms it into a polished, two-column release notes layout, complete with team labels, Jira links, descriptions, and placeholder images.

3. Jira Monthly Changelog Generator

On the 1st of each month, queries all Published release items from the previous month, groups and summarises them, creates a "What's New" changelog page, and posts a highlight summary to Slack.

4. Slack Product Bug Tracker

Runs daily at 9:00 AM to check for Jira bugs marked as "Done". New bug fixes are added to a dedicated Bug Tracker database and a summary is posted to #product-bug-tracker. Duplicate prevention via Jira ID matching.

5. Slack Product Release Tracker

When a release pack's phase changes to "Locked In" or "Published", posts a detailed summary to Slack and sends an email notification. Includes the full page content and related Jira items as a thread reply. The phase change is now set automatically by Agent 1, so this agent fires without any manual intervention.

6. Slack Product Feature Tracker

Runs daily to find Jira items that have gone "Live" but aren't part of the standard biweekly release cycle (Issue Type = "Product Update" & "Requires GTM process" = No). Added to a Feature Tracker database and announced in #product-feature-tracker.


How the Agents Chain Together

Three of the agents form an automated pipeline that runs on every release cycle:

  1. Jira Release Candidates Creator builds the candidate list and automatically sets the Release Phase → triggers
  2. Jira Release Notes Formatter formats the page → and when the phase changes, automatically triggers
  3. Slack Product Release Tracker posts to Slack and sends email notifications

The remaining three, Monthly Changelog Generator, Bug Tracker, and Feature Tracker, run independently on their own schedules, covering the gaps that a biweekly cycle can't.


Results

BeforeAfter
Manual Jira scanning every 2 weeksAutomatic candidate detection with smart date-window queries
Hand-formatted release notesConsistent, templated formatting in seconds
Ad-hoc Slack posts when someone rememberedAutomatic notifications on every release phase change, bug fix, and feature launch
Monthly changelogs compiled retroactivelyAuto-generated on the 1st of every month
Features shipping outside the cycle going unnoticedDaily tracking and Slack announcements

What We Learned