Workflow: Code Schedule Export

Workflow Details

Download Workflow
{
    "id": "As8TxF3PjyXygc0o",
    "meta": {
        "instanceId": "a059b3dfdab56aa587cc6a2c8635f6f2700cf0c7064dbfb5981c26f7ad9eab88"
    },
    "name": "\ud83e\uddf9 Archive (delete) duplicate items from a Notion database",
    "tags": [],
    "nodes": [
        {
            "id": "b758ce01-7f5e-4bdc-a4c3-6c00d6bc022a",
            "name": "Every day",
            "type": "n8n-nodes-base.scheduleTrigger",
            "position": [
                -180,
                660
            ],
            "parameters": {
                "rule": {
                    "interval": [
                        []
                    ]
                }
            },
            "typeVersion": 1.1999999999999999555910790149937383830547332763671875
        },
        {
            "id": "1ca45ba5-4635-4710-9807-26f22d535059",
            "name": "Get pages from database",
            "type": "n8n-nodes-base.notion",
            "position": [
                60,
                560
            ],
            "parameters": {
                "options": [],
                "resource": "databasePage",
                "operation": "getAll",
                "returnAll": true,
                "databaseId": {
                    "__rl": true,
                    "mode": "list",
                    "value": ""
                }
            },
            "typeVersion": 2.20000000000000017763568394002504646778106689453125
        },
        {
            "id": "ef8c8cfa-12fb-4fb9-8552-09f69f1f358d",
            "name": "Aggregate all items",
            "type": "n8n-nodes-base.aggregate",
            "position": [
                500,
                560
            ],
            "parameters": {
                "options": [],
                "aggregate": "aggregateAllItemData",
                "destinationFieldName": "pages"
            },
            "typeVersion": 1
        },
        {
            "id": "f1c3c0ad-f904-4d63-a131-0b045a21ce04",
            "name": "Format items properly",
            "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.399999999999999911182158029987476766109466552734375
        },
        {
            "id": "5d39d3b7-604d-4aca-bf9a-3bb09bddad66",
            "name": "Filter duplicates",
            "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": "Archive pages",
            "type": "n8n-nodes-base.notion",
            "position": [
                920,
                560
            ],
            "parameters": {
                "pageId": {
                    "__rl": true,
                    "mode": "id",
                    "value": "={{ $json.id }}"
                },
                "operation": "archive"
            },
            "typeVersion": 2.20000000000000017763568394002504646778106689453125
        },
        {
            "id": "2c9655ea-401c-410b-a4b1-b001ae6dbe4b",
            "name": "When a page is added to the database",
            "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": "Sticky Note",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                0,
                0
            ],
            "parameters": {
                "width": 860,
                "height": 460,
                "content": "## \ud83e\uddf9 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": "Sticky Note1",
            "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": "Sticky Note2",
            "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": "Sticky Note3",
            "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": {
        "Every day": {
            "main": [
                [
                    {
                        "node": "Get pages from database",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Filter duplicates": {
            "main": [
                [
                    {
                        "node": "Archive pages",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Aggregate all items": {
            "main": [
                [
                    {
                        "node": "Filter duplicates",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Format items properly": {
            "main": [
                [
                    {
                        "node": "Aggregate all items",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Get pages from database": {
            "main": [
                [
                    {
                        "node": "Format items properly",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "When a page is added to the database": {
            "main": [
                [
                    {
                        "node": "Get pages from database",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        }
    }
}
Back to Workflows

Related Workflows

Prod: Notion to Vector Store - Dimension 768
View
Google Analytics: Weekly Report
View
N8N EspaƱol - NocodeBot
View
Telegram Wait Create Webhook
View
Automate Drive-To-Store Lead Generation System (with coupon) on SuiteCRM
View
Webhook Filter Export Webhook
View
Code Filter Create Scheduled
View
Wait Code Monitor Webhook
View
Splitout Schedule Create Scheduled
View
Stickynote Send Triggered
View