🧹 Archiver (supprimer) les éléments répétés à partir de la base de données Notion
Ceci est unIT Opsworkflow d'automatisation du domainecontenant 11 nœuds.Utilise principalement des nœuds comme Set, Code, Notion, Aggregate, NotionTrigger. 🧹 Archiver (supprimer) les éléments répétés à partir de la base de données Notion
- •Clé API Notion
Nœuds utilisés (11)
Catégorie
{
"id": "As8TxF3PjyXygc0o",
"meta": {
"instanceId": "a059b3dfdab56aa587cc6a2c8635f6f2700cf0c7064dbfb5981c26f7ad9eab88"
},
"name": "🧹 Archive (delete) duplicate items from a Notion database",
"tags": [],
"nodes": [
{
"id": "b758ce01-7f5e-4bdc-a4c3-6c00d6bc022a",
"name": "Tous les jours",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-180,
660
],
"parameters": {
"rule": {
"interval": [
{}
]
}
},
"typeVersion": 1.2
},
{
"id": "1ca45ba5-4635-4710-9807-26f22d535059",
"name": "Obtenir les pages de la base de données",
"type": "n8n-nodes-base.notion",
"position": [
60,
560
],
"parameters": {
"options": {},
"resource": "databasePage",
"operation": "getAll",
"returnAll": true,
"databaseId": {
"__rl": true,
"mode": "list",
"value": ""
}
},
"typeVersion": 2.2
},
{
"id": "ef8c8cfa-12fb-4fb9-8552-09f69f1f358d",
"name": "Agréger tous les éléments",
"type": "n8n-nodes-base.aggregate",
"position": [
500,
560
],
"parameters": {
"options": {},
"aggregate": "aggregateAllItemData",
"destinationFieldName": "pages"
},
"typeVersion": 1
},
{
"id": "f1c3c0ad-f904-4d63-a131-0b045a21ce04",
"name": "Formater les éléments correctement",
"type": "n8n-nodes-base.set",
"position": [
280,
560
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "309a1e9b-f3e9-41a0-aadb-aa74bc993fe9",
"name": "id",
"type": "string",
"value": "={{ $json.id }}"
},
{
"id": "ad6e8fa9-9872-456d-971f-3cef940b7d8a",
"name": "property_to_check",
"type": "string",
"value": "=\"SET YOUR PROPERTY HERE\""
}
]
}
},
"typeVersion": 3.4
},
{
"id": "5d39d3b7-604d-4aca-bf9a-3bb09bddad66",
"name": "Filtrer les doublons",
"type": "n8n-nodes-base.code",
"position": [
720,
560
],
"parameters": {
"jsCode": "const inputData = $input.first().json.pages;\n\nconst seen = new Set();\nconst duplicates = new Map();\n\ninputData.forEach(item => {\n const propertyValue = item.property_to_check;\n if (seen.has(propertyValue)) {\n duplicates.set(propertyValue, item);\n } else {\n seen.add(propertyValue);\n }\n});\n\nconst output = Array.from(duplicates.values()).map(item => ({ json: item }));\n\nreturn output;"
},
"typeVersion": 2
},
{
"id": "55a8f0eb-702b-4056-a28c-96a7ade7c2cd",
"name": "Archiver les pages",
"type": "n8n-nodes-base.notion",
"position": [
920,
560
],
"parameters": {
"pageId": {
"__rl": true,
"mode": "id",
"value": "={{ $json.id }}"
},
"operation": "archive"
},
"typeVersion": 2.2
},
{
"id": "2c9655ea-401c-410b-a4b1-b001ae6dbe4b",
"name": "Quand une page est ajoutée à la base de données",
"type": "n8n-nodes-base.notionTrigger",
"position": [
-180,
460
],
"parameters": {
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
},
"databaseId": {
"__rl": true,
"mode": "list",
"value": ""
}
},
"typeVersion": 1
},
{
"id": "672b647c-d009-45c3-b69e-6dfe85992e15",
"name": "Note adhésive",
"type": "n8n-nodes-base.stickyNote",
"position": [
0,
0
],
"parameters": {
"width": 860,
"height": 460,
"content": "## 🧹 Archive (delete) extra duplicate items from Notion database\n### ABOUT THIS WORKFLOW\nThis n8n workflow automatically gets duplicate database pages based on a property and \"archives\" them (equivalent to deleting them), leaving just one copy.\n\n### SETUP\n1. Create a Notion credential.\n2. Add it to the Notion nodes, selecting the appropriate database.\n3. In the \"Set\" node (\"Format items properly\"), specify a reference to the property you want to check for duplicates and assign it to the field \"property_to_check\". I recommend using the n8n property drag-and-drop feature.\n4. Enjoy!\n\n### ABOUT THE TRIGGERS\nThis workflow offers two possible triggers by default:\n- Run every time a page is added to the database.\n- Run every day.\n\n\nYou can enable, disable, or modify these triggers as you like."
},
"typeVersion": 1
},
{
"id": "83881bd3-60e3-40be-a469-0b7acb21d2be",
"name": "Note adhésive1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-240,
400
],
"parameters": {
"color": 5,
"width": 220,
"height": 420,
"content": "## TRIGGERS"
},
"typeVersion": 1
},
{
"id": "cd4b8717-19ae-42d6-ac87-bbdd071dd774",
"name": "Note adhésive2",
"type": "n8n-nodes-base.stickyNote",
"position": [
0,
480
],
"parameters": {
"color": 6,
"width": 860,
"height": 340,
"content": "## GET DUPLICATE PAGES"
},
"typeVersion": 1
},
{
"id": "087fb844-2241-4ed9-976d-9bdc7ccd8aa5",
"name": "Note adhésive3",
"type": "n8n-nodes-base.stickyNote",
"position": [
880,
400
],
"parameters": {
"color": 3,
"width": 180,
"height": 420,
"content": "## ARCHIVE (DELETE)"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "fdd2e5ad-4ff5-4432-a5f9-ebbeb1a1a6cb",
"connections": {
"b758ce01-7f5e-4bdc-a4c3-6c00d6bc022a": {
"main": [
[
{
"node": "1ca45ba5-4635-4710-9807-26f22d535059",
"type": "main",
"index": 0
}
]
]
},
"5d39d3b7-604d-4aca-bf9a-3bb09bddad66": {
"main": [
[
{
"node": "55a8f0eb-702b-4056-a28c-96a7ade7c2cd",
"type": "main",
"index": 0
}
]
]
},
"ef8c8cfa-12fb-4fb9-8552-09f69f1f358d": {
"main": [
[
{
"node": "5d39d3b7-604d-4aca-bf9a-3bb09bddad66",
"type": "main",
"index": 0
}
]
]
},
"f1c3c0ad-f904-4d63-a131-0b045a21ce04": {
"main": [
[
{
"node": "ef8c8cfa-12fb-4fb9-8552-09f69f1f358d",
"type": "main",
"index": 0
}
]
]
},
"1ca45ba5-4635-4710-9807-26f22d535059": {
"main": [
[
{
"node": "f1c3c0ad-f904-4d63-a131-0b045a21ce04",
"type": "main",
"index": 0
}
]
]
},
"2c9655ea-401c-410b-a4b1-b001ae6dbe4b": {
"main": [
[
{
"node": "1ca45ba5-4635-4710-9807-26f22d535059",
"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é ?
Intermédiaire - Opérations IT
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
Lucía Maio Brioso
@luciambI'm a backend software developer who loves n8n ⚙️ I enjoy automating everything and share templates I personally find helpful 💡
Partager ce workflow