Daily workflow backup to GitLab with Slack notifications
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 15 nodes and runs on a schedule (every day at 12:00). Along the way it connects GitLab and Slack.
How it runs
Trigger: On a schedule (every day at 12:00).
- Configuration (Edit Fields (Set)): sets 3 fields: project_owner, project_name, branch
- List All Files - GitLab (GitLab): list (file)
- List of Names (Aggregate): combines items into one
- Get All Workflows (n8n): uses n8n
- Discard Archived Workflows (Filter): keeps only the items that match a condition
- Process Each File (Loop Over Items (Split in Batches)): loops over the items in batches
- Send Message to Channel (Slack): uses Slack
- Remove Unwanted Fields (Code): runs custom JavaScript code
- Convert to File: converts data to a file (to json)
- If: checks a condition and branches into true / false
…plus 4 more steps. See the full node list below.
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 (11)
- n8n
n8n-nodes-base.n8n - Filter
n8n-nodes-base.filter - Convert to File
n8n-nodes-base.convertToFile - If
n8n-nodes-base.if - Edit Fields (Set)
n8n-nodes-base.set - Aggregate
n8n-nodes-base.aggregate - GitLab
n8n-nodes-base.gitlab - Schedule Trigger
n8n-nodes-base.scheduleTrigger - Loop Over Items (Split in Batches)
n8n-nodes-base.splitInBatches - Code
n8n-nodes-base.code - Slack
n8n-nodes-base.slack
From the author
How it Works This workflow creates automated daily backups of your n8n workflows to a GitLab repository: 1. Scheduled Trigger - Runs automatically at noon each day to initiate the backup process 2. Fetch Workflows - Retrieves all active workflows from your…