This workflow corresponds to n8n.io template #2371 — we link there as the canonical source.
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": [
{
"name": "SFTP zip file content",
"type": "n8n-nodes-base.ftp",
"position": [
1520,
680
],
"parameters": {
"path": "=zigbee_backups/zigbee_backup_{{ new Date().toISOString().replaceAll(':','_') }}.zip",
"protocol": "sftp",
"operation": "upload"
},
"credentials": {
"sftp": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"name": "CRON Monday 2:45 am",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
860,
440
],
"parameters": {
"rule": {
"interval": [
{
"field": "cronExpression",
"expression": "45 2 * * 1"
}
]
}
},
"typeVersion": 1.1
},
{
"name": "Send Zigbee2MQTT backup request",
"type": "n8n-nodes-base.mqtt",
"position": [
1040,
440
],
"parameters": {
"topic": "zigbee2mqtt/bridge/request/backup",
"message": "getbackup",
"options": {},
"sendInputData": false
},
"credentials": {
"mqtt": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"name": "MQTT Trigger - Backup Response",
"type": "n8n-nodes-base.mqttTrigger",
"position": [
860,
680
],
"parameters": {
"topics": "zigbee2mqtt/bridge/response/backup",
"options": {}
},
"credentials": {
"mqtt": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"name": "Parse JSON Object from Message Text",
"type": "n8n-nodes-base.code",
"position": [
1080,
680
],
"parameters": {
"mode": "runOnceForEachItem",
"jsCode": "\nlet containerObject = JSON.parse($json.message);\nlet messageObject = containerObject.data;\nreturn messageObject;"
},
"typeVersion": 2
},
{
"name": "Convert to File - base64 to binary",
"type": "n8n-nodes-base.convertToFile",
"position": [
1300,
680
],
"parameters": {
"options": {},
"operation": "toBinary",
"sourceProperty": "zip"
},
"typeVersion": 1
}
],
"connections": {
"CRON Monday 2:45 am": {
"main": [
[
{
"node": "Send Zigbee2MQTT backup request",
"type": "main",
"index": 0
}
]
]
},
"MQTT Trigger - Backup Response": {
"main": [
[
{
"node": "Parse JSON Object from Message Text",
"type": "main",
"index": 0
}
]
]
},
"Convert to File - base64 to binary": {
"main": [
[
{
"node": "SFTP zip file content",
"type": "main",
"index": 0
}
]
]
},
"Parse JSON Object from Message Text": {
"main": [
[
{
"node": "Convert to File - base64 to binary",
"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.
mqttsftp
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
A single workflow with 2 flows/paths that combine to handle the backup sequence for Zigbee device configuration from HomeAssistant / zigbee2mqtt. This provides a way to automate a periodic capture of Zigbee coordinators and device pairings to speed the recovery process when/if…
Source: https://n8n.io/workflows/2371/ — 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.
Complete backup solution that saves both workflows and credentials to local/server disk with optional FTP upload for off-site redundancy.
This n8n workflow automates the secure transfer of files between FTP servers on a scheduled basis, providing enterprise-grade reliability with comprehensive error handling and dual notification system
Code Schedule. Uses ftp, scheduleTrigger, mqtt, mqttTrigger. Scheduled trigger; 6 nodes.
This template is an interactive playground designed to help you master the most useful keyboard shortcuts in n8n and supercharge your building speed. Forget boring lists—this workflow gives you hands-
Workflow 2469. Uses moveBinaryData, googleDrive, itemLists, n8n. Scheduled trigger; 33 nodes.