Vollständige Sicherungskopie von Airtable
Dies ist ein Engineering, DevOps, AI-Bereich Automatisierungsworkflow mit 19 Nodes. Hauptsächlich werden If, Set, AwsS3, Slack, Airtable und andere Nodes verwendet, kombiniert mit KI-Technologie für intelligente Automatisierung. Backup der Airtable-Datenbank nach S3
- •AWS Access Key und Secret
- •Slack Bot Token oder Webhook URL
- •Airtable API Key
Verwendete Nodes (19)
{
"id": "YeYi657TmrNBAlHy",
"meta": {
"instanceId": "473c658c7288f697d42ad8adb392c78c9ea1b1c3a9d169c508028d7c271b8621",
"templateCredsSetupCompleted": true
},
"name": "Airtable Full Backup",
"tags": [],
"nodes": [
{
"id": "2cfec4e1-08ad-4363-a3af-5aa77174ea1a",
"name": "Airtable",
"type": "n8n-nodes-base.airtable",
"position": [
380,
-40
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "yourbase",
"cachedResultUrl": "https://airtable.com/yourbase",
"cachedResultName": "Sample Base"
},
"resource": "base",
"operation": "getSchema"
},
"credentials": {
"airtableTokenApi": {
"id": "U1WMD4Gt9NhWpX3s",
"name": "Airtable"
}
},
"typeVersion": 2.1
},
{
"id": "45e6e8e3-2b72-44ae-ae5a-84ade2dfb59b",
"name": "Elemente durchlaufen",
"type": "n8n-nodes-base.splitInBatches",
"position": [
600,
-40
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "8c731bd7-54a7-443f-91de-1dedfcb79620",
"name": "Tabellen-Metadaten erstellen",
"type": "n8n-nodes-base.set",
"position": [
1040,
60
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "cea4432c-e31c-43bd-adea-446658a96ab5",
"name": "fileName",
"type": "string",
"value": "={{ $json.name.replace(/[^\\p{L}\\p{N}\\s_-]+/gu, '').trim().replace(/\\s+/g, '_') \n}}"
},
{
"id": "34f5e44c-1d62-47ac-875b-9bbe698ffc0d",
"name": "tableName",
"type": "string",
"value": "={{ $json.name }}"
},
{
"id": "4a06c76d-7ac3-4fe9-96e3-003e80e0bf1e",
"name": "tableID",
"type": "string",
"value": "={{ $json.id }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "57d1b06e-5265-4beb-b53f-9be2f9f1f300",
"name": "Datensätze abrufen",
"type": "n8n-nodes-base.airtable",
"position": [
1260,
60
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "yourbase",
"cachedResultUrl": "https://airtable.com/yourbase",
"cachedResultName": "LifeOS"
},
"table": {
"__rl": true,
"mode": "id",
"value": "={{ $json.tableID }}"
},
"options": {},
"operation": "search"
},
"credentials": {
"airtableTokenApi": {
"id": "U1WMD4Gt9NhWpX3s",
"name": "Airtable"
}
},
"typeVersion": 2.1
},
{
"id": "0872652a-6924-4a56-8058-69b51ecc8ee2",
"name": "In Datei konvertieren",
"type": "n8n-nodes-base.convertToFile",
"position": [
1480,
60
],
"parameters": {
"options": {
"fileName": "={{ $('Create Table Metadata').item.json.fileName }}.csv"
}
},
"typeVersion": 1.1
},
{
"id": "167783d9-3fad-4a3c-827b-911b8d3587f7",
"name": "AWS S3",
"type": "n8n-nodes-base.awsS3",
"position": [
1700,
60
],
"parameters": {
"fileName": "={{ $('Create Table Metadata').item.json.fileName }}.csv",
"operation": "upload",
"bucketName": "aired-out",
"additionalFields": {
"parentFolderKey": "={{ $('Set Week').item.json.currentWeek }}"
}
},
"credentials": {
"aws": {
"id": "NijLkxXPqg88tIuO",
"name": "AWS S3 Access"
}
},
"typeVersion": 2
},
{
"id": "c766b901-e06c-457c-9407-a999b7eaecd0",
"name": "Monatliche Bereinigung",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-320,
500
],
"parameters": {
"rule": {
"interval": [
{
"field": "months"
}
]
}
},
"typeVersion": 1.2
},
{
"id": "3fb466cd-90ad-4757-9df1-b7e2c317b454",
"name": "Zeitstempel setzen",
"type": "n8n-nodes-base.set",
"position": [
-80,
500
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "ca8f6d53-152c-44ea-b0c8-eb5a7ba7fbf4",
"name": "cutoffDate",
"type": "string",
"value": "={{ $now.minus({ weeks: 4 }).toFormat(\"kkkk-'W'WW\") }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "dacaac6b-1025-4c57-82f2-d17b387c4258",
"name": "Wenn",
"type": "n8n-nodes-base.if",
"position": [
340,
500
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "loose"
},
"combinator": "and",
"conditions": [
{
"id": "9c09f6cc-9313-42ba-b48e-c8cc2faaebac",
"operator": {
"type": "dateTime",
"operation": "before"
},
"leftValue": "={{ $json.Key.replace(/\\/$/, '') }}",
"rightValue": "={{ $('Set Timestamps').item.json.cutoffDate }}"
}
]
},
"looseTypeValidation": true
},
"typeVersion": 2.2
},
{
"id": "e279fa0d-af6c-4dc2-9ac3-89e3a08280f8",
"name": "Datei löschen",
"type": "n8n-nodes-base.awsS3",
"position": [
560,
420
],
"parameters": {
"resource": "folder",
"folderKey": "={{ $('List Folders').item.json.Key }}",
"operation": "delete",
"bucketName": "aired-out"
},
"credentials": {
"aws": {
"id": "NijLkxXPqg88tIuO",
"name": "AWS S3 Access"
}
},
"typeVersion": 2
},
{
"id": "8a2e4f1e-8a07-4f77-a05d-90cfca9d96da",
"name": "Ordner erstellen",
"type": "n8n-nodes-base.awsS3",
"position": [
140,
-40
],
"parameters": {
"resource": "folder",
"bucketName": "aired-out",
"folderName": "={{ $json.currentWeek }}",
"additionalFields": {}
},
"credentials": {
"aws": {
"id": "NijLkxXPqg88tIuO",
"name": "AWS S3 Access"
}
},
"typeVersion": 2
},
{
"id": "69d7bfdc-657a-402c-b9ef-f230660be1f9",
"name": "Ordner auflisten",
"type": "n8n-nodes-base.awsS3",
"position": [
120,
500
],
"parameters": {
"options": {},
"resource": "folder",
"operation": "getAll",
"bucketName": "aired-out"
},
"credentials": {
"aws": {
"id": "NijLkxXPqg88tIuO",
"name": "AWS S3 Access"
}
},
"typeVersion": 2
},
{
"id": "35a136e1-4acc-4754-952e-69cf940219b0",
"name": "Woche setzen",
"type": "n8n-nodes-base.set",
"position": [
-80,
-40
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "f5e7fb15-bf9c-4f6d-9476-15320ff150a6",
"name": "currentWeek",
"type": "string",
"value": "={{ $now.toFormat(\"kkkk-'W'WW\") }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "ca332df0-313d-44fe-81da-f4fabcad8cf6",
"name": "Wöchentliches Backup",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-320,
-40
],
"parameters": {
"rule": {
"interval": [
{
"field": "weeks",
"triggerAtHour": 12
}
]
}
},
"typeVersion": 1.2
},
{
"id": "68d97be1-f32f-4ada-85c3-7db8d3639262",
"name": "Slack",
"type": "n8n-nodes-base.slack",
"position": [
1260,
-140
],
"webhookId": "909deccb-0c0a-4243-ac3c-c69dd39f1ab4",
"parameters": {
"text": "=:floppy_disk: *Airtable Backup Complete*",
"select": "channel",
"channelId": {
"__rl": true,
"mode": "list",
"value": "C08GPG2HTA4",
"cachedResultName": "general"
},
"otherOptions": {}
},
"credentials": {
"slackApi": {
"id": "RKqLvV8Ij1tfFCYJ",
"name": "Slack Content Bot"
}
},
"typeVersion": 2.3
},
{
"id": "8f7bf5dd-1e42-4979-808a-99c6db31f89c",
"name": "Keine Aktion, nichts tun",
"type": "n8n-nodes-base.noOp",
"position": [
560,
600
],
"parameters": {},
"typeVersion": 1
},
{
"id": "c8ba25eb-0aed-42d0-8c55-420448eebce5",
"name": "Haftnotiz1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-360,
-220
],
"parameters": {
"width": 2240,
"height": 520,
"content": "## Airtable Weekly Backups\nEvery week backup all tables in an Airtable base into a dedicated week sub-folder in S3. Notify when complete."
},
"typeVersion": 1
},
{
"id": "7c33f350-3f5c-4979-a176-bbdb3b8d663c",
"name": "Haftnotiz",
"type": "n8n-nodes-base.stickyNote",
"position": [
-360,
360
],
"parameters": {
"width": 1140,
"height": 480,
"content": "## Airtable Monthly Prune\nDelete backups > 1 month old"
},
"typeVersion": 1
},
{
"id": "dcbb30d5-90da-44ef-991f-0a25cf67e01d",
"name": "Aggregieren",
"type": "n8n-nodes-base.aggregate",
"position": [
1040,
-140
],
"parameters": {
"options": {},
"aggregate": "aggregateAllItemData"
},
"typeVersion": 1
}
],
"active": true,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "6ae12e8e-f949-48f7-977e-65f5bb49be9b",
"connections": {
"dacaac6b-1025-4c57-82f2-d17b387c4258": {
"main": [
[
{
"node": "e279fa0d-af6c-4dc2-9ac3-89e3a08280f8",
"type": "main",
"index": 0
}
],
[
{
"node": "8f7bf5dd-1e42-4979-808a-99c6db31f89c",
"type": "main",
"index": 0
}
]
]
},
"167783d9-3fad-4a3c-827b-911b8d3587f7": {
"main": [
[
{
"node": "45e6e8e3-2b72-44ae-ae5a-84ade2dfb59b",
"type": "main",
"index": 0
}
]
]
},
"2cfec4e1-08ad-4363-a3af-5aa77174ea1a": {
"main": [
[
{
"node": "45e6e8e3-2b72-44ae-ae5a-84ade2dfb59b",
"type": "main",
"index": 0
}
]
]
},
"35a136e1-4acc-4754-952e-69cf940219b0": {
"main": [
[
{
"node": "8a2e4f1e-8a07-4f77-a05d-90cfca9d96da",
"type": "main",
"index": 0
}
]
]
},
"dcbb30d5-90da-44ef-991f-0a25cf67e01d": {
"main": [
[
{
"node": "68d97be1-f32f-4ada-85c3-7db8d3639262",
"type": "main",
"index": 0
}
]
]
},
"69d7bfdc-657a-402c-b9ef-f230660be1f9": {
"main": [
[
{
"node": "dacaac6b-1025-4c57-82f2-d17b387c4258",
"type": "main",
"index": 0
}
]
]
},
"57d1b06e-5265-4beb-b53f-9be2f9f1f300": {
"main": [
[
{
"node": "0872652a-6924-4a56-8058-69b51ecc8ee2",
"type": "main",
"index": 0
}
]
]
},
"8a2e4f1e-8a07-4f77-a05d-90cfca9d96da": {
"main": [
[
{
"node": "2cfec4e1-08ad-4363-a3af-5aa77174ea1a",
"type": "main",
"index": 0
}
]
]
},
"c766b901-e06c-457c-9407-a999b7eaecd0": {
"main": [
[
{
"node": "3fb466cd-90ad-4757-9df1-b7e2c317b454",
"type": "main",
"index": 0
}
]
]
},
"ca332df0-313d-44fe-81da-f4fabcad8cf6": {
"main": [
[
{
"node": "35a136e1-4acc-4754-952e-69cf940219b0",
"type": "main",
"index": 0
}
]
]
},
"3fb466cd-90ad-4757-9df1-b7e2c317b454": {
"main": [
[
{
"node": "69d7bfdc-657a-402c-b9ef-f230660be1f9",
"type": "main",
"index": 0
}
]
]
},
"0872652a-6924-4a56-8058-69b51ecc8ee2": {
"main": [
[
{
"node": "167783d9-3fad-4a3c-827b-911b8d3587f7",
"type": "main",
"index": 0
}
]
]
},
"45e6e8e3-2b72-44ae-ae5a-84ade2dfb59b": {
"main": [
[
{
"node": "dcbb30d5-90da-44ef-991f-0a25cf67e01d",
"type": "main",
"index": 0
}
],
[
{
"node": "8c731bd7-54a7-443f-91de-1dedfcb79620",
"type": "main",
"index": 0
}
]
]
},
"8c731bd7-54a7-443f-91de-1dedfcb79620": {
"main": [
[
{
"node": "57d1b06e-5265-4beb-b53f-9be2f9f1f300",
"type": "main",
"index": 0
}
]
]
}
}
}Wie verwende ich diesen Workflow?
Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.
Für welche Szenarien ist dieser Workflow geeignet?
Experte - Engineering, DevOps, Künstliche Intelligenz
Ist es kostenpflichtig?
Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.
Verwandte Workflows
Autonomous Work
@autonomousworkSenior Solutions Architect · 10 years in Data, Cloud, & AI ⚡ Maximize the individual with low-friction systems for peak output 🌮 TACO stack. Views are my own.
Diesen Workflow teilen