How to share GitHub release notes in Slack and by email
4 min read · Updated 5 October 2026Your developers write release notes, and then almost nobody reads them. Support finds out about a change when a customer asks, and the account managers find out later still.
This guide sends every release where those people already are. The moment you publish a release in GitHub, a workflow posts its notes in a Slack channel and emails them to the people who need them. Every release leaves a run you can open, with what GitHub sent and what Slack and the email step answered.
- GitHub · New releasewhen a release is published
- IFis it a pre-release?
- Slack · Post a messageposted the notes in the releases channel
- Send an emailemailed the notes to the team
Pre-releases go down Yes and stop there; full releases go down No, to Slack and the email.
What you need
- A GitHub connection made with a personal access token. The trigger adds a webhook to the repository (a webhook is how GitHub tells another service about each event). So the token's owner must be an admin of the repository, and a fine-grained token needs Webhooks: Read and write. Connect GitHub
- A Slack connection, and a channel for releases. For a private channel, invite the app first with
/invite @Bizomate. Connect Slack - Nothing for the email. Bizomate's own Send an email step needs no connection.
GitHub and Slack work on every plan, Free included.
Build it
In Bizomate, choose New workflow, then GitHub · New release as its trigger. Choose your connection, then the Repository, shown as
{owner}/{repository}. Publishing adds the webhook for you; nothing needs pasting.Each release gives the workflow its
tag(v1.4.0),name,notes,url,prereleaseandrepository. A run starts when a release is published, pre-releases included; saving a draft does not start one. Start a workflow from GitHub eventsLeave pre-releases out. Add an IF:
- Value:
{{ trigger.prerelease }} - Is: equal to
- Compared with:
true
Pre-releases go down Yes, where the workflow ends; full releases go down No. Leave this step out if you want pre-releases shared too. Choose a path with IF
- Value:
Post the notes to Slack. Under No, add Slack · Post a message. Choose the channel — releases, say — and in Message:
*{{ trigger.name }}* is out in {{ trigger.repository }}. {{ trigger.notes }}Under Buttons, add Read on GitHub with the value
{{ trigger.url }}. Post a message to SlackGitHub notes are written in Markdown, and Slack uses its own formatting. Bullet lists and links read well; headings show their # signs and
**bold**shows its stars. Short notes in plain sentences look best in both places. A message over 3,000 characters is shortened, and the button takes readers to the rest.Email the same notes. After the Slack step, add Send an email. In To, up to ten addresses, separated by commas — support@acme.example, sam@acme.example. Each gets their own copy.
- Subject:
{{ trigger.name }} is out - Message:
{{ trigger.notes }}, thenRead it on GitHub: {{ trigger.url }}
The email is plain text, sent from Bizomate's own address; Markdown in the notes shows as typed. To send from your own mailbox, use Gmail · Send an email or Outlook · Send an email instead. Send an email from Bizomate
- Subject:
Publish. Publish a workflow
Test it with a real release
Publish, then publish a release in the repository — a small one on a test repository works. Within seconds the trigger's panel reads Listening — instant, with New release · v1.4.0. To test later changes, select Use the last event on Output, then Test run. The Slack message and the emails are really sent. Test runs never count towards your monthly runs.
If it does not work. The usual causes:
- Not listening — adding one needs admin on the repository. The token's owner is not a repository admin, or the token lacks Webhooks: Read and write. Fix it, then publish again.
- Bizomate is not in this channel. Type
/invite @Bizomatein the channel, then run it again. - At most 10 people at a time. Send an email is for a team, not a mailing list.
What it costs
Each published release is one run, pre-releases included, even when the IF stops it. Most teams release a few times a month, which is a handful of runs. What counts as a run
Questions
Does saving a draft release send anything?
No. A run starts only when a release is published. A draft starts one the day it is published, and not before.
Can I send the notes to a whole mailing list?
Not with Send an email: it takes ten addresses at most, and refuses more. Send it to a group address your mail service keeps, or post the notes to Slack only.
Can I hear about more than one repository?
Each trigger watches one repository. For a second one, make a copy of the workflow and choose the other repository in its trigger. Copy a workflow
Related apps
Related guides
How to tell your team in Teams when a GitHub Actions run fails
Every failed GitHub Actions run, posted in your team's Teams channel.
How to send a weekly report from your PostgreSQL database
Last week's database numbers in a sheet and an email, every Monday.