logo Axolo
Published on Monday, February 19, 2024, last updated

Changelog writer GPT and how we automate our changelogs with Axolo


Hey everyone, so today I'm going to explain how we've automated our changelogs at Axolo. You'll have access to a GPT I initially built internally and just decided to release to the public. It's simple but effective for us, and I hope it will help some of you!

Table of Contents

How the Changelog Writer by Axolo GPT works

So who's better than the GPT to explain what it does? Here is a brief description of its role, written by itself:

As Changelog Writer by Axolo, my primary function is to assist users in transforming their raw development inputs—ranging from bug fixes, new features, tasks, or any other updates—into a polished and structured changelog. This involves meticulously parsing the user's input to identify the essence of each update, then categorizing them into distinct sections:

  • ✨ NEW: for brand-new features or additions
  • 🔨 IMPROVEMENT: for enhancements to existing elements
  • 🐞 FIX: for bug fixes

My role extends beyond mere rephrasing or clarification; I aim to ensure that each entry is presented in a clear, concise, and professional manner, making the changelog both informative and easy to read.

Soooo, basically what I've done is created a GPT where I can send a huge amount of information concerning our latest update, and the Changelog Writer will return a well-structured changelog composed in 3 sections. It's a simple but effective way to automate our changelogs.

Enable your team to mergepull requests faster with Axolo

How did we automate our changelogs?

So, I wanted a way to automate most of our changelog writing process. The first thing we needed was to find a way to ask what we'd just developed easily. And as we're hardcore Slack users and have already integrated most of our process with GitHub through Axolo, I decided to develop a workflow around just that.

It's incredibly simple:

  1. Each time we merge a pull request, Axolo writes a DM to the PR author with input and asks if we'd like to add this PR to our next changelog,
  2. If the author answers yes, the content of the input is sent to a specific channel in our Slack (called #changelog, surprisingly).
  3. The changelog content pills up each month in this channel.
  4. On the 1st day of each month, a cron job queries the whole month's conversation, and sends it straight to GPT with a specific prompt (prompt I used to build the Changelog Writer GPT)
  5. GPT sends the newly created changelog to the #changelog channel, and we're done! A quick review and it's ready to be published.

Here is an extract of our January changelog

So let me know what you think, how we can improve if we should add it in normal Axolo workflows, or anything you have in mind! You can test the GPT from here: Changelog Writer by Axolo.

Axolo User Experiences

2480+ developers online

Axolo Logo
Richard M.Richard M.

We no longer need to cut and paste MR URLs into Slack manually. Axolo also reduces button-clicking in the GitLab UI, because Slack can be used to assign a Reviewer and also Approve an MR. We no longer need to watch for email notifications and context-switch to the GitLab UI to have the discussion -- Axolo automatically opens (and archives) a channel dedicated to the MR discussion.


Code quality has improved, engineers have a better understanding of what their colleagues are working on, and code is getting shipped much faster. Time from pull request open to review to merge is WAY faster, and engagement with reviews is much higher for our team. Axolo's team is also unbelievably fast in resolving issues when we run into them. Pleasure to work with them.


Axolo is an incredible tool for connecting PRs with our everyday engineering discussion on Slack. It integrates seamlessly and makes it so as a manager, I never lose track of my engineers' work. For my engineers, it allows them to collaborate without losing a thread in different contexts. Overall it keeps us moving swiftly throughout the sprint and continuously reviewing and merging code!