Archivierung leerer Seiten in der Notion-Datenbank

Fortgeschritten

Dies ist ein Building Blocks-Bereich Automatisierungsworkflow mit 10 Nodes. Hauptsächlich werden If, Cron, Notion, Function, SplitInBatches und andere Nodes verwendet. Arkivierung leerer Seiten in der Notion-Datenbank

Voraussetzungen
  • Notion API Key

Kategorie

Workflow-Vorschau
Visualisierung der Node-Verbindungen, mit Zoom und Pan
Workflow exportieren
Kopieren Sie die folgende JSON-Konfiguration und importieren Sie sie in n8n
{
  "id": 115,
  "name": "Archive empty pages in Notion Database",
  "nodes": [
    {
      "name": "Alle Datenbanken abrufen",
      "type": "n8n-nodes-base.notion",
      "position": [
        240,
        300
      ],
      "parameters": {
        "resource": "database",
        "operation": "getAll",
        "returnAll": true
      },
      "credentials": {
        "notionApi": {
          "id": "36",
          "name": "Notion account"
        }
      },
      "typeVersion": 2,
      "id": "Alle-Datenbanken-abrufen-0"
    },
    {
      "name": "Alle Datenbankseiten abrufen",
      "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,
      "id": "Alle-Datenbankseiten-abrufen-1"
    },
    {
      "name": "Seitenblöcke abrufen",
      "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,
      "id": "Seitenbl-cke-abrufen-2"
    },
    {
      "name": "Blöcke verarbeiten",
      "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,
      "id": "Bl-cke-verarbeiten-3"
    },
    {
      "name": "In Batches aufteilen",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        1000,
        280
      ],
      "parameters": {
        "options": {},
        "batchSize": 1
      },
      "typeVersion": 1,
      "id": "In-Batches-aufteilen-4"
    },
    {
      "name": "Auf leere Eigenschaften prüfen",
      "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,
      "id": "Auf-leere-Eigenschaften-pr-fen-5"
    },
    {
      "name": "Seite archivieren",
      "type": "n8n-nodes-base.notion",
      "position": [
        1760,
        260
      ],
      "parameters": {
        "pageId": "={{$json[\"pageID\"]}}",
        "operation": "archive"
      },
      "credentials": {
        "notionApi": {
          "id": "36",
          "name": "Notion account"
        }
      },
      "typeVersion": 2,
      "id": "Seite-archivieren-6"
    },
    {
      "name": "Wenn zu löschen",
      "type": "n8n-nodes-base.if",
      "position": [
        1560,
        280
      ],
      "parameters": {
        "conditions": {
          "boolean": [
            {
              "value1": "={{$json[\"toDelete\"]}}",
              "value2": true
            }
          ]
        }
      },
      "typeVersion": 1,
      "id": "Wenn-zu-l-schen-7"
    },
    {
      "name": "Wenn leere Eigenschaften",
      "type": "n8n-nodes-base.if",
      "position": [
        760,
        300
      ],
      "parameters": {
        "conditions": {
          "boolean": [
            {
              "value1": "={{$json[\"toDelete\"]}}",
              "value2": true
            }
          ]
        }
      },
      "typeVersion": 1,
      "id": "Wenn-leere-Eigenschaften-8"
    },
    {
      "name": "Täglich um 2 Uhr morgens",
      "type": "n8n-nodes-base.cron",
      "position": [
        80,
        300
      ],
      "parameters": {
        "triggerTimes": {
          "item": [
            {
              "hour": 2
            }
          ]
        }
      },
      "typeVersion": 1,
      "id": "T-glich-um-2-Uhr-morgens-9"
    }
  ],
  "active": false,
  "settings": {},
  "connections": {
    "Wenn-zu-l-schen-7": {
      "main": [
        [
          {
            "node": "Seite-archivieren-6",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Bl-cke-verarbeiten-3": {
      "main": [
        [
          {
            "node": "Wenn-zu-l-schen-7",
            "type": "main",
            "index": 0
          },
          {
            "node": "In-Batches-aufteilen-4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "In-Batches-aufteilen-4": {
      "main": [
        [
          {
            "node": "Seitenbl-cke-abrufen-2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "T-glich-um-2-Uhr-morgens-9": {
      "main": [
        [
          {
            "node": "Alle-Datenbanken-abrufen-0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Seitenbl-cke-abrufen-2": {
      "main": [
        [
          {
            "node": "Bl-cke-verarbeiten-3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Alle-Datenbanken-abrufen-0": {
      "main": [
        [
          {
            "node": "Alle-Datenbankseiten-abrufen-1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wenn-leere-Eigenschaften-8": {
      "main": [
        [
          {
            "node": "In-Batches-aufteilen-4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Alle-Datenbankseiten-abrufen-1": {
      "main": [
        [
          {
            "node": "Auf-leere-Eigenschaften-pr-fen-5",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Auf-leere-Eigenschaften-pr-fen-5": {
      "main": [
        [
          {
            "node": "Wenn-leere-Eigenschaften-8",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Häufig gestellte Fragen

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?

Fortgeschritten - Bausteine

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.

Workflow-Informationen
Schwierigkeitsgrad
Fortgeschritten
Anzahl der Nodes10
Kategorie1
Node-Typen5
Schwierigkeitsbeschreibung

Für erfahrene Benutzer, mittelkomplexe Workflows mit 6-15 Nodes

Externe Links
Auf n8n.io ansehen

Diesen Workflow teilen

Kategorien

Kategorien: 34