Sauvegarde complète d'Airtable
Ceci est unEngineering, DevOps, AIworkflow d'automatisation du domainecontenant 19 nœuds.Utilise principalement des nœuds comme If, Set, AwsS3, Slack, Airtable, combinant la technologie d'intelligence artificielle pour une automatisation intelligente. Sauvegarde de la base de données Airtable vers S3
- •Access Key et Secret AWS
- •Token Bot Slack ou URL Webhook
- •Clé API Airtable
Nœuds utilisés (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": "Boucler sur les éléments",
"type": "n8n-nodes-base.splitInBatches",
"position": [
600,
-40
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "8c731bd7-54a7-443f-91de-1dedfcb79620",
"name": "Créer les métadonnées de la table",
"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": "Extraire les enregistrements",
"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": "Convertir en fichier",
"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": "Nettoyage mensuel",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-320,
500
],
"parameters": {
"rule": {
"interval": [
{
"field": "months"
}
]
}
},
"typeVersion": 1.2
},
{
"id": "3fb466cd-90ad-4757-9df1-b7e2c317b454",
"name": "Définir les horodatages",
"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": "Si",
"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": "Supprimer le fichier",
"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": "Créer un dossier",
"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": "Lister les dossiers",
"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": "Définir la semaine",
"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": "Sauvegarde hebdomadaire",
"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": "Aucune opération, ne rien faire",
"type": "n8n-nodes-base.noOp",
"position": [
560,
600
],
"parameters": {},
"typeVersion": 1
},
{
"id": "c8ba25eb-0aed-42d0-8c55-420448eebce5",
"name": "Note adhésive1",
"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": "Note adhésive",
"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": "Agréger",
"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
}
]
]
}
}
}Comment utiliser ce workflow ?
Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.
Dans quelles scénarios ce workflow est-il adapté ?
Avancé - Ingénierie, DevOps, Intelligence Artificielle
Est-ce payant ?
Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.
Workflows recommandés
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.
Partager ce workflow