Workflow n8n

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.
Tags clés :automatisationNotionn8ngestion de donnéesproductivité
Catégorie: Scheduled · Tags: automatisation, Notion, n8n, gestion de données, productivité0

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

  • Get All Databases

    Ce noeud récupère toutes les bases de données depuis Notion.

  • Get All Database Pages

    Ce noeud récupère toutes les pages d'une base de données spécifique dans Notion.

  • Get Page Blocks

    Ce noeud obtient tous les blocs d'une page donnée dans Notion.

  • Process Blocks

    Ce noeud traite les blocs récupérés en exécutant un code fonctionnel personnalisé.

  • SplitInBatches

    Ce noeud divise les données en plusieurs lots selon la taille de lot spécifiée.

  • Check for empty properties

    Ce noeud vérifie si certaines propriétés sont vides en exécutant un code fonctionnel.

  • Archive Page

    Ce noeud archive une page spécifique dans Notion.

  • If toDelete

    Ce noeud évalue une condition pour déterminer si une page doit être supprimée.

  • If Empty Properties

    Ce noeud évalue une condition pour vérifier si des propriétés sont vides.

  • Every day @ 2am

    Ce noeud déclenche le workflow tous les jours à 2 heures du matin.

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.