Automatisation Notion avec n8n : archivage des pages vides
Ce workflow n8n a pour objectif d'archiver automatiquement les pages vides dans une base de données Notion. Dans un contexte où la gestion des informations est cruciale, ce processus permet de maintenir une base de données propre et organisée, en éliminant les pages inutiles qui peuvent encombrer l'espace de travail. Les utilisateurs de Notion, qu'ils soient indépendants ou membres d'équipes, peuvent bénéficier de cette automatisation pour optimiser leur flux de travail et améliorer leur productivité.
- Étape 1 : le workflow est déclenché par un cron qui s'exécute tous les jours à 2 heures du matin.
- Étape 2 : il commence par récupérer toutes les bases de données existantes dans Notion grâce au nœud 'Get All Databases'.
- Étape 3 : ensuite, il récupère toutes les pages de la base de données sélectionnée avec le nœud 'Get All Database Pages'.
- Étape 4 : chaque page est ensuite analysée pour vérifier la présence de blocs vides via le nœud 'Get Page Blocks'.
- Étape 5 : un traitement est effectué pour déterminer si les propriétés de la page sont vides grâce au nœud 'Check for empty properties'.
- Étape 6 : si une page est identifiée comme vide, elle est archivée avec le nœud 'Archive Page'. Ce workflow permet de réduire le temps passé à gérer manuellement les pages vides et d'assurer une meilleure organisation des données. En mettant en place cette automatisation n8n, les utilisateurs peuvent se concentrer sur des tâches à plus forte valeur ajoutée.
Workflow n8n Notion, gestion de données, productivité : vue d'ensemble
Schéma des nœuds et connexions de ce workflow n8n, généré à partir du JSON n8n.
Workflow n8n Notion, gestion de données, productivité : détail des nœuds
Inscris-toi pour voir l'intégralité du workflow
Inscription gratuite
S'inscrire gratuitementBesoin d'aide ?{
"id": 115,
"name": "Archive empty pages in Notion Database",
"nodes": [
{
"name": "Get All Databases",
"type": "n8n-nodes-base.notion",
"position": [
240,
300
],
"parameters": {
"resource": "database",
"operation": "getAll",
"returnAll": true
},
"credentials": {
"notionApi": {
"id": "36",
"name": "Notion account"
}
},
"typeVersion": 2
},
{
"name": "Get All Database Pages",
"type": "n8n-nodes-base.notion",
"position": [
420,
300
],
"parameters": {
"simple": false,
"options": {},
"resource": "databasePage",
"operation": "getAll",
"returnAll": true,
"databaseId": "={{$json[\"id\"]}}"
},
"credentials": {
"notionApi": {
"id": "36",
"name": "Notion account"
}
},
"typeVersion": 2
},
{
"name": "Get Page Blocks",
"type": "n8n-nodes-base.notion",
"position": [
1180,
280
],
"parameters": {
"blockId": "={{$json[\"id\"]}}",
"resource": "block",
"operation": "getAll",
"returnAll": true
},
"credentials": {
"notionApi": {
"id": "36",
"name": "Notion account"
}
},
"typeVersion": 2,
"alwaysOutputData": true
},
{
"name": "Process Blocks",
"type": "n8n-nodes-base.function",
"position": [
1360,
280
],
"parameters": {
"functionCode": "let returnData = {\n json: {\n toDelete: false,\n pageID: $node[\"SplitInBatches\"].json[\"id\"],\n }\n};\n\nif (!items[0].json.id) {\n returnData.json.toDelete = true;\n return [returnData];\n}\n\nfor (item of items) {\n \n let toDelete = false;\n\n let type = item.json.type;\n let data = item.json[type];\n\n if (!toDelete) {\n if (data.text.length == 0) {\n toDelete = true;\n } else {\n returnData.json.toDelete = false;\n break;\n }\n }\n\n returnData.json.toDelete = toDelete;\n}\n\nreturn [returnData];"
},
"typeVersion": 1
},
{
"name": "SplitInBatches",
"type": "n8n-nodes-base.splitInBatches",
"position": [
1000,
280
],
"parameters": {
"options": {},
"batchSize": 1
},
"typeVersion": 1
},
{
"name": "Check for empty properties",
"type": "n8n-nodes-base.function",
"position": [
600,
300
],
"parameters": {
"functionCode": "for (item of items) {\n\n let toDelete = false;\n for (const key in item.json.properties) {\n let type = item.json.properties[key].type;\n let data = item.json.properties[key][type];\n \n if (!data || data.length == 0) {\n toDelete = true;\n } else {\n toDelete = false;\n break;\n }\n }\n\n item.json.toDelete = toDelete;\n}\n\nreturn items;"
},
"typeVersion": 1
},
{
"name": "Archive Page",
"type": "n8n-nodes-base.notion",
"position": [
1760,
260
],
"parameters": {
"pageId": "={{$json[\"pageID\"]}}",
"operation": "archive"
},
"credentials": {
"notionApi": {
"id": "36",
"name": "Notion account"
}
},
"typeVersion": 2
},
{
"name": "If toDelete",
"type": "n8n-nodes-base.if",
"position": [
1560,
280
],
"parameters": {
"conditions": {
"boolean": [
{
"value1": "={{$json[\"toDelete\"]}}",
"value2": true
}
]
}
},
"typeVersion": 1
},
{
"name": "If Empty Properties",
"type": "n8n-nodes-base.if",
"position": [
760,
300
],
"parameters": {
"conditions": {
"boolean": [
{
"value1": "={{$json[\"toDelete\"]}}",
"value2": true
}
]
}
},
"typeVersion": 1
},
{
"name": "Every day @ 2am",
"type": "n8n-nodes-base.cron",
"position": [
80,
300
],
"parameters": {
"triggerTimes": {
"item": [
{
"hour": 2
}
]
}
},
"typeVersion": 1
}
],
"active": false,
"settings": {},
"connections": {
"If toDelete": {
"main": [
[
{
"node": "Archive Page",
"type": "main",
"index": 0
}
]
]
},
"Process Blocks": {
"main": [
[
{
"node": "If toDelete",
"type": "main",
"index": 0
},
{
"node": "SplitInBatches",
"type": "main",
"index": 0
}
]
]
},
"SplitInBatches": {
"main": [
[
{
"node": "Get Page Blocks",
"type": "main",
"index": 0
}
]
]
},
"Every day @ 2am": {
"main": [
[
{
"node": "Get All Databases",
"type": "main",
"index": 0
}
]
]
},
"Get Page Blocks": {
"main": [
[
{
"node": "Process Blocks",
"type": "main",
"index": 0
}
]
]
},
"Get All Databases": {
"main": [
[
{
"node": "Get All Database Pages",
"type": "main",
"index": 0
}
]
]
},
"If Empty Properties": {
"main": [
[
{
"node": "SplitInBatches",
"type": "main",
"index": 0
}
]
]
},
"Get All Database Pages": {
"main": [
[
{
"node": "Check for empty properties",
"type": "main",
"index": 0
}
]
]
},
"Check for empty properties": {
"main": [
[
{
"node": "If Empty Properties",
"type": "main",
"index": 0
}
]
]
}
}
}Workflow n8n Notion, gestion de données, productivité : pour qui est ce workflow ?
Ce workflow s'adresse aux professionnels et équipes utilisant Notion pour la gestion de projets et d'informations. Il est idéal pour les PME, les freelances et toute organisation cherchant à automatiser la gestion de ses données sans nécessiter de compétences techniques avancées.
Workflow n8n Notion, gestion de données, productivité : problème résolu
Ce workflow résout le problème de l'encombrement des bases de données Notion par des pages vides. En automatisant l'archivage de ces pages, il permet d'éliminer les frustrations liées à la recherche d'informations pertinentes et réduit le temps consacré à la gestion manuelle des contenus. Les utilisateurs bénéficient ainsi d'une base de données plus propre et mieux structurée, facilitant l'accès à l'information.
Workflow n8n Notion, gestion de données, productivité : étapes du workflow
Étape 1 : le déclencheur cron active le workflow tous les jours à 2 heures du matin.
- Étape 1 : le nœud 'Get All Databases' récupère toutes les bases de données.
- Étape 2 : avec 'Get All Database Pages', toutes les pages de la base de données sont extraites.
- Étape 3 : le nœud 'Get Page Blocks' analyse chaque page pour en extraire les blocs.
- Étape 4 : le nœud 'Check for empty properties' vérifie si des propriétés sont vides.
- Étape 5 : si une page est vide, le nœud 'Archive Page' l'archive. Les conditions dans les nœuds 'If toDelete' et 'If Empty Properties' déterminent le flux de traitement.
Workflow n8n Notion, gestion de données, productivité : guide de personnalisation
Pour personnaliser ce workflow, vous pouvez modifier l'ID de la base de données dans le nœud 'Get All Database Pages' pour cibler une base spécifique. Vous pouvez également ajuster le code dans les nœuds 'Process Blocks' et 'Check for empty properties' pour définir vos propres critères de vérification des pages. Si vous souhaitez intégrer d'autres outils, envisagez d'ajouter des nœuds supplémentaires pour des notifications ou des rapports. Assurez-vous de sécuriser votre flux en vérifiant les permissions d'accès à votre base de données Notion.