🔓 Unlock all 10,000+ workflows & prompts free Join Newsletter →
✅ Full access unlocked — explore all 10,000 AI workflow and prompt templates Browse Templates →
Home n8n Workflow
January 22, 2026

GitHub to Gmail, release notes delivered clean

Lisa Granqvist Partner Workflow Automation Expert

Release notes are easy to ignore until they bite you. You hear “there’s a new version,” then you lose 20 minutes hunting the changelog, figuring out what changed, and wondering if your instance is behind.

This GitHub Gmail releases automation hits DevOps folks first, honestly. But agency owners running client automations and marketing ops teams living inside n8n feel the same chaos when upgrades sneak up. The outcome is simple: you get a clean email with the full release notes, plus the version you’re currently running, so you can decide fast.

Below, you’ll see how the workflow monitors “latest” and “beta,” deduplicates new versions, pulls GitHub notes, and emails everything to Gmail in a readable format.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: GitHub to Gmail, release notes delivered clean

The Problem: Release updates get missed (or found too late)

Most teams don’t actually “monitor releases.” They stumble into them. Someone mentions a new n8n version in Slack, a bug shows up that was fixed last week, or you’re about to upgrade and realize you haven’t read release notes in months. Then comes the tab hopping: npm for version tags, GitHub for notes, your own instance to check what you’re running, and back to GitHub to see if anything breaking is buried in the text. It’s not hard work. It’s constant work, which makes it easy to postpone.

It adds up fast. And the friction compounds when you track both “latest” and “beta.”

  • Checking npm and GitHub manually turns into a weekly ritual that steals about an hour you never planned for.
  • Version comparisons are easy to get wrong when you’re juggling “latest,” “beta,” and your current instance version.
  • Release notes are long, so people skim, miss one line, and get surprised during upgrades.
  • Without a consistent alert, upgrades become reactive instead of planned, which increases downtime risk.

The Solution: GitHub → Gmail release notes, automatically

This workflow watches n8n releases on a schedule, detects what’s new, and sends you a Gmail message that’s actually readable. On each run, it pulls the current “latest” and “beta” version info from the npm registry, optionally checks your own n8n instance to see what version you’re running, and then filters out anything you’ve already been alerted about. If a new version is found, it grabs the matching GitHub release notes, converts the Markdown into clean HTML, and emails it to you as a styled notification. You’re no longer piecing together updates from three different places.

The workflow starts with a scheduled trigger. It collects version data for both channels, merges and standardizes it, then deduplicates so you only get alerted once per version. Finally, it fetches GitHub notes and sends a formatted Gmail email that includes the release name, version tag, your current version, and the full notes.

What You Get: Automation vs. Results

Example: What This Looks Like

Say you check releases twice a week. Manually, you’ll usually open npm for “latest” and “beta” (about 10 minutes), open GitHub for notes (another 10 minutes), then log into your n8n instance or hit an endpoint to confirm your current version (about 10 minutes). That’s roughly 30 minutes per check, so about 1 hour a week. With this workflow, the “work” is basically zero: it runs on a schedule, and you skim a single email for a minute or two when something new ships.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Gmail for sending the release alert email
  • GitHub as the source of release notes
  • Your n8n instance URL (set it in the “my_n8n_url” field)

Skill level: Beginner. You’ll connect Gmail, paste a URL (optional), and edit one recipient field.

Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).

How It Works

A schedule checks for updates. The workflow starts with a schedule trigger, so it can run hourly, daily, or whatever cadence you trust. If hourly feels noisy, change it.

Version info is pulled from the sources that matter. It fetches “latest” and “beta” version tags from the npm registry via HTTP Request, and it can also query your own n8n instance URL to capture your current running version.

Only genuinely new releases continue. The workflow merges the streams, normalizes fields, then removes duplicates so you don’t get the same alert every run. If there’s nothing new, it stops.

Release notes are fetched and emailed in a readable format. For each new version, it requests the GitHub release notes, renders the Markdown into HTML, then uses Gmail to send a styled notification with the version tag, release name, your current version, and the full notes.

You can easily modify the release channel tags to watch a different package or to ignore beta entirely based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Schedule Trigger

Set the automation cadence so the workflow checks for new n8n releases on a regular interval.

  1. Add or open Scheduled Automation Start.
  2. Set the Rule interval field to hours (the workflow is configured to run hourly).
  3. Save the node to ensure the schedule is active.

Step 2: Connect n8n Instance and Release Tags

Define your instance URL and which release channels to monitor.

  1. Open Define n8n URLs & Tags.
  2. Set my_n8n_url to your instance URL, for example https://YOUR_n8n_INSTANCE_LINK.
  3. Set n8n_tag_1 to latest and n8n_tag_2 to beta.
  4. Confirm the output of Define n8n URLs & Tags is connected to the version fetch nodes.

Define n8n URLs & Tags outputs to Fetch Instance Version, Retrieve Latest Release, and Retrieve Beta Release in parallel.

⚠️ Common Pitfall: Leaving https://YOUR_n8n_INSTANCE_LINK unchanged will cause Fetch Instance Version to fail with a 404 or unauthorized error.

Step 3: Fetch and Combine Version Data

Collect your current instance version and compare it with the latest and beta tags from npm.

  1. In Fetch Instance Version, set URL to ={{ $json.my_n8n_url }}/rest/settings.
  2. In Retrieve Latest Release, set URL to =https://registry.npmjs.org/n8n/{{ $json.n8n_tag_1 }}.
  3. In Retrieve Beta Release, set URL to =https://registry.npmjs.org/n8n/{{ $json.n8n_tag_2 }}.
  4. Configure Combine Version Data with Mode combine, Combine By combineByPosition, and Number Inputs 3.
  5. In Set Version Fields, map versions using expressions: my_n8n_version = ={{ $json.body_1.data.versionCli }}, n8n_tag1_version = ={{ $json.body_2.version }}, and n8n_tag2_version = ={{ $json.body_3.version }}.
Tip: If your n8n instance requires authentication for /rest/settings, add the needed auth options inside Fetch Instance Version.

Step 4: Set Up Release Stream Routing and De-duplication

Prevent repeat notifications and package data for both release channels.

  1. Open Remove Duplicate Latest and set Operation to removeItemsSeenInPreviousExecutions and Dedupe Value to ={{ $json.n8n_tag1_version }}.
  2. Open Remove Duplicate Beta and set Operation to removeItemsSeenInPreviousExecutions and Dedupe Value to ={{ $json.n8n_tag2_version }}.
  3. In Assign Latest Tag Data, map my_n8n_version = ={{ $json.my_n8n_version }}, n8n_tag = ={{ $('Define n8n URLs & Tags').item.json.n8n_tag_1 }}, and n8n_version = ={{ $json.n8n_tag1_version }}.
  4. In Assign Beta Tag Data, map my_n8n_version = ={{ $json.my_n8n_version }}, n8n_tag = ={{ $('Define n8n URLs & Tags').item.json.n8n_tag_2 }}, and n8n_version = ={{ $json.n8n_tag2_version }}.
  5. Verify Merge Release Streams receives input from both tag assignment nodes.

Set Version Fields outputs to both Remove Duplicate Beta and Remove Duplicate Latest in parallel.

Step 5: Fetch Release Notes and Format the Email

Pull release notes from GitHub and convert them to HTML for the email body.

  1. In Fetch GitHub Notes, set URL to =https://api.github.com/repos/n8n-io/n8n/releases/tags/n8n@{{ $json.n8n_version }}.
  2. In Render Notes as HTML, set Mode to markdownToHtml and Markdown to ={{ $json.body }}.
  3. Confirm Render Notes as HTML connects to Dispatch Email Alert.
Tip: If GitHub API rate limits you, consider adding an authenticated GitHub request to Fetch GitHub Notes.

Step 6: Configure the Email Output

Send the formatted release notification to your inbox.

  1. Open Dispatch Email Alert.
  2. Credential Required: Connect your gmailOAuth2 credentials.
  3. Set Send To to your email address (replace [YOUR_EMAIL]).
  4. Keep the HTML Message template as provided to include release notes, tags, and version details.
  5. Set the Subject to =⚡ n8n New ({{ $('Merge Release Streams').item.json.n8n_tag }}) Version Released! [{{ $json.name }}].
⚠️ Common Pitfall: If [YOUR_EMAIL] is not replaced, the email will fail to send or go to an invalid recipient.

Step 7: Test and Activate Your Workflow

Validate the full flow and then enable it for ongoing monitoring.

  1. Click Execute Workflow to run the automation manually.
  2. Confirm the parallel branches run: Define n8n URLs & Tags should trigger Fetch Instance Version, Retrieve Latest Release, and Retrieve Beta Release simultaneously.
  3. Check that Dispatch Email Alert sends an email containing the release version, tag, and HTML-rendered notes.
  4. If the output is correct, toggle the workflow to Active to enable scheduled execution.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Common Gotchas

  • Gmail credentials can expire or require the right Google permissions. If emails stop sending, check the Gmail node’s connected account in n8n first.
  • If you add Wait nodes later (or GitHub is slow), processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
  • Markdown-to-HTML output can look “off” if a release note uses unusual formatting. Adjust the email template in the Gmail node so your headings and code blocks render cleanly.

Frequently Asked Questions

How long does it take to set up this GitHub Gmail releases automation?

About 20 minutes if Gmail is ready to connect.

Do I need coding skills to automate GitHub release notifications to Gmail?

No. You’ll connect Gmail and edit a couple of fields in n8n. The logic is already built.

Is n8n free to use for this GitHub Gmail releases workflow?

Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in normal email sending limits on your Gmail account.

Where can I host n8n to run this GitHub Gmail releases automation?

Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.

Can I customize this GitHub Gmail releases workflow for a different repo or package?

Yes, but you’ll want to change it in two places. Update the “Define n8n URLs & Tags” Set node to point at the package/tag you want, then adjust the GitHub notes HTTP Request node to fetch release notes from the right repository. Common tweaks include monitoring only “latest,” changing the schedule to daily, and adding a second notification destination like Telegram alongside Gmail.

Why is my Gmail connection failing in this workflow?

Usually it’s expired or revoked Google permissions. Reconnect the Gmail credential in n8n, then confirm the Gmail node is using the correct account. If you’re in a company Google Workspace, an admin policy can also block access. Finally, check Gmail sending limits if you’re testing with lots of runs in a short time.

How many releases can this GitHub Gmail releases automation handle?

A lot for typical use, because releases are low volume and deduped.

Is this GitHub Gmail releases automation better than using Zapier or Make?

Often, yes, because this workflow benefits from multi-step branching, deduplication, and formatting that’s easier to control in n8n. Zapier or Make can do “new release → email,” but you may end up bolting on extra steps for parsing, HTML formatting, and handling both latest and beta cleanly. n8n also gives you a self-hosted option, which matters if you run lots of automations and don’t want per-task pricing. If you already live in Zapier and only need a basic ping, it might be enough. If you want the cleaner end-to-end setup, Talk to an automation expert and we’ll point you the right way.

Once this is running, release awareness becomes automatic. You get clean notes in Gmail, make the call, and get back to real work.

Need Help Setting This Up?

Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.

Lisa Granqvist

Workflow Automation Expert

Expert in workflow automation and no-code tools.

×

Use template

Get instant access to this n8n workflow Json file

💬
Launch login modal Launch register modal