Backup tag-selected workflows to Gitlab
Ready for 3.0Ready for 3.0. This template uses no nodes that n8n 3.0 removes. No removed nodes, versions or helpers found. Static check, last run 2026-10-19.
What this workflow does
This workflow has 12 nodes and runs manually, when you click “Execute workflow” (plus 1 other trigger). Along the way it connects GitLab.
How it runs
Trigger: Manually, when you click “Execute workflow” (plus 1 other trigger).
- Globals (Edit Fields (Set)): sets 6 fields: gitlab_owner, gitlab_project, gitlab_workflow_path…
- Fetch List of Existing Files (GitLab): list (file)
- Combine Gitlab Existing Files as Single List Item (Aggregate): combines items into one
- n8n: uses n8n
- Derive Filename From Workflow Name (Edit Fields (Set)): sets 1 field: normalized_filename
- File Exists in Gitlab? (If): checks a condition and branches into true / false
- Fetch Existing File Content (GitLab): get (file)
- Create New File(s) (GitLab): work with file
- Skip Unchanged Files (Filter): keeps only the items that match a condition
- Edit Existing File(s) (GitLab): edit (file)
Services it uses
Before you upgrade to n8n 3.0
Nothing in this workflow is removed in n8n 3.0, so it should import and run after the upgrade.
Nodes used (8)
- Manual Trigger
n8n-nodes-base.manualTrigger - n8n
n8n-nodes-base.n8n - Edit Fields (Set)
n8n-nodes-base.set - GitLab
n8n-nodes-base.gitlab - Filter
n8n-nodes-base.filter - Schedule Trigger
n8n-nodes-base.scheduleTrigger - Aggregate
n8n-nodes-base.aggregate - If
n8n-nodes-base.if
From the author
Fetches workflow definitions from within n8n, selecting only the ones that have one or more (configurable) assigned tags and then: 1. Derives a suitable backup filename by reducing the workflow name to a string with alphanumeric characters and no-spaces Note:…