Automate Archiving Empty Notion Pages with n8n Workflow

Manage your Notion workspace effortlessly by automating the archival of empty pages using n8n. This workflow saves you hours by identifying and archiving unused or empty pages daily, maintaining a clean and organized Notion database.
notion
function
cron
+2
Workflow Identifier: 1820
NODES in Use: notion, function, cron, splitInBatches, if
Automate Notion page archiving with n8n

Press CTRL+F5 if the workflow didn't load.

Learn how to Build this Workflow with AI:

What This Automation Does

This workflow finds empty Notion pages and archives them automatically each day.
It stops your workspace from being full of blank or unfinished pages.
It works quietly every night at 2 AM and cleans up pages that have no content or data.
This saves you time checking pages yourself and keeps your Notion neat.

The workflow uses the Notion API to get all databases, then all pages inside each database.
It looks at page properties to see if they are empty.
If properties look empty, it checks page content blocks for any real data.
Only pages fully empty in properties and content get archived.


Inputs, Processing Steps, and Output

Inputs

  • Notion account with API access: The workflow needs to connect to a Notion workspace to get databases and pages.
  • n8n account: To run and manage the automation.

Processing Steps

  • At 2 AM daily, Cron node triggers the workflow.
  • Notion node fetches all databases from the connected Notion workspace.
  • For each database, Notion node fetches all pages inside it.
  • Function node checks the properties of each page, marking pages with empty properties.
  • If node filters only pages flagged as empty in properties.
  • SplitInBatches node processes one page at a time for further checking.
  • Notion node retrieves all content blocks inside each page.
  • Function node named “Process Blocks” examines blocks to confirm if page content is empty.
  • If node decides whether to archive based on block content emptiness.
  • Notion node archives the confirmed empty pages in Notion.

Output

Pages in Notion that have no property data and no content blocks are archived automatically each day.
This reduces clutter and manual cleanup work.


Who Should Use This Workflow

This is for people managing many Notion pages and databases.
If many pages remain empty or unfinished, this workflow helps keep things tidy.

Content managers, project leads, or teams can use it to reduce time spent on manual page checks.
It works well for anyone who wants to automate cleanup tasks in Notion.


Tools & Services Used

  • n8n: Automation platform to create and run the workflow.
  • Notion API: Provides access to databases, pages, and content blocks inside Notion workspace.

Beginner Step-by-Step: Running This Workflow in Production

1. Download and Import Workflow

  1. Click the Download button on this page to get the workflow file.
  2. In the n8n editor, open the menu and choose Import from File.
  3. Select the downloaded workflow file to load it into n8n.

2. Configure Credentials and Settings

  1. In the imported workflow, add your Notion API Key in the Notion nodes credentials.
  2. If needed, update database IDs, page IDs, or other parameters in the nodes to fit your Notion setup.
  3. Double-check that the Cron node is set to the desired time (default 2 AM).

3. Test the Workflow

  1. Run the workflow manually once to check it works as expected.
  2. Look at the execution logs to confirm pages are identified and archived correctly.

4. Activate for Regular Use

  1. Switch on the Cron node to enable scheduled runs.
  2. Set the workflow status from inactive to active in n8n.
  3. Monitor initial runs to ensure no mistakes happen in page archiving.

For users running self-host n8n, confirm your server is online and able to run scheduled workflows.


Customizations

  • Change batch size in the SplitInBatches node to process more pages per run.
  • Adjust the time in the Cron node to run the cleanup at hours that suit your team.
  • Modify JavaScript in the Function nodes to tweak what counts as empty properties or blocks.
  • Add notifications via email or Slack after archiving pages to stay informed.
  • Filter to process only certain databases if not all should be cleaned.

Troubleshooting

  • Issue: No pages get processed despite databases existing
    Cause: The workflow may have wrong database IDs or lack permissions.
    Fix: Check that {{$json["id"]}} expressions correctly pass database IDs and Notion API credentials have access to all content.
  • Issue: Errors in Function node scripts
    Cause: Unexpected data structure or missing fields.
    Fix: Use n8n’s node preview to see actual data and adjust code accordingly.

Pre-Production Checklist

  • Confirm Notion API keys used in n8n have database and block permissions.
  • Test the workflow on small test database with known content to avoid mistakes.
  • Set batch size and Cron timing per your workspace size and use.
  • Backup your Notion content before running mass archival tasks.

Deployment

Activate the Cron node for scheduled archival.
Toggle the workflow status to active.

Watch the first few runs in n8n execution logs to check if pages archive correctly.
Adjust batch sizes or function logic if unexpected results appear.

Regularly look at your Notion workspace to ensure valuable pages remain and only empties get archived.


Conclusion

Using this workflow saves hours by cleaning empty Notion pages automatically every day.
The process is clear, so no important pages are lost by mistake.

Users get an organized workspace without manual checking.
Future upgrades could add reports or tagging to improve content management further.

This workflow helps keep Notion focused on what matters without clutter and extra work.


Code Snippets for Important Function Nodes

Check for Empty Properties Function Node

This code flags pages that have all empty properties.

for (item of items) {
  let toDelete = false;
  for (const key in item.json.properties) {
    let type = item.json.properties[key].type;
    let data = item.json.properties[key][type];
    if (!data || data.length == 0) {
      toDelete = true;
    } else {
      toDelete = false;
      break;
    }
  }
  item.json.toDelete = toDelete;
}
return items;

Process Blocks Function Node

This code verifies if page content blocks have real text or are empty.

let returnData = {
  json: {
    toDelete: false,
    pageID: $node["SplitInBatches"].json["id"],
  }
};
if (!items[0].json.id) {
  returnData.json.toDelete = true;
  return [returnData];
}
for (item of items) {
  let toDelete = false;
  let type = item.json.type;
  let data = item.json[type];
  if (!toDelete) {
    if (data.text.length == 0) {
      toDelete = true;
    } else {
      returnData.json.toDelete = false;
      break;
    }
  }
  returnData.json.toDelete = toDelete;
}
return [returnData];

Automate Notion page archiving with n8n

Visit through Desktop to Interact with the Workflow.

Author
Written By
Vikash Kumar
Building AI agents, n8n workflows and end-to-end automation for 30+ Brands across India, the US, Europe, Dubai & Australia. 7+ years of Experience saving founders real hours every week - no code required.
Author
Written By
Vikash Kumar
Building AI agents, n8n workflows and end-to-end automation for 30+ Brands across India, the US, Europe, Dubai & Australia. 7+ years of Experience saving founders real hours every week - no code required.

Frequently Asked Questions

The workflow checks if page properties are empty first, then inspects page content blocks for any text or data before marking pages to archive.
The workflow requires Notion API credentials that allow reading databases, pages, and blocks, plus permission to archive pages.
Increasing batch size processes more pages per run, speeding cleanup but may increase API calls and processing time, while smaller batches work slower but safely.
Ensure the Cron node is enabled and the workflow status is active in n8n to allow automatic daily execution.

Related Workflows

Automate Twist Channel Creation and Messaging with n8n

This workflow automates creating and updating a channel in Twist and sending a personalized message to specific users. It eliminates manual setup errors and saves time managing Twist communications.

Automate Ideogram Image Generation with Google Sheets & Gmail

This workflow automates graphic design image generation via Ideogram AI, storing image data in Google Sheets and Google Drive, with email alerts via Gmail. It saves designers hours by automating image creation, remixing, review, and record-keeping.

Automate IT Support with Slack and OpenAI in n8n

Streamline IT support by automating Slack message handling using n8n and OpenAI. This workflow handles Slack DMs, filters bots, queries a Confluence knowledge base, and delivers AI-generated responses, improving support efficiency and response time.

Automate Crypto Analysis with CoinMarketCap & n8n AI Agent

Discover how this unique n8n workflow leverages CoinMarketCap’s multi-agent AI to deliver precise, real-time cryptocurrency insights directly via Telegram. Manage crypto data analysis efficiently with automated multi-source API integration.

Automate Gumroad to Beehiiv Subscriber Sync with n8n

Learn how to automatically add new Gumroad sales customers as Beehiiv newsletter subscribers using n8n automation. This workflow saves time by syncing sales data to Google Sheets CRM and notifying your Telegram channel instantly.

Generate On-Brand Blog Articles Using n8n and OpenAI

This workflow automates the creation of on-brand blog articles by analyzing existing company content using n8n and OpenAI. It extracts article structures and brand voice to produce consistent draft articles, saving significant content creation time.
1:1 Free Strategy Session
Your competitors are already automating. Are you still paying for it manually?

Do you want to adopt AI Automation?

Every hour your team does repetitive work, you're burning real money.
While you wait, faster businesses are cutting costs and moving quicker.
AI and automations aren't the future anymore — they're the present.

Book a live 1-on-1 session where we show you exactly which of your daily tasks can be automated — and what it’s costing you not to.