Панель сбора материалов10.09.2026
← К материалу

SOURCE DOCUMENT

Raw HTML

Workflow Versioning for Reliable Automation and Maintenance · n8n Blog

Оригинал ↗
<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="utf-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge">
			<title>Workflow Versioning for Reliable Automation and Maintenance – n8n Blog</title>
		<meta name="HandheldFriendly" content="True">
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<!-- <link rel="preconnect" href="https://fonts.googleapis.com"> 
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="preload" as="style" href="https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,400;0,800;0,900;1,400;1,800;1,900&display=swap">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,400;0,800;0,900;1,400;1,800;1,900&display=swap"> -->
		<link rel="stylesheet" type="text/css" href="https://blog.n8n.io/assets/css/screen.css?v=M18h2_Kr5nq7cywd">
		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/fontawesome.min.css" crossorigin="anonymous" referrerpolicy="no-referrer">
		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/solid.min.css" crossorigin="anonymous" referrerpolicy="no-referrer">
		
		<script src="https://blog.n8n.io/assets/js/slugify.js?v=pgb4I6LvVtEl3iCf"></script>
		<script src="https://blog.n8n.io/assets/js/workflow-banner.js?v=tSVISzLW2Ja5gfUV"></script>
		<script src="https://blog.n8n.io/assets/js/popular-tags.js?v=X0tYuT5LRchLCeSS"></script>
		
		<!-- Google Tag Manager (blog.n8n.io) -->
		<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
		new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
		j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
		'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
		})(window,document,'script','dataLayer','GTM-MQTZKBJ');</script>
		<!-- End Google Tag Manager (blog.n8n.io) -->
		<meta name="description" content="Learn how workflow versioning works with Git-based source control. Track changes, manage environments, and roll back safely in production.">
    <link rel="icon" href="https://storage.ghost.io/c/0d/78/0d78b34c-0c5f-4975-900e-61d00ccb1c2d/content/images/size/w256h256/2022/06/logo-n8n-symbol-512x512.png" type="image/png">
    <link rel="canonical" href="https://blog.n8n.io/workflow-versioning/">
    <meta name="referrer" content="no-referrer-when-downgrade">
    
    <meta property="og:site_name" content="n8n Blog">
    <meta property="og:type" content="article">
    <meta property="og:title" content="Workflow Versioning for Reliable Automation and Maintenance">
    <meta property="og:description" content="Learn how workflow versioning works with Git-based source control. Track changes, manage environments, and roll back safely in production.">
    <meta property="og:url" content="https://blog.n8n.io/workflow-versioning/">
    <meta property="og:image" content="https://storage.ghost.io/c/0d/78/0d78b34c-0c5f-4975-900e-61d00ccb1c2d/content/images/size/w1200/2026/08/TL-5_workflow-versioning--1-.jpg">
    <meta property="article:published_time" content="2026-08-27T16:28:34.000Z">
    <meta property="article:modified_time" content="2026-08-27T16:28:34.000Z">
    <meta property="article:tag" content="Guides">
    <meta property="article:tag" content="ITOps">
    
    <meta property="article:publisher" content="https://www.facebook.com/n8nio">
    <meta name="twitter:card" content="summary_large_image">
    <meta name="twitter:title" content="Workflow Versioning for Reliable Automation and Maintenance">
    <meta name="twitter:description" content="Learn how workflow versioning works with Git-based source control. Track changes, manage environments, and roll back safely in production.">
    <meta name="twitter:url" content="https://blog.n8n.io/workflow-versioning/">
    <meta name="twitter:image" content="https://storage.ghost.io/c/0d/78/0d78b34c-0c5f-4975-900e-61d00ccb1c2d/content/images/size/w1200/2026/08/TL-5_workflow-versioning--1-.jpg">
    <meta name="twitter:label1" content="Written by">
    <meta name="twitter:data1" content="n8n team">
    <meta name="twitter:label2" content="Filed under">
    <meta name="twitter:data2" content="Guides, ITOps">
    <meta name="twitter:site" content="@n8n_io">
    <meta property="og:image:width" content="1200">
    <meta property="og:image:height" content="675">
    
    <script type="application/ld+json">
{
    "@context": "https://schema.org",
    "@type": "Article",
    "publisher": {
        "@type": "Organization",
        "name": "n8n Blog",
        "url": "https://blog.n8n.io/",
        "logo": {
            "@type": "ImageObject",
            "url": "https://storage.ghost.io/c/0d/78/0d78b34c-0c5f-4975-900e-61d00ccb1c2d/content/images/2025/09/n8n-Logo.svg",
            "width": 145,
            "height": 26
        }
    },
    "author": {
        "@type": "Person",
        "name": "n8n team",
        "image": {
            "@type": "ImageObject",
            "url": "https://www.gravatar.com/avatar/1eae00944b78b70ae368cb7f7185d8f6?s=250&r=x&d=mp",
            "width": 250,
            "height": 250
        },
        "url": "https://blog.n8n.io/author/marketing/",
        "sameAs": []
    },
    "contributor": [
        {
            "@type": "Person",
            "name": "Yulia Dmitrievna",
            "image": {
                "@type": "ImageObject",
                "url": "https://storage.ghost.io/c/0d/78/0d78b34c-0c5f-4975-900e-61d00ccb1c2d/content/images/2023/01/profile-pik.jpg"
            },
            "url": "https://blog.n8n.io/author/yulia/",
            "sameAs": []
        }
    ],
    "headline": "Workflow Versioning for Reliable Automation and Maintenance",
    "url": "https://blog.n8n.io/workflow-versioning/",
    "datePublished": "2026-08-27T16:28:34.000Z",
    "dateModified": "2026-08-27T16:28:34.000Z",
    "image": {
        "@type": "ImageObject",
        "url": "https://storage.ghost.io/c/0d/78/0d78b34c-0c5f-4975-900e-61d00ccb1c2d/content/images/size/w1200/2026/08/TL-5_workflow-versioning--1-.jpg",
        "width": 1200,
        "height": 675
    },
    "keywords": "Guides, ITOps",
    "description": "Learn how workflow versioning works with Git-based source control. Track changes, manage environments, and roll back safely in production.\n",
    "mainEntityOfPage": "https://blog.n8n.io/workflow-versioning/"
}
    </script>

    <meta name="generator" content="Ghost 6.63">
    <link rel="alternate" type="application/rss+xml" title="n8n Blog" href="https://blog.n8n.io/rss/">
    <script defer src="https://cdn.jsdelivr.net/ghost/portal@~2.71/umd/portal.min.js" data-i18n="true" data-ghost="https://blog.n8n.io/" data-key="8626993d9b363277120ea42164" data-api="https://n8n-cloud-blog.ghost.io/ghost/api/content/" data-locale="en" crossorigin="anonymous"></script><style id="gh-members-styles">.gh-post-upgrade-cta-content,
.gh-post-upgrade-cta {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    text-align: center;
    width: 100%;
    color: #ffffff;
    font-size: 16px;
}

.gh-post-upgrade-cta-content {
    border-radius: 8px;
    padding: 40px 4vw;
}

.gh-post-upgrade-cta h2 {
    color: #ffffff;
    font-size: 28px;
    letter-spacing: -0.2px;
    margin: 0;
    padding: 0;
}

.gh-post-upgrade-cta p {
    margin: 20px 0 0;
    padding: 0;
}

.gh-post-upgrade-cta small {
    font-size: 16px;
    letter-spacing: -0.2px;
}

.gh-post-upgrade-cta a {
    color: #ffffff;
    cursor: pointer;
    font-weight: 500;
    box-shadow: none;
    text-decoration: underline;
}

.gh-post-upgrade-cta a:hover {
    color: #ffffff;
    opacity: 0.8;
    box-shadow: none;
    text-decoration: underline;
}

