This workflow corresponds to n8n.io template #11005 — we link there as the canonical source.
This workflow follows the Gmail → HTTP Request recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"nodes": [
{
"id": "557e042d-0f6f-4275-96f5-f58f46b3a01b",
"name": "Convert Notes To HTML",
"type": "n8n-nodes-base.markdown",
"position": [
1776,
512
],
"parameters": {
"mode": "markdownToHtml",
"options": {
"emoji": true,
"tables": true,
"tasklists": true,
"ghMentions": true,
"noHeaderId": true,
"rawHeaderId": true,
"encodeEmails": true,
"ghCodeBlocks": true,
"strikethrough": true,
"ghMentionsLink": "https://github.com/{u}",
"tablesHeaderId": true,
"headerLevelStart": 1,
"simpleLineBreaks": true,
"rawPrefixHeaderId": true,
"customizedHeaderId": true,
"parseImgDimensions": true,
"simplifiedAutoLink": true,
"smartIndentationFix": true,
"ghCompatibleHeaderId": true,
"openLinksInNewWindow": true,
"literalMidWordAsterisks": true,
"backslashEscapesHTMLTags": true,
"splitAdjacentBlockquotes": true,
"literalMidWordUnderscores": true,
"requireSpaceBeforeHeadingText": true,
"excludeTrailingPunctuationFromURLs": true,
"disableForced4SpacesIndentedSublists": true
},
"markdown": "={{ $json.body }}"
},
"typeVersion": 1
},
{
"id": "bd3677dd-9fbf-4fb0-bb0b-02f23cae3f60",
"name": "Deduplicate Beta Releases",
"type": "n8n-nodes-base.removeDuplicates",
"position": [
1968,
160
],
"parameters": {
"options": {
"scope": "node",
"historySize": 10
},
"operation": "removeItemsSeenInPreviousExecutions",
"dedupeValue": "={{ $json.n8n_tag2_version }}"
},
"typeVersion": 2
},
{
"id": "21be9fcb-c0ab-47a8-8878-0525a0e2396e",
"name": "Set Beta Tag Info",
"type": "n8n-nodes-base.set",
"position": [
2160,
160
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "5df4b88f-2306-4188-8fc9-ed3c8e6f94ab",
"name": "my_n8n_version",
"type": "string",
"value": "={{ $json.my_n8n_version }}"
},
{
"id": "d4d150de-c4f5-4f4b-9943-24b09a9df0a5",
"name": "n8n_tag",
"type": "string",
"value": "={{ $('n8n URL & Version References').item.json.n8n_tag_2 }}"
},
{
"id": "30bac9d8-f0e9-4c75-b800-0d8cbd507d7f",
"name": "n8n_version",
"type": "string",
"value": "={{ $json.n8n_tag2_version }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "a325ee82-44ae-4a35-8bc6-30a9b8f96d86",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
1008,
-192
],
"parameters": {
"color": 7,
"width": 720,
"height": 512,
"content": "## Fetch & Combine Versions\nRuns hourly to get the current instance version, plus the latest and beta versions from npm."
},
"typeVersion": 1
},
{
"id": "1a846c6f-9312-4e7f-aadc-6a84b160a8a7",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
1744,
-192
],
"parameters": {
"color": 7,
"width": 784,
"height": 512,
"content": "## Check for New Releases\nDeduplicates the fetched versions against past runs, Only new releases will continue from this point."
},
"typeVersion": 1
},
{
"id": "2095589e-22a6-4528-8153-8c14bb40307b",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1568,
336
],
"parameters": {
"color": 7,
"width": 608,
"height": 448,
"content": "## Format & Send Email\nFor any new release, this section fetches its notes from GitHub, converts them from Markdown to HTML, and sends a formatted email notification."
},
"typeVersion": 1
},
{
"id": "78f3787d-5e0a-4dc9-b3e4-c8d8511540cb",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
576,
-192
],
"parameters": {
"width": 416,
"height": 656,
"content": "## \ud83d\udce2 Monitor n8n releases and get notifications for new versions \ud83c\udd95\n\nThis workflow automatically monitors n8n\u2019s release channels (latest and beta) and sends you email notifications whenever a new version is published. It also reads the version of your current n8n instance, allowing you to integrate automatic updates and ensure you never miss a release.\n\n### Who is this for\nThis workflow is designed for n8n users who want to stay informed and up to date with new releases and features without manually checking for updates, especially those managing their own instances who need to plan upgrades and review release notes.\n\n### How it works\nThe workflow performs the following steps:\n- **Fetches version information from the npm registry** (latest and beta releases)\n- **Identifies only new versions** by deduplication\n- **Retrieves release notes from GitHub** for any newly detected version\n- **Converts Markdown to HTML** for email template formatting\n- **Sends a styled email notification** including the release name, version tag, your current version, and the complete release notes\n\n"
},
"typeVersion": 1
},
{
"id": "f88c8839-2e6a-4373-9c86-a896d5a8e2a7",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
2192,
336
],
"parameters": {
"color": 4,
"width": 336,
"height": 448,
"content": "### Email Sample\n"
},
"typeVersion": 1
},
{
"id": "c52d307a-c876-4032-8bdd-b1a0d76c820f",
"name": "Combine Versions",
"type": "n8n-nodes-base.merge",
"position": [
1584,
32
],
"parameters": {
"mode": "combine",
"options": {
"clashHandling": {
"values": {
"resolveClash": "addSuffix"
}
}
},
"combineBy": "combineByPosition",
"numberInputs": 3
},
"executeOnce": false,
"typeVersion": 3.2
},
{
"id": "df26fcef-db80-4586-ad0e-a8e1150114d7",
"name": "Version Variables",
"type": "n8n-nodes-base.set",
"position": [
1792,
48
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "a7787c92-705f-445f-8eee-a36c3555203c",
"name": "my_n8n_version",
"type": "string",
"value": "={{ $json.body_1.data.versionCli }}"
},
{
"id": "7e6dc6fa-44be-4e52-bf5c-1ebf4262f18a",
"name": "n8n_tag1_version",
"type": "string",
"value": "={{ $json.body_2.version }}"
},
{
"id": "e60360ab-4856-45be-b998-99434e9e8275",
"name": "n8n_tag2_version",
"type": "string",
"value": "={{ $json.body_3.version }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "39c9e675-7780-4ebb-ac2a-66e572ea86fa",
"name": "Deduplicate Latest Releases",
"type": "n8n-nodes-base.removeDuplicates",
"position": [
1968,
-32
],
"parameters": {
"options": {
"scope": "node",
"historySize": 10
},
"operation": "removeItemsSeenInPreviousExecutions",
"dedupeValue": "={{ $json.n8n_tag1_version }}"
},
"typeVersion": 2
},
{
"id": "abbca1c9-0f71-4db4-97ba-87a121e7bb77",
"name": "Set Latest Tag Info",
"type": "n8n-nodes-base.set",
"position": [
2160,
-32
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "80f29f73-3738-4e41-a26a-5812f945251f",
"name": "my_n8n_version",
"type": "string",
"value": "={{ $json.my_n8n_version }}"
},
{
"id": "934af598-0edc-4c7a-a4a9-601db309536e",
"name": "n8n_tag",
"type": "string",
"value": "={{ $('n8n URL & Version References').item.json.n8n_tag_1 }}"
},
{
"id": "586595ef-eb47-4dd6-b32a-627d8dcc0df1",
"name": "n8n_version",
"type": "string",
"value": "={{ $json.n8n_tag1_version }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "5fe81996-21cf-4992-81bf-1e4d1bd33c93",
"name": "Merge Releases",
"type": "n8n-nodes-base.merge",
"position": [
2352,
144
],
"parameters": {},
"typeVersion": 3.2
},
{
"id": "636cb96f-abb8-4993-8df9-de66b2ae3693",
"name": "Get GitHub Release Notes",
"type": "n8n-nodes-base.httpRequest",
"position": [
1600,
512
],
"parameters": {
"url": "=https://api.github.com/repos/n8n-io/n8n/releases/tags/n8n@{{ $json.n8n_version }}",
"options": {}
},
"typeVersion": 4.3
},
{
"id": "9f3a99e5-3ee7-4f2e-88c8-321a827aed56",
"name": "Send Email",
"type": "n8n-nodes-base.gmail",
"position": [
1952,
512
],
"parameters": {
"sendTo": "Your_Email",
"message": "=<!DOCTYPE html>\n<html>\n<head>\n <meta charset=\"UTF-8\">\n</head>\n\n <body style=\"\n margin: 0;\n padding: 40px 20px;\n font-size: 14px;\n background-color: #2d2e2e;\n background-image: radial-gradient(#3e3e3e 1px, transparent 1px);\n background-size: 12px 12px;\n\">\n\n <div class=\"container\" style=\"max-width: 650px; margin: 0 auto; background-color: #222222; border-radius: 8px; overflow: hidden;\">\n \n <div class=\"logo-container\" style=\"background: #040506; padding: 20px; padding-bottom:10px ;text-align: center;\">\n <img src=\"https://community.n8n.io/uploads/default/original/2X/a/afa2f499837e9dc9d85724dd8f2eb39bf11a0b5f.png\" alt=\"n8n\" class=\"logo\" style=\"width: 120px; height: auto; display: inline-block;\">\n </div>\n \n <div class=\"content\" style=\"padding: 24px;\">\n <h1 style=\"margin: 0 0 10px; padding-bottom: 10px; border-bottom: 1px solid #444444; font-size: 18px; font-weight: 600; color: #FFFFFF; \">\n \u26a1 New Version Released!\n </h1>\n \n <div class=\"version-box\" style=\"background: #dff6dd; border: 1px solid #1a7f37; border-radius: 6px; padding: 10px; margin: 10px 0; text-align: center;\">\n <div class=\"version\" style=\"font-size: 18px; font-weight: 700; color: #1a7f37; \">\n {{ $json.name }}\n </div>\n </div>\n \n <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n <tr style=\"padding: 8px 0;\">\n <td style=\"width: 170px; color: #999999; font-weight: 500; padding-top: 8px; padding-bottom: 8px;\">\n New Release Tag:\n </td>\n <td style=\"color: #FFFFFF; padding-top: 8px; padding-bottom: 8px;\">\n {{ $('Merge Releases').item.json.n8n_tag }}\n </td>\n </tr>\n <tr>\n <td style=\"width: 170px; color: #999999; font-weight: 500; padding-top: 16px; padding-bottom: 8px;\">\n My Current n8n Version:\n </td>\n <td style=\"color: #FFFFFF; padding-top: 16px; padding-bottom: 8px;\">\n {{ $('Merge Releases').item.json.my_n8n_version }}\n </td>\n </tr>\n </table>\n\n <h4 style=\"color: #FFFFFF; margin: 24px 0 8px 0; \">Release Notes</h4>\n \n <div class=\"message\" style=\"background: #212830; border: 1px solid #444444; border-radius: 6px; padding: 12px; margin: 16px 0; color: #d1d7e0; \">\n {{ $json.data }}\n </div>\n\n <a href=\"{{ $json.html_url }}\" class=\"btn\" style=\"display: inline-block; padding: 10px 10px; background: #EA4B71; color: #FFFFFF; text-decoration: none; border-radius: 6px; margin: 10px 0; font-weight: 600; \">\n Read on Github\n </a>\n\n <div class=\"footer\" style=\"margin-top: 10px; padding-top: 20px; border-top: 1px solid #444444; color: #999999; font-size: 12px; \">\n Remember to backup your instance before updating.\n </div>\n </div>\n </div>\n</body>\n</html>",
"options": {
"appendAttribution": false
},
"subject": "=\u26a1 n8n New ({{ $('Merge Releases').item.json.n8n_tag }}) Version Released! [{{ $json.name }}]"
},
"credentials": {
"gmailOAuth2": {
"name": "<your credential>"
}
},
"typeVersion": 2.1
},
{
"id": "452f2888-eef2-4210-b6bc-06f9c067636e",
"name": "Get Latest n8n Release",
"type": "n8n-nodes-base.httpRequest",
"position": [
1408,
48
],
"parameters": {
"url": "=https://registry.npmjs.org/n8n/{{ $json.n8n_tag_1 }}",
"options": {
"response": {
"response": {
"fullResponse": true,
"responseFormat": "json"
}
}
}
},
"typeVersion": 4.3
},
{
"id": "ffdf5853-539c-4daf-8329-8bcbfaf9cdf0",
"name": "Get Beta n8n Release",
"type": "n8n-nodes-base.httpRequest",
"position": [
1408,
192
],
"parameters": {
"url": "=https://registry.npmjs.org/n8n/{{ $json.n8n_tag_2 }}",
"options": {
"response": {
"response": {
"fullResponse": true,
"responseFormat": "json"
}
}
}
},
"typeVersion": 4.3
},
{
"id": "06dffde1-f22c-442c-ad66-b3127d646532",
"name": "Triggers Section Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
576,
480
],
"parameters": {
"color": 4,
"width": 416,
"height": 304,
"content": "## Mohamed Anan\n\nA curious EnGiNeEr who enjoys `SoLviNg` PrObLeMs..\n___\n- [x] [Top Supporter](https://community.n8n.io/u/mohamed3nan/badges) in the [n8n community](https://community.n8n.io/u/mohamed3nan/summary) with **200+ hours** of contribution and **+200 solutions** provided, ranked **12th** on the [all-time leaderboard](https://community.n8n.io/leaderboard/1#:~:text=12-,mohamed3nan,-4%2C078).\n\n___\n\u26a1[n8n Workflows](https://n8n.io/creators/mohamed3nan/)\n\ud83d\udcbc[LinkedIn](https://link.anan.dev/Linkedin)"
},
"typeVersion": 1
},
{
"id": "f8d1fbff-6a37-460a-b9cd-9039d8c8778e",
"name": "n8n URL & Version References",
"type": "n8n-nodes-base.set",
"position": [
1232,
48
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "7c53dc45-34d8-4bee-bd4d-3eb6b3e1da94",
"name": "my_n8n_url",
"type": "string",
"value": "https://YOUR_n8n_INSTANCE_LINK"
},
{
"id": "d3ecc033-4ad6-4db8-bbd3-1ed144933170",
"name": "n8n_tag_1",
"type": "string",
"value": "latest"
},
{
"id": "80d7b269-3231-4adc-bf82-d676f8efecad",
"name": "n8n_tag_2",
"type": "string",
"value": "beta"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "07ee2f69-cd2e-4dc8-8a94-232a52fa6557",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
1008,
336
],
"parameters": {
"width": 544,
"height": 448,
"content": "### Setup\n- Configure your n8n instance URL (Set `my_n8n_url`) to detect your current version (optional \u2014 can be left blank)\n- Connect and authorize the Gmail account used to send emails\n- Update the recipient email address in the Gmail node\n\n### Requirements\n- A Gmail account for sending emails\n\n### Customization tips\n- Adjust the schedule trigger if hourly checks are too frequent\n- Modify the release channel (e.g., \u201clatest\u201d or \u201cbeta\u201d) if you want to track a different tag\n- Change the npm registry link if you want to monitor a different package\n- Customize the email template/styling in the Gmail node\n- Add additional notification channels (Slack, Discord, etc.) alongside or instead of email\n- Extend this workflow to automatically update your n8n instance when a new release becomes available"
},
"typeVersion": 1
},
{
"id": "32522437-c55d-471c-b1a3-fb23de44e5ce",
"name": "Get Instance Version",
"type": "n8n-nodes-base.httpRequest",
"position": [
1408,
-96
],
"parameters": {
"url": "={{ $json.my_n8n_url }}/rest/settings",
"options": {
"response": {
"response": {
"fullResponse": true,
"responseFormat": "json"
}
}
}
},
"typeVersion": 4.3
},
{
"id": "d5d4ee3a-5275-4ddd-93a8-e54f3228bd1e",
"name": "Schedule Trigger",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
1056,
48
],
"parameters": {
"rule": {
"interval": [
{
"field": "hours"
}
]
}
},
"typeVersion": 1.3
}
],
"connections": {
"Merge Releases": {
"main": [
[
{
"node": "Get GitHub Release Notes",
"type": "main",
"index": 0
}
]
]
},
"Combine Versions": {
"main": [
[
{
"node": "Version Variables",
"type": "main",
"index": 0
}
]
]
},
"Schedule Trigger": {
"main": [
[
{
"node": "n8n URL & Version References",
"type": "main",
"index": 0
}
]
]
},
"Set Beta Tag Info": {
"main": [
[
{
"node": "Merge Releases",
"type": "main",
"index": 1
}
]
]
},
"Version Variables": {
"main": [
[
{
"node": "Deduplicate Beta Releases",
"type": "main",
"index": 0
},
{
"node": "Deduplicate Latest Releases",
"type": "main",
"index": 0
}
]
]
},
"Set Latest Tag Info": {
"main": [
[
{
"node": "Merge Releases",
"type": "main",
"index": 0
}
]
]
},
"Get Beta n8n Release": {
"main": [
[
{
"node": "Combine Versions",
"type": "main",
"index": 2
}
]
]
},
"Get Instance Version": {
"main": [
[
{
"node": "Combine Versions",
"type": "main",
"index": 0
}
]
]
},
"Convert Notes To HTML": {
"main": [
[
{
"node": "Send Email",
"type": "main",
"index": 0
}
]
]
},
"Get Latest n8n Release": {
"main": [
[
{
"node": "Combine Versions",
"type": "main",
"index": 1
}
]
]
},
"Get GitHub Release Notes": {
"main": [
[
{
"node": "Convert Notes To HTML",
"type": "main",
"index": 0
}
]
]
},
"Deduplicate Beta Releases": {
"main": [
[
{
"node": "Set Beta Tag Info",
"type": "main",
"index": 0
}
]
]
},
"Deduplicate Latest Releases": {
"main": [
[
{
"node": "Set Latest Tag Info",
"type": "main",
"index": 0
}
]
]
},
"n8n URL & Version References": {
"main": [
[
{
"node": "Get Instance Version",
"type": "main",
"index": 0
},
{
"node": "Get Latest n8n Release",
"type": "main",
"index": 0
},
{
"node": "Get Beta n8n Release",
"type": "main",
"index": 0
}
]
]
}
}
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
gmailOAuth2
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This workflow automatically monitors n8n’s release channels (latest and beta) and sends you email notifications whenever a new version is published. It also reads the version of your current n8n instance, allowing you to integrate automatic updates and ensure you never miss a…
Source: https://n8n.io/workflows/11005/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
YOUR_ID 4. Uses gmail, googleDrive, googleSheets, httpRequest. Scheduled trigger; 53 nodes.
Instead of providing a routine check, it focuses on significant movements by: Sending a Slack alert only if a query crosses a defined movement threshold. Emailing a structured report with the Top 25 i
Looking for a way to track GitHub bounty issues automatically and get notified in real time? This GitHub Bounty Tracker workflow monitors repositories for issues labeled 💎 Bounty, logs them in Google
This workflow automatically sends a beautifully designed HTML newsletter every Sunday at 8 AM, featuring products currently on sale from your Algolia-powered e-commerce store.
This workflow automatically identifies your weekly bestselling product from your Algolia-powered e-commerce store and generates a cinematic product video using Google VEO 3.0 AI, helping marketing tea