.gh-post-upgrade-cta a.gh-btn {
    display: block;
    background: #ffffff;
    text-decoration: none;
    margin: 28px 0 0;
    padding: 8px 18px;
    border-radius: 4px;
    font-size: 16px;
    font-weight: 600;
}

.gh-post-upgrade-cta a.gh-btn:hover {
    opacity: 0.92;
}</style>
    <script defer src="https://cdn.jsdelivr.net/ghost/sodo-search@~1.8/umd/sodo-search.min.js" data-key="8626993d9b363277120ea42164" data-styles="https://cdn.jsdelivr.net/ghost/sodo-search@~1.8/umd/main.css" data-sodo-search="https://n8n-cloud-blog.ghost.io/" data-locale="en" crossorigin="anonymous"></script>
    
    <link href="https://blog.n8n.io/webmentions/receive/" rel="webmention">
    <script defer src="/public/cards.min.js?v=H-xYiMJpfVIWffjV"></script>
    <link rel="stylesheet" type="text/css" href="/public/cards.min.css?v=yumsKhOGY54VXmGs">
    <script defer src="/public/ghost-stats.min.js?v=vFcCUf6ZQ0Hyhc8h" data-stringify-payload="false" data-datasource="analytics_events" data-storage="localStorage" data-host="https://blog.n8n.io/.ghost/analytics/api/v1/page_hit"  tb_site_uuid="0d78b34c-0c5f-4975-900e-61d00ccb1c2d" tb_post_uuid="0cb91fcd-50b2-4a5a-9d74-428b2bac08c0" tb_post_type="post" tb_member_uuid="undefined" tb_member_status="undefined" tb_gift_link=""></script><style>:root {--ghost-accent-color: #FD8925;}</style>
	</head>
	<body class="post-template tag-guides tag-itops">
		
		<!-- Google Tag Manager (noscript) -->
		<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-MQTZKBJ"
		height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
		<!-- End Google Tag Manager (noscript) -->
		<div class="global-wrap">
			<div class="global-content">
				<div class="hero-background-decoration"></div>
				<header class="header-section">
	<div class="header-container">
		<div class="header-navbar">
			<!-- Left Section: Logo + Navigation -->
			<div class="header-left">
				<div class="header-logo">
					<a href="https://blog.n8n.io" class="logo-link">
						<img src="https://storage.ghost.io/c/0d/78/0d78b34c-0c5f-4975-900e-61d00ccb1c2d/content/images/2025/09/n8n-Logo.svg" alt="n8n Blog" class="logo-image">
					</a>
				</div>
				<nav class="header-navigation">
					<ul class="nav-list">
						<li class="nav-item"><a href="https://n8n.io/" class="nav-link">n8n home</a></li>
						<li class="nav-item"><a href="/tag/tutorial/" class="nav-link">Tutorials</a></li>
						<li class="nav-item"><a href="/tag/guide/" class="nav-link">Guides</a></li>
						<li class="nav-item"><a href="/tag/tips/" class="nav-link">Tips</a></li>
						<li class="nav-item"><a href="/tag/by-partners/" class="nav-link">By partners</a></li>
						<li class="nav-item"><a href="/tag/news/" class="nav-link">News</a></li>
                        <li class="nav-item"><a href="/tag/interview/" class="nav-link">Interviews</a></li>
                    </ul>
				</nav>
			</div>
			
			<!-- Right Section: GitHub Badge + Sign In + Get Started -->
			<div class="header-right">
				<a href="https://github.com/n8n-io/n8n" class="github-badge" target="_blank" rel="noopener noreferrer">
					<div class="github-icon">
						<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
							<path fill-rule="evenodd" clip-rule="evenodd" d="M12 0C5.37 0 0 5.37 0 12C0 17.31 3.435 21.795 8.205 23.385C8.805 23.49 9.03 23.13 9.03 22.815C9.03 22.53 9.015 21.585 9.015 20.58C6 21.135 5.22 19.845 4.98 19.17C4.845 18.825 4.26 17.76 3.75 17.475C3.33 17.25 2.73 16.695 3.735 16.68C4.68 16.665 5.355 17.55 5.58 17.91C6.66 19.725 8.385 19.215 9.075 18.9C9.18 18.12 9.495 17.595 9.84 17.295C7.17 16.995 4.38 15.96 4.38 11.37C4.38 10.065 4.845 8.985 5.61 8.145C5.49 7.845 5.07 6.615 5.73 4.965C5.73 4.965 6.735 4.65 9.03 6.195C9.99 5.925 11.01 5.79 12.03 5.79C13.05 5.79 14.07 5.925 15.03 6.195C17.325 4.635 18.33 4.965 18.33 4.965C18.99 6.615 18.57 7.845 18.45 8.145C19.215 8.985 19.68 10.05 19.68 11.37C19.68 15.975 16.875 16.995 14.205 17.295C14.64 17.67 15.015 18.39 15.015 19.515C15.015 21.12 15 22.41 15 22.815C15 23.13 15.225 23.505 15.825 23.385C18.2072 22.5807 20.2772 21.0497 21.7437 19.0074C23.2101 16.965 23.9993 14.5143 24 12C24 5.37 18.63 0 12 0Z" fill="currentColor"/>
						</svg>
					</div>
					<span class="github-text">Github ★ 162k</span>
				</a>
				<a href="https://app.n8n.cloud/" class="sign-in-link">Sign in</a>
				<a href="https://app.n8n.cloud/register" class="get-started-btn">Get Started</a>
			</div>

			<!-- Mobile Menu Toggle -->
			<div class="mobile-menu-toggle">
				<input id="mobile-toggle" class="mobile-checkbox" type="checkbox">
				<label class="mobile-toggle-label" for="mobile-toggle">
					<span class="hamburger">
						<span class="bar"></span>
						<span class="bar"></span>
						<span class="bar"></span>
					</span>
				</label>
				<!-- Mobile Navigation Menu -->
				<nav class="mobile-navigation">
					<ul class="mobile-nav-list">
						<li class="mobile-nav-item"><a href="https://n8n.io/" class="mobile-nav-link">n8n home</a></li>
						<li class="mobile-nav-item"><a href="/tag/tutorial/" class="mobile-nav-link">Tutorials</a></li>
						<li class="mobile-nav-item"><a href="/tag/guide/" class="mobile-nav-link">Guides</a></li>
						<li class="mobile-nav-item"><a href="/tag/tips/" class="mobile-nav-link">Tips</a></li>
                        <li class="mobile-nav-item"><a href="/tag/by-partners/" class="mobile-nav-link">By partners</a></li>
                        <li class="mobile-nav-item"><a href="/tag/news/" class="mobile-nav-link">News</a></li>
                        <li class="mobile-nav-item"><a href="/tag/interview/" class="mobile-nav-link">Interviews</a></li>
						<li class="mobile-nav-item mobile-auth">
							<a href="https://app.n8n.cloud/" class="mobile-nav-link">Sign in</a>
							<a href="https://app.n8n.cloud/register" class="mobile-get-started-btn">Get Started</a>
						</li>
					</ul>
				</nav>
			</div>
		</div>
	</div>
</header>				<main class="global-main">
					<progress class="post-progress"></progress>

<!-- Hero Section for Blog Post -->
<div class="post-hero-section">
	<div class="post-hero-container">
		<div class="post-hero-content">
			<div class="post-hero-tags">
				<a href="/tag/guides/" class="post-hero-chip">Guides</a>
			</div>
			<div class="post-hero-copy">
				<div class="post-hero-header">
					<h1 class="post-hero-title">Workflow Versioning for Reliable Automation and Maintenance</h1>
				</div>
				<div class="post-hero-subheader">
					<p>Learn how workflow versioning works with Git-based source control. Track changes, manage environments, and roll back safely in production.
</p>
				</div>
			</div>
			<div class="post-hero-authors">
				<div class="post-hero-avatars">
					<div class="post-hero-avatar" style="background-image: url(https://www.gravatar.com/avatar/1eae00944b78b70ae368cb7f7185d8f6?s&#x3D;250&amp;r&#x3D;x&amp;d&#x3D;mp)">
					</div>
					<div class="post-hero-avatar" style="background-image: url(https://storage.ghost.io/c/0d/78/0d78b34c-0c5f-4975-900e-61d00ccb1c2d/content/images/2023/01/profile-pik.jpg)">
					</div>
				</div>
				<div class="post-hero-author-info">
					<div class="post-hero-author-name">
						<a href="/author/marketing/">n8n team</a>, <a href="/author/yulia/">Yulia Dmitrievna</a>
					</div>
					<div class="post-hero-author-meta">
						<time datetime="2026-08-27">August 27, 2026</time> ∙ 6 minutes read
					</div>
				</div>
			</div>
		</div>
		<div class="post-hero-node-box">
			<div class="post-hero-image-wrapper">
				<img class="post-hero-image"
					srcset="https://storage.ghost.io/c/0d/78/0d78b34c-0c5f-4975-900e-61d00ccb1c2d/content/images/size/w400/2026/08/TL-5_workflow-versioning--1-.jpg 400w,
							https://storage.ghost.io/c/0d/78/0d78b34c-0c5f-4975-900e-61d00ccb1c2d/content/images/size/w600/2026/08/TL-5_workflow-versioning--1-.jpg 600w,
							https://storage.ghost.io/c/0d/78/0d78b34c-0c5f-4975-900e-61d00ccb1c2d/content/images/size/w800/2026/08/TL-5_workflow-versioning--1-.jpg 1000w,
							https://storage.ghost.io/c/0d/78/0d78b34c-0c5f-4975-900e-61d00ccb1c2d/content/images/size/w1200/2026/08/TL-5_workflow-versioning--1-.jpg 1600w"
					sizes="(max-width: 480px) 400px,
						   (max-width: 768px) 600px,
						   (max-width: 1024px) 800px,
						   544px"
					src="https://storage.ghost.io/c/0d/78/0d78b34c-0c5f-4975-900e-61d00ccb1c2d/content/images/size/w800/2026/08/TL-5_workflow-versioning--1-.jpg"
					alt="n8n workflow nodes with a version control download icon spanning light and dark environments illustrating workflow versioning"
					loading="eager">
			</div>
		</div>
	</div>
</div>

<!-- Post Content -->
<article class="post-article">
	<div class="post-content-wrapper">
		<div id="toc"></div>
		<div class="post-content">
		<p>Changing something small, like a single field mapping or expression, can have negative downstream effects that stop an entire workflow. Without version history, figuring out what happened means searching Slack threads or relying on someone to remember what they changed.</p><p>Workflow versioning in n8n offers a reliable record where you can track and restore working states, making automation easier to manage and safer to scale.</p><h2 id="what-workflow-versioning-means-for-automation-infrastructure">What workflow versioning means for automation infrastructure</h2><p>Workflow versioning means keeping a traceable record of how automation changes over time. Each workflow version is a saved snapshot of the workflow definition at that moment. It captures the configuration of each integration, along with the logic and settings that determine how the workflow runs. When its behavior changes, you have a reliable reference point to compare it against.</p><p>Versioning helps you manage three common operational risks:</p><ul><li><strong>Silent regressions:</strong> A change fixes one part of the workflow but disrupts a later step. Comparing versions helps you find the exact update that introduced the problem.</li><li><strong>Concurrent overwrites:</strong> Two people edit the same workflow, and one person’s changes replace the other’s. Version tracking makes those competing changes easier to track and resolve.</li><li><strong>No rollback path:</strong> A workflow breaks, and there’s no reliable way to return to the last working state. Saved versions give you a trusted working state to restore instead of manually rebuilding from scratch.</li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://storage.ghost.io/c/0d/78/0d78b34c-0c5f-4975-900e-61d00ccb1c2d/content/images/2026/08/workflow-versioning--1---1-.png" class="kg-image" alt="Diagram showing three workflow versioning risks: silent regression causing downstream errors, concurrent overwrite losing changes, and no rollback from broken state" loading="lazy" width="768" height="1376" srcset="https://storage.ghost.io/c/0d/78/0d78b34c-0c5f-4975-900e-61d00ccb1c2d/content/images/size/w600/2026/08/workflow-versioning--1---1-.png 600w, https://storage.ghost.io/c/0d/78/0d78b34c-0c5f-4975-900e-61d00ccb1c2d/content/images/2026/08/workflow-versioning--1---1-.png 768w" sizes="(min-width: 720px) 720px"><figcaption><i><em class="italic" style="white-space: pre-wrap;">Schematic diagram illustrating the risks of not having a proper workflow versioning: regression, concurrent overwrite and the absence of rollback mechanism</em></i></figcaption></figure><h2 id="how-git-maps-onto-workflow-definitions">How Git maps onto workflow definitions</h2><p>Git is a version control system that records how text-based files change over time. Developers usually use it for application code. n8n is a source-available, AI-native workflow automation platform that uses JSON files.</p>
<!--kg-card-begin: html-->
<div class="content-banner">
  <div>
    <h3>Track, version, and deploy workflows with confidence</h3>
    <p>Connect n8n to Git and manage workflows across development, staging, and production environments</p>
  </div>
  <a href="https://app.n8n.cloud/register" class="global-button blog-banner-signup">Sign up for free</a>
</div>
<!--kg-card-end: html-->
<p>That JSON file describes how the workflow is built and how it should run. It includes the nodes, their configuration, the connections between them, and the workflow’s logic and settings. However, it excludes runtime information, like execution history and usable credential secrets, which remain separate for security and operational reasons.</p><p>Keep in mind that not every platform approaches workflow versioning the same way. <a href="https://docs.n8n.io/administer/use-source-control-and-environments/use-git-in-n8n"><u>n8n uses Git</u></a>, while <a href="https://learn.temporal.io/courses/versioning/"><u>Temporal </u></a>workflow versioning handles workflows that are still running when developers update the underlying code.</p><p>In Temporal versioning, the SDK can replay a workflow’s event history to rebuild its working state. That history should always produce the same result. An incompatible change can make the workflow non-deterministic, so Temporal uses patching and GetVersion (an API for safely updating workflow definition code without causing non-determinism errors) to assign a version number. Existing executions can then follow the old version, while new ones take updated code paths.</p><p>Once Git stores workflow definitions, branches can represent different states of the same workflow. A development branch holds work in progress, while a staging environment gives you a place to test it. A production branch contains the approved version running in the live environment. Keeping the states separate lets you experiment without changing the live workflow that customers depend on.</p><p>The workflow definition moves between n8n and the Git repository through a push-and-pull process. You push the latest saved version from an n8n instance to its connected branch, while a pull brings an approved version back, which you can then choose to publish.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://storage.ghost.io/c/0d/78/0d78b34c-0c5f-4975-900e-61d00ccb1c2d/content/images/2026/08/n8n-git-pattern--1---1-.png" class="kg-image" alt="n8n multi-instance Git branching pattern showing development instance pushing to development branch and production branch pulling to production instance via pull request" loading="lazy" width="1376" height="768" srcset="https://storage.ghost.io/c/0d/78/0d78b34c-0c5f-4975-900e-61d00ccb1c2d/content/images/size/w600/2026/08/n8n-git-pattern--1---1-.png 600w, https://storage.ghost.io/c/0d/78/0d78b34c-0c5f-4975-900e-61d00ccb1c2d/content/images/size/w1000/2026/08/n8n-git-pattern--1---1-.png 1000w, https://storage.ghost.io/c/0d/78/0d78b34c-0c5f-4975-900e-61d00ccb1c2d/content/images/2026/08/n8n-git-pattern--1---1-.png 1376w" sizes="(min-width: 720px) 720px"><figcaption><i><em class="italic" style="white-space: pre-wrap;">A multi-branch / multi-instance pattern for workflow versioning and deployment. Check all available options: https://docs.n8n.io/administer/use-source-control-and-environments/choose-branching-patterns</em></i></figcaption></figure><h2 id="best-practices-for-managing-workflow-versions-at-scale">Best practices for managing workflow versions at scale</h2><p>As more workflows and contributors enter the picture, version control should become a consistent company-wide practice rather than a frenzied response when something goes south. Follow these best practices to manage workflows at scale.</p><h3 id="write-descriptive-commit-messages">Write descriptive commit messages</h3><p>A commit message should tell the next person what changed and why. Avoid vague labels like “Updated workflow,” as they offer little help when you’re investigating a failure months down the line.</p><p>Instead, use a specific message like “Prevent duplicate confirmation messages after payment retries.” It names the behavior that changed and gives the next person relevant context.</p><h3 id="use-branch-per-environment-consistently">Use branch-per-environment consistently</h3><p>Give development, staging, and production their own branches, then use the same naming and promotion path across your projects to create familiarity and avoid confusion.&nbsp;</p><p>Across any workflow, it’s important to have a standardized direction each time you deploy a change:</p><ul><li>Build in development</li><li>Test in staging</li><li>Pull approved work into production</li></ul><p>Avoid casually pushing and pulling from the same instance, as competing states can overwrite one another.</p><h3 id="gate-production-with-a-pull-request">Gate production with a pull request</h3><p>A pull request creates a checkpoint between development and production. Before promoting a workflow change, ask a teammate to review it in your Git provider, confirm the intended behavior, and flag anything that needs more testing.</p><p>It’s an extra step that gives you a shared point of responsibility and reduces the likelihood of one person’s unreviewed change becoming a live incident. The review occurs in your Git provider, while n8n handles the workflow changes and environment sync.</p><h3 id="keep-credentials-out-of-the-repository">Keep credentials out of the repository</h3><p>Never hardcode API keys, passwords, or access tokens inside Git workflow fields. Keep confidential information in your credential store. n8n fetches credentials and environmental variables without revealing sensitive keys.</p><p>Keep the repository private because workflow definitions and those references may reveal useful details about your system, like integrations and naming conventions.</p><h3 id="build-a-backup-workflow-for-community-edition">Build a backup workflow for Community Edition</h3><p>Native source control is available on our <a href="https://n8n.io/pricing/"><u>Business and Enterprise plans</u></a>. When you use <a href="https://docs.n8n.io/deploy/host-n8n/community-edition-features"><u>Community Edition</u></a>, you can create a scheduled workflow that retrieves your workflow definitions through the n8n API and saves changed JSON files to a private Git repository.</p><p>However, treat this as a backup process and not a full replacement for native environments. Add clear commit messages and regularly test whether you can restore exported workflows. n8n’s workflow library includes <a href="https://n8n.io/workflows/5081-bidirectional-github-workflow-sync-and-version-control-for-n8n-workflows/"><u>GitHub synchronization</u></a> that can serve as a starting point.</p><h2 id="setting-up-workflow-version-control-in-n8n">Setting up workflow version control in n8n</h2><p>n8n’s native source control connects workflow development to Git, so you can move definitions between controlled environments instead of editing every instance independently.</p><h3 id="connect-a-repository">Connect a repository</h3><p>Give n8n a shared place to store workflow definitions. In <strong>Settings &gt; Environments</strong>, <a href="https://docs.n8n.io/administer/use-source-control-and-environments/tutorial-create-environments-with-source-control"><u>connect a private repository</u></a> from a provider like GitHub, GitLab, or Bitbucket using SSH or HTTPS. Keep the repository private, as it can contain workflow structures, tags, and credentials, even though n8n doesn’t push the secret values.</p><h3 id="map-branches-to-environments">Map branches to environments</h3><p>After connecting a repository, decide how changes should travel toward production. You can <a href="https://docs.n8n.io/administer/use-source-control-and-environments/work-with-environments"><u>connect separate n8n instances</u></a> to development, stages, and production branches and give each stage its own workflow state. Isolating each state prevents an incomplete project from accidentally affecting a live automation.</p><h3 id="protect-production">Protect production</h3><p>After mapping the production instance to its branch, mark the instance as protected. n8n will then prevent users from editing <a href="https://docs.n8n.io/administer/use-source-control-and-environments/set-up-source-control"><u>source-controlled resources</u></a> there directly, making production a deployment target rather than an additional editing workspace. This reduces concurrent overwrites, as people make changes upstream and promote them intentionally instead of modifying the live workflow.</p><h3 id="review-workflow-diffs">Review workflow diffs</h3><p>Before you push or pull, <a href="https://docs.n8n.io/administer/use-source-control-and-environments/compare-versions"><u>workflow diffs</u></a> compare the version on your n8n instance with the latest version in the repository. The visual view shows added, modified, and deleted nodes or connections, while modified nodes expose a JSON-level configuration diff. This gives you a final check before one state replaces another.</p><h3 id="use-workflow-history-as-a-fallback">Use workflow history as a fallback</h3><p><a href="https://docs.n8n.io/build/manage-workflows/view-change-history"><u>Workflow history</u></a> automatically <a href="https://blog.n8n.io/announcing-autosave/"><u>records saved versions</u></a> inside your n8n instance, separately from Git:</p><ul><li>All users can access versions from the last 24 hours</li><li>Cloud Pro users receive five days</li><li>Enterprise Cloud and Enterprise self-hosted plans provide full history</li></ul><p>You can use this access feature if Git sync wasn’t configured or you need to undo a recent local change. However, it doesn’t create environment branches or a Git-based release process.</p><h3 id="understand-the-boundaries">Understand the boundaries</h3><p>n8n’s <a href="https://docs.n8n.io/deploy/host-n8n/configure-n8n/basic-configuration/use-environment-variables/source-control"><u>source control</u></a> isn’t a complete Git implementation, so it’s important to understand what it doesn’t do. You handle pull-request reviews and merges in your Git provider, and pulling a remote workflow overwrites unpushed local changes rather than merging them. Community Edition doesn’t include native source control, so you need a separate backup process using the Git node or external tooling.</p>
<!--kg-card-begin: html-->
<div class="content-banner">
  <div>
    <h3>Ready to reduce rework and encourage transparency?</h3>
    <p>Build a better process with version control, environment branches, and rollback built into your workflows</p>
  </div>
  <a href="https://app.n8n.cloud/register" class="global-button blog-banner-signup">Sign up for free</a>
</div>
<!--kg-card-end: html-->
<h2 id="make-workflow-safer-with-version-control-in-n8n">Make workflow safer with version control in n8n</h2><p>Workflow versioning gives you a reliable path from development to production. You can see what changed, review it before release, and return to a known working state if something breaks. As your automation footprint grows, workflow versioning offers a structure to fix problems without slowing down day-to-day development.</p><p><a href="https://docs.n8n.io/source-control-environments/"><u>Explore source control and environments</u></a> to learn how the setup works in n8n, or <a href="https://app.n8n.cloud/register"><u>try n8n Cloud</u></a> to start building workflows on a shared automation platform.</p>
		<!-- Share with us section -->
		<div class="post-share-section">
			<div class="post-share-content">
				<h2 class="post-share-title">Share with us</h2>
				<div class="post-share-body">
					<p>n8n users come from a wide range of backgrounds, experience levels, and interests. We have been looking to highlight different users and their projects in our blog posts. If you're working with n8n and would like to inspire the community, <a href="https://n8n-community.typeform.com/to/VYiRI7WN?ref=blog.n8n.io">contact us</a> 💌</p>
				</div>
			</div>


			<!-- Share buttons -->
			<div class="post-share-buttons">
				<span class="post-share-label">SHARE</span>
				<div class="post-share-icons">
					<a href="#" class="post-share-link" onclick="copyToClipboard(window.location.href); return false;">
						<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
							<path d="M11.293 8.293L7.58604 4.58604C6.80499 3.80499 5.53866 3.80499 4.75761 4.58604C3.97656 5.36709 3.97656 6.63342 4.75761 7.41447L8.46458 11.1214C9.24563 11.9025 10.512 11.9025 11.293 11.1214C12.0741 10.3404 12.0741 9.07405 11.293 8.293Z" stroke="#E8E5EB" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
							<path d="M12.707 15.707L16.414 19.414C17.195 20.195 18.4613 20.195 19.2424 19.414C20.0234 18.6329 20.0234 17.3666 19.2424 16.5855L15.5354 12.8786C14.7544 12.0975 13.488 12.0975 12.707 12.8786C11.9259 13.6596 11.9259 14.9259 12.707 15.707Z" stroke="#E8E5EB" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
							<path d="M14.8285 9.17145L9.17145 14.8285" stroke="#E8E5EB" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
						</svg>
					</a>
					<a href="https://twitter.com/intent/tweet?text=Workflow%20Versioning%20for%20Reliable%20Automation%20and%20Maintenance&url=https://blog.n8n.io/workflow-versioning/" target="_blank" rel="noopener" class="post-share-twitter">
						<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
							<path d="M17.75 3.75H20.5L13.93 11.18L21.64 20.25H15.67L10.99 14.32L5.64 20.25H2.89L9.91 12.4L2.5 3.75H8.64L12.87 9.16L17.75 3.75ZM16.49 18.47H18.14L7.74 5.44H5.97L16.49 18.47Z" fill="#E8E5EB"/>
						</svg>
					</a>
					<a href="https://www.linkedin.com/sharing/share-offsite/?url=https://blog.n8n.io/workflow-versioning/" target="_blank" rel="noopener" class="post-share-linkedin">
						<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
							<path d="M20.447 20.452H16.893V14.883C16.893 13.555 16.866 11.846 15.041 11.846C13.188 11.846 12.905 13.291 12.905 14.785V20.452H9.351V9H12.765V10.561H12.811C13.288 9.661 14.448 8.711 16.181 8.711C19.782 8.711 20.448 11.081 20.448 14.166V20.452H20.447ZM5.337 7.433C4.193 7.433 3.274 6.507 3.274 5.368C3.274 4.23 4.194 3.305 5.337 3.305C6.477 3.305 7.401 4.23 7.401 5.368C7.401 6.507 6.476 7.433 5.337 7.433ZM7.119 20.452H3.555V9H7.119V20.452ZM22.225 0H1.771C0.792 0 0 0.774 0 1.729V22.271C0 23.227 0.792 24 1.771 24H22.222C23.2 24 24 23.227 24 22.271V1.729C24 0.774 23.2 0 22.222 0H22.225Z" fill="#E8E5EB"/>
						</svg>
					</a>
				</div>
			</div>
		</div>
		</div>
	</div>
</article>

<aside class="post-navigation-section">
	<div class="post-navigation-wrap">
		<a href="/rbac-for-ai-agents/" class="post-navigation-card" aria-label="RBAC for AI Agents: Why Static Roles Break and What Replaces Them">
			<div class="post-navigation-thumbnail">
				<div class="post-navigation-image" style="background-image: url(https://storage.ghost.io/c/0d/78/0d78b34c-0c5f-4975-900e-61d00ccb1c2d/content/images/2026/08/TL-3_BlogHeader_rbac-ai-agents_6_11zon.jpg)"></div>
			</div>
			<div class="post-navigation-content">
				<div class="post-navigation-header">
					<h3 class="post-navigation-title">RBAC for AI Agents: Why Static Roles Break and What Replaces Them</h3>
				</div>
				<div class="post-navigation-label">Newer post</div>
			</div>
		</a>
		<a href="/etl-pipeline/" class="post-navigation-card" aria-label="ETL Pipeline Patterns for Reliable, Scalable Automation">
			<div class="post-navigation-thumbnail">
				<div class="post-navigation-image" style="background-image: url(https://storage.ghost.io/c/0d/78/0d78b34c-0c5f-4975-900e-61d00ccb1c2d/content/images/2026/08/TL-5_etl-pipeline--1-.jpg)"></div>
			</div>
			<div class="post-navigation-content">
				<div class="post-navigation-header">
					<h3 class="post-navigation-title">ETL Pipeline Patterns for Reliable, Scalable Automation</h3>
				</div>
				<div class="post-navigation-label">Older post</div>
			</div>
		</a>
	</div>
</aside><div class="comments-section">
	<div class="comments-wrap">
			</div>
</div>
<section class="post-related-section"
         data-related-api
         data-post-url="https://blog.n8n.io/workflow-versioning/"
         data-tag-name="Guides"
         style="display:none">
  <div class="post-related-container">
    <div class="post-related-header">
      <h2 class="post-related-title">Other guides to get you going</h2>
    </div>
    <div class="post-related-grid"></div>
  </div>
</section>
<section class="post-workflows-section"
         data-workflows-api
         data-post-url="https://blog.n8n.io/workflow-versioning/"
         style="display:none">
  <div class="post-workflows-container">
    <div class="post-workflows-header">
      <h2 class="post-workflows-title">Where there's a will, there's already a workflow</h2>
    </div>
    <div class="post-workflows-grid"></div>
  </div>
</section>
<!--<section class="post-latest-section">
	<div class="post-latest-container">
		<div class="post-latest-header">
			<h2 class="post-latest-title">Latest n8n guides</h2>
		</div>
		<div class="post-latest-grid">
			<article class="post-latest-card post tag-guides tag-ai-9">
	<a href="/mcp-vs-api/" class="global-link" aria-label="MCP vs. API: Key Differences and When To Use Each"></a>
	<div class="post-latest-card-container">
		<a href="/mcp-vs-api/" class="post-latest-card-image global-image">
			<img srcset="https://storage.ghost.io/c/0d/78/0d78b34c-0c5f-4975-900e-61d00ccb1c2d/content/images/size/w400/2026/09/TL--17-.jpeg 400w,
			 https://storage.ghost.io/c/0d/78/0d78b34c-0c5f-4975-900e-61d00ccb1c2d/content/images/size/w600/2026/09/TL--17-.jpeg 600w, 
			 https://storage.ghost.io/c/0d/78/0d78b34c-0c5f-4975-900e-61d00ccb1c2d/content/images/size/w800/2026/09/TL--17-.jpeg 800w,
			 https://storage.ghost.io/c/0d/78/0d78b34c-0c5f-4975-900e-61d00ccb1c2d/content/images/size/w1200/2026/09/TL--17-.jpeg 1200w"
	 sizes="(max-width:480px) 350px, 500px"
	 src="https://storage.ghost.io/c/0d/78/0d78b34c-0c5f-4975-900e-61d00ccb1c2d/content/images/size/w600/2026/09/TL--17-.jpeg"
	 loading="lazy"
	 alt="MCP vs. API: Key Differences and When To Use Each">
		</a>
		<div class="post-latest-card-content">
			<div class="post-latest-card-tags global-tags">
								<a href="/tag/guides/">Guides</a><a href="/tag/ai-9/">AI</a>
			</div>
			<div class="post-latest-card-copy">
				<h3 class="post-latest-card-title"><a href="/mcp-vs-api/">MCP vs. API: Key Differences and When To Use Each</a></h3>
				<div class="post-latest-card-authors global-meta">
					<a href="/author/marketing/">n8n team</a>, <a href="/author/yulia/">Yulia Dmitrievna</a>
				</div>
			</div>
		</div>
	</div>
</article>			<article class="post-latest-card post tag-guides tag-ai-9">
	<a href="/autonomous-ai-agents/" class="global-link" aria-label="Autonomous AI Agents: Architecture and Risk Mitigation"></a>
	<div class="post-latest-card-container">
		<a href="/autonomous-ai-agents/" class="post-latest-card-image global-image">
			<img srcset="https://storage.ghost.io/c/0d/78/0d78b34c-0c5f-4975-900e-61d00ccb1c2d/content/images/size/w400/2026/09/TL-2_BlogHeader_autonomous-ai-agents--1-.jpg 400w,
			 https://storage.ghost.io/c/0d/78/0d78b34c-0c5f-4975-900e-61d00ccb1c2d/content/images/size/w600/2026/09/TL-2_BlogHeader_autonomous-ai-agents--1-.jpg 600w, 
			 https://storage.ghost.io/c/0d/78/0d78b34c-0c5f-4975-900e-61d00ccb1c2d/content/images/size/w800/2026/09/TL-2_BlogHeader_autonomous-ai-agents--1-.jpg 800w,
			 https://storage.ghost.io/c/0d/78/0d78b34c-0c5f-4975-900e-61d00ccb1c2d/content/images/size/w1200/2026/09/TL-2_BlogHeader_autonomous-ai-agents--1-.jpg 1200w"
	 sizes="(max-width:480px) 350px, 500px"
	 src="https://storage.ghost.io/c/0d/78/0d78b34c-0c5f-4975-900e-61d00ccb1c2d/content/images/size/w600/2026/09/TL-2_BlogHeader_autonomous-ai-agents--1-.jpg"
	 loading="lazy"
	 alt="Autonomous AI Agents: Architecture and Risk Mitigation">
		</a>
		<div class="post-latest-card-content">
			<div class="post-latest-card-tags global-tags">
								<a href="/tag/guides/">Guides</a><a href="/tag/ai-9/">AI</a>
			</div>
			<div class="post-latest-card-copy">
				<h3 class="post-latest-card-title"><a href="/autonomous-ai-agents/">Autonomous AI Agents: Architecture and Risk Mitigation</a></h3>
				<div class="post-latest-card-authors global-meta">
					<a href="/author/marketing/">n8n team</a>, <a href="/author/yulia/">Yulia Dmitrievna</a>
				</div>
			</div>
		</div>
	</div>
</article>			<article class="post-latest-card post">
	<a href="/introducing-n8n-assistant/" class="global-link" aria-label="Introducing n8n Assistant"></a>
	<div class="post-latest-card-container">
		<a href="/introducing-n8n-assistant/" class="post-latest-card-image global-image">
			<img srcset="https://storage.ghost.io/c/0d/78/0d78b34c-0c5f-4975-900e-61d00ccb1c2d/content/images/size/w400/2026/09/Blog-header---n8n-Assistant-Launch.jpg 400w,
			 https://storage.ghost.io/c/0d/78/0d78b34c-0c5f-4975-900e-61d00ccb1c2d/content/images/size/w600/2026/09/Blog-header---n8n-Assistant-Launch.jpg 600w, 
			 https://storage.ghost.io/c/0d/78/0d78b34c-0c5f-4975-900e-61d00ccb1c2d/content/images/size/w800/2026/09/Blog-header---n8n-Assistant-Launch.jpg 800w,
			 https://storage.ghost.io/c/0d/78/0d78b34c-0c5f-4975-900e-61d00ccb1c2d/content/images/size/w1200/2026/09/Blog-header---n8n-Assistant-Launch.jpg 1200w"
	 sizes="(max-width:480px) 350px, 500px"
	 src="https://storage.ghost.io/c/0d/78/0d78b34c-0c5f-4975-900e-61d00ccb1c2d/content/images/size/w600/2026/09/Blog-header---n8n-Assistant-Launch.jpg"
	 loading="lazy"
	 alt="Introducing n8n Assistant">
		</a>
		<div class="post-latest-card-content">
			<div class="post-latest-card-tags global-tags">
								
			</div>
			<div class="post-latest-card-copy">
				<h3 class="post-latest-card-title"><a href="/introducing-n8n-assistant/">Introducing n8n Assistant</a></h3>
				<div class="post-latest-card-authors global-meta">
					<a href="/author/paul/">Paul Gordon, n8n</a>
				</div>
			</div>
		</div>
	</div>
</article>		</div>
	</div>
</section>
-->

					<!-- <div class="subscribe-section">
	<div class="subscribe-wrap">
		<h3>Subscribe to new posts</h3>
		<form data-members-form="subscribe" class="subscribe-form">
			<input data-members-email type="email" placeholder="Your email address" aria-label="Your email address" required>
			<button class="global-button" type="submit">Subscribe</button>
		</form>
		<div class="subscribe-alert">
			<small class="alert-loading global-alert">Processing your application</small>
			<small class="alert-success global-alert">Please check your inbox and click the link to confirm your subscription</small>
			<small class="alert-error global-alert">There was an error sending the email</small>
		</div>
	</div>
</div>
 -->
				</main>
				<!-- Mobile Footer (hidden on desktop, shown on mobile) -->
<footer class="footer-mobile">
	<div class="footer-mobile-container">

		<!-- Logo and Tagline Section -->
		<div class="footer-mobile-brand">
			<div class="footer-mobile-logo">
				<a href="https://blog.n8n.io"><img src="https://storage.ghost.io/c/0d/78/0d78b34c-0c5f-4975-900e-61d00ccb1c2d/content/images/2025/09/n8n-Logo.svg" alt="n8n Blog"></a>
			</div>
			<p class="footer-mobile-tagline">Automate without limits</p>

			<!-- Social Icons -->
			<div class="footer-mobile-social">
				<a href="https://x.com/n8n_io" aria-label="X (Twitter)"><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M23.954 4.569c-.885.389-1.83.654-2.825.775 1.014-.611 1.794-1.574 2.163-2.723-.951.555-2.005.959-3.127 1.184-.896-.959-2.173-1.559-3.591-1.559-2.717 0-4.92 2.203-4.92 4.917 0 .39.045.765.127 1.124C7.691 8.094 4.066 6.13 1.64 3.161c-.427.722-.666 1.561-.666 2.475 0 1.71.87 3.213 2.188 4.096-.807-.026-1.566-.248-2.228-.616v.061c0 2.385 1.693 4.374 3.946 4.827-.413.111-.849.171-1.296.171-.314 0-.615-.03-.916-.086.631 1.953 2.445 3.377 4.604 3.417-1.68 1.319-3.809 2.105-6.102 2.105-.39 0-.779-.023-1.17-.067 2.189 1.394 4.768 2.209 7.557 2.209 9.054 0 13.999-7.496 13.999-13.986 0-.209 0-.42-.015-.63.961-.689 1.8-1.56 2.46-2.548l-.047-.02z"/></svg></a>
				<a href="https://github.com/n8n-io/n8n" aria-label="GitHub"><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/></svg></a>
				<a href="https://discord.gg/n8n" aria-label="Discord"><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M20.222 0c1.406 0 2.54 1.137 2.607 2.475V24l-2.677-2.273-1.47-1.338-1.604-1.398.67 2.205H3.71c-1.402 0-2.54-1.065-2.54-2.476V2.48C1.17 1.142 2.31.003 3.715.003h16.5L20.222 0zm-6.118 5.683h-.03l-.202.2c2.073.6 3.076 1.537 3.076 1.537-1.336-.668-2.54-1.002-3.744-1.137-.87-.135-1.74-.064-2.475 0h-.2c-.47 0-1.47.2-2.81.735-.467.203-.735.336-.735.336s1.002-1.002 3.21-1.537l-.135-.135s-1.672-.064-3.477 1.27c0 0-1.805 3.144-1.805 7.02 0 0 1 1.74 3.743 1.806 0 0 .4-.533.805-1.002-1.54-.468-2.14-1.404-2.14-1.404s.134.066.335.2h.06c.03 0 .044.015.06.03v.006c.016.016.03.03.06.03.33.136.66.27.93.4.466.202 1.065.403 1.8.536.93.135 1.996.2 3.21 0 .6-.135 1.2-.267 1.8-.535.39-.2.87-.4 1.397-.737 0 0-.6.936-2.205 1.404.33.466.795 1 .795 1 2.744-.06 3.81-1.8 3.87-1.726 0-3.87-1.815-7.02-1.815-7.02-1.635-1.214-3.165-1.26-3.435-1.26l.056-.02zm.168 4.413c.703 0 1.27.6 1.27 1.335 0 .74-.57 1.34-1.27 1.34-.7 0-1.27-.6-1.27-1.334.002-.74.573-1.338 1.27-1.338zm-4.543 0c.7 0 1.266.6 1.266 1.335 0 .74-.57 1.34-1.27 1.34-.7 0-1.27-.6-1.27-1.334 0-.74.57-1.338 1.27-1.338z"/></svg></a>
				<a href="https://www.linkedin.com/company/n8n/" aria-label="LinkedIn"><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/></svg></a>
				<a href="https://www.youtube.com/c/n8n-io" aria-label="YouTube"><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path class="a" d="M23.495 6.205a3.007 3.007 0 0 0-2.088-2.088c-1.87-.501-9.396-.501-9.396-.501s-7.507-.01-9.396.501A3.007 3.007 0 0 0 .527 6.205a31.247 31.247 0 0 0-.522 5.805 31.247 31.247 0 0 0 .522 5.783 3.007 3.007 0 0 0 2.088 2.088c1.868.502 9.396.502 9.396.502s7.506 0 9.396-.502a3.007 3.007 0 0 0 2.088-2.088 31.247 31.247 0 0 0 .5-5.783 31.247 31.247 0 0 0-.5-5.805zM9.609 15.601V8.408l6.264 3.602z"/></svg></a>
				

			</div>
		</div>

		<!-- Primary Links Section -->
		<div class="footer-mobile-links">
			<div class="footer-mobile-section">
				<ul class="footer-mobile-list">
					<li><a href="https://n8n.io/careers">Careers</a></li>
					<li><a href="https://n8n.io/contact">Contact</a></li>
					<li><a href="https://merch.n8n.io/">Merch</a></li>
					<li><a href="https://n8n.io/press">Press</a></li>
					<li><a href="https://n8n.io/security">Security</a></li>
				</ul>
			</div>

			<!-- Secondary Links Section -->
			<div class="footer-mobile-section">
				<ul class="footer-mobile-list">
					<li><a href="https://n8n.io/case-studies">Case studies</a></li>
					<li><a href="https://n8n.io/vs/zapier/">Zapier vs n8n</a></li>
					<li><a href="https://n8n.io/vs/make/">Make vs n8n</a></li>
					<li><a href="https://n8n.io/workflows/160-convert-xml-to-json/">XML to JSON converter</a></li>
				</ul>
			</div>

			<!-- Tertiary Links Section -->
			<div class="footer-mobile-section">
				<ul class="footer-mobile-list">
					<li><a href="https://n8n.io/affiliates/">Affiliate program</a></li>
					<li><a href="https://n8n.io/become-an-expert">Become an expert</a></li>
					<li><a href="https://luma.com/n8n-events">Events</a></li>
				</ul>
			</div>
		</div>

		<!-- Dropdown Sections -->
		<div class="footer-mobile-dropdowns">
			<div class="footer-mobile-dropdown">
				<button class="footer-dropdown-toggle" data-dropdown="popular-integrations">
					<span>Popular integrations</span>
					<svg class="dropdown-chevron" width="20" height="20" viewBox="0 0 20 20" fill="none">
						<path d="M5 7.5L10 12.5L15 7.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
					</svg>
				</button>
				<div class="footer-dropdown-content" id="popular-integrations">
					<ul>
						<li><a href="https://n8n.io/integrations/google-sheets">Google Sheets</a></li>
						<li><a href="https://n8n.io/integrations/telegram">Telegram</a></li>
						<li><a href="https://n8n.io/integrations/mysql">MySQL</a></li>
						<li><a href="https://n8n.io/integrations/slack">Slack</a></li>
						<li><a href="https://n8n.io/integrations/discord">Discord</a></li>
						<li><a href="https://n8n.io/integrations/postgres">PostgreSQL</a></li>
					</ul>
					<a href="https://n8n.io/integrations" class="footer-show-more">Show more</a>
				</div>
			</div>

			<div class="footer-mobile-dropdown">
				<button class="footer-dropdown-toggle" data-dropdown="trending-combinations">
					<span>Trending combinations</span>
					<svg class="dropdown-chevron" width="20" height="20" viewBox="0 0 20 20" fill="none">
						<path d="M5 7.5L10 12.5L15 7.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
					</svg>
				</button>
				<div class="footer-dropdown-content" id="trending-combinations">
					<ul>
						<li><a href="https://n8n.io/workflows">Google Sheets + Slack</a></li>
						<li><a href="https://n8n.io/workflows">Discord + MySQL</a></li>
						<li><a href="https://n8n.io/workflows">Telegram + PostgreSQL</a></li>
					</ul>
					<a href="https://n8n.io/workflows" class="footer-show-more">Show more</a>
				</div>
			</div>

			<div class="footer-mobile-dropdown">
				<button class="footer-dropdown-toggle" data-dropdown="technical-teams">
					<span>Used by technical teams</span>
					<svg class="dropdown-chevron" width="20" height="20" viewBox="0 0 20 20" fill="none">
						<path d="M5 7.5L10 12.5L15 7.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
					</svg>
				</button>
				<div class="footer-dropdown-content" id="technical-teams">
					<ul>
						<li><a href="https://n8n.io/use-cases/development">Development Teams</a></li>
						<li><a href="https://n8n.io/use-cases/devops">DevOps</a></li>
						<li><a href="https://n8n.io/use-cases/infrastructure">Infrastructure</a></li>
					</ul>
					<a href="https://n8n.io/use-cases" class="footer-show-more">Show more</a>
				</div>
			</div>

			<div class="footer-mobile-dropdown">
				<button class="footer-dropdown-toggle" data-dropdown="integration-categories">
					<span>Top integration categories</span>
					<svg class="dropdown-chevron" width="20" height="20" viewBox="0 0 20 20" fill="none">
						<path d="M5 7.5L10 12.5L15 7.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
					</svg>
				</button>
				<div class="footer-dropdown-content" id="integration-categories">
					<ul>
						<li><a href="https://n8n.io/integrations/databases">Databases</a></li>
						<li><a href="https://n8n.io/integrations/communication">Communication</a></li>
						<li><a href="https://n8n.io/integrations/productivity">Productivity</a></li>
					</ul>
					<a href="https://n8n.io/integrations" class="footer-show-more">Show more</a>
				</div>
			</div>

			<div class="footer-mobile-dropdown">
				<button class="footer-dropdown-toggle" data-dropdown="trending-templates">
					<span>Trending templates</span>
					<svg class="dropdown-chevron" width="20" height="20" viewBox="0 0 20 20" fill="none">
						<path d="M5 7.5L10 12.5L15 7.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
					</svg>
				</button>
				<div class="footer-dropdown-content" id="trending-templates">
					<ul>
						<li><a href="https://n8n.io/workflows">Automated Data Sync</a></li>
						<li><a href="https://n8n.io/workflows">Lead Generation</a></li>
						<li><a href="https://n8n.io/workflows">Customer Support</a></li>
					</ul>
					<a href="https://n8n.io/workflows" class="footer-show-more">Show more</a>
				</div>
			</div>
		</div>

		<!-- Legal Links and Copyright -->
		<div class="footer-mobile-bottom">
			<div class="footer-mobile-legal">
				<a href="https://n8n.io/imprint/">Imprint</a>
				<span class="footer-separator">|</span>
				<a href="https://n8n.io/legal/security/">Security</a>
				<span class="footer-separator">|</span>
				<a href="https://n8n.io/legal/privacy/">Privacy</a>
				<span class="footer-separator">|</span>
				<a href="https://n8n.io/legal/vulnerability-disclosure-policy/">Report a vulnerability</a>
			</div>
			<div class="footer-mobile-copyright">
				<p>© 2026 n8n | All rights reserved.</p>
			</div>
		</div>
	</div>
</footer>
<!-- Desktop Footer (shown on desktop, hidden on mobile) -->
<footer class="blog-footer footer-desktop">
	<div class="blog-footer-container">

		<!-- Logo and Social Section -->
		<div class="footer-brand">
			<div class="footer-brand-left">
				<div class="footer-logo">
					<a href="https://blog.n8n.io"><img src="https://storage.ghost.io/c/0d/78/0d78b34c-0c5f-4975-900e-61d00ccb1c2d/content/images/2025/09/n8n-Logo.svg" alt="n8n Blog"></a>
				</div>
				<p class="footer-tagline">Automate without limits</p>
				<div class="footer-social">
					<a href="https://x.com/n8n_io" aria-label="X (Twitter)"><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M23.954 4.569c-.885.389-1.83.654-2.825.775 1.014-.611 1.794-1.574 2.163-2.723-.951.555-2.005.959-3.127 1.184-.896-.959-2.173-1.559-3.591-1.559-2.717 0-4.92 2.203-4.92 4.917 0 .39.045.765.127 1.124C7.691 8.094 4.066 6.13 1.64 3.161c-.427.722-.666 1.561-.666 2.475 0 1.71.87 3.213 2.188 4.096-.807-.026-1.566-.248-2.228-.616v.061c0 2.385 1.693 4.374 3.946 4.827-.413.111-.849.171-1.296.171-.314 0-.615-.03-.916-.086.631 1.953 2.445 3.377 4.604 3.417-1.68 1.319-3.809 2.105-6.102 2.105-.39 0-.779-.023-1.17-.067 2.189 1.394 4.768 2.209 7.557 2.209 9.054 0 13.999-7.496 13.999-13.986 0-.209 0-.42-.015-.63.961-.689 1.8-1.56 2.46-2.548l-.047-.02z"/></svg></a>
					<a href="https://github.com/n8n-io/n8n" aria-label="GitHub"><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/></svg></a>
					<a href="https://discord.gg/n8n" aria-label="Discord"><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M20.222 0c1.406 0 2.54 1.137 2.607 2.475V24l-2.677-2.273-1.47-1.338-1.604-1.398.67 2.205H3.71c-1.402 0-2.54-1.065-2.54-2.476V2.48C1.17 1.142 2.31.003 3.715.003h16.5L20.222 0zm-6.118 5.683h-.03l-.202.2c2.073.6 3.076 1.537 3.076 1.537-1.336-.668-2.54-1.002-3.744-1.137-.87-.135-1.74-.064-2.475 0h-.2c-.47 0-1.47.2-2.81.735-.467.203-.735.336-.735.336s1.002-1.002 3.21-1.537l-.135-.135s-1.672-.064-3.477 1.27c0 0-1.805 3.144-1.805 7.02 0 0 1 1.74 3.743 1.806 0 0 .4-.533.805-1.002-1.54-.468-2.14-1.404-2.14-1.404s.134.066.335.2h.06c.03 0 .044.015.06.03v.006c.016.016.03.03.06.03.33.136.66.27.93.4.466.202 1.065.403 1.8.536.93.135 1.996.2 3.21 0 .6-.135 1.2-.267 1.8-.535.39-.2.87-.4 1.397-.737 0 0-.6.936-2.205 1.404.33.466.795 1 .795 1 2.744-.06 3.81-1.8 3.87-1.726 0-3.87-1.815-7.02-1.815-7.02-1.635-1.214-3.165-1.26-3.435-1.26l.056-.02zm.168 4.413c.703 0 1.27.6 1.27 1.335 0 .74-.57 1.34-1.27 1.34-.7 0-1.27-.6-1.27-1.334.002-.74.573-1.338 1.27-1.338zm-4.543 0c.7 0 1.266.6 1.266 1.335 0 .74-.57 1.34-1.27 1.34-.7 0-1.27-.6-1.27-1.334 0-.74.57-1.338 1.27-1.338z"/></svg></a>
					<a href="https://www.linkedin.com/company/n8n/" aria-label="LinkedIn"><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/></svg></a>
					<a href="https://www.youtube.com/c/n8n-io" aria-label="YouTube"><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path class="a" d="M23.495 6.205a3.007 3.007 0 0 0-2.088-2.088c-1.87-.501-9.396-.501-9.396-.501s-7.507-.01-9.396.501A3.007 3.007 0 0 0 .527 6.205a31.247 31.247 0 0 0-.522 5.805 31.247 31.247 0 0 0 .522 5.783 3.007 3.007 0 0 0 2.088 2.088c1.868.502 9.396.502 9.396.502s7.506 0 9.396-.502a3.007 3.007 0 0 0 2.088-2.088 31.247 31.247 0 0 0 .5-5.783 31.247 31.247 0 0 0-.5-5.805zM9.609 15.601V8.408l6.264 3.602z"/></svg></a>
					

				</div>
			</div>
			<div class="footer-brand-right">
				<ul class="footer-primary-links">
					<li><a href="https://n8n.io/">n8n home</a></li>
					<li><a href="https://n8n.io/features/">Features</a></li>
					<li><a href="https://n8n.io/pricing/">Pricing</a></li>
					<li><a href="https://docs.n8n.io/">Docs</a></li>
					<li><a href="https://community.n8n.io/">Community</a></li>
				</ul>
			</div>
		</div>

		<!-- Bottom Section -->
		<div class="footer-bottom">
			<div class="footer-legal">
				<a href="https://n8n.io/imprint/">Imprint</a>
				<span class="footer-separator">|</span>
				<a href="https://n8n.io/legal/security/">Security</a>
				<span class="footer-separator">|</span>
				<a href="https://n8n.io/legal/privacy/">Privacy</a>
				<span class="footer-separator">|</span>
				<a href="https://n8n.io/legal/vulnerability-disclosure-policy/">Report a vulnerability</a>
			</div>
			<div class="footer-copyright">
				<p>© 2026 n8n | All rights reserved.</p>
			</div>
		</div>
	</div>
</footer>
			</div>
		</div>
		<div id="notifications" class="global-notification">
	<div class="subscribe">You’ve successfully subscribed to n8n Blog</div>
	<div class="signin">Welcome back! You’ve successfully signed in.</div>
	<div class="signup">Great! You’ve successfully signed up.</div>
	<div class="expired">Your link has expired</div>
	<div class="checkout-success">Success! Check your email for magic link to sign-in.</div>
</div>
				<script src="https://blog.n8n.io/assets/js/global.js?v=Wrm8OemR0lUQ9qP5"></script>
		<script src="https://blog.n8n.io/assets/js/post.js?v=mR1N_JBqRdiTUgjo"></script>
		<script src="https://blog.n8n.io/assets/js/toc.js?v=oPtDPMixJsjbTkh9"></script>
		
		<script>
!function(){"use strict";const p=new URLSearchParams(window.location.search),isAction=p.has("action"),isStripe=p.has("stripe"),success=p.get("success"),action=p.get("action"),stripe=p.get("stripe"),n=document.getElementById("notifications"),a="is-subscribe",b="is-signin",c="is-signup",d="is-expired",e="is-checkout-success";

function hideNotification() {
    n.classList.remove(a,b,c,d,e);
    window.history.replaceState(null,null,window.location.pathname);
}

if(p&&(isAction||isStripe)) {
    if(isAction) {
        if(action=="subscribe"&&success=="true") n.classList.add(a);
        if(action=="signin"&&success=="true") n.classList.add(b);
        if(action=="signup"&&success=="true") n.classList.add(c);
        if(success=="false") n.classList.add(d);
    }
    if(isStripe&&stripe=="success") n.classList.add(e);
    
    // Auto hide after 5 seconds
    setTimeout(hideNotification, 5000);
    
    // Click to close
    n.addEventListener('click', hideNotification);
}}();
</script>

		
		<script src="https://blog.n8n.io/assets/js/external-links.js?v=DikCkQ8Bvh7jO-3I"></script>
		
	</body>
</html>