How to Auto-Archive and Delete Completed Items in Notion
Every Notion workspace starts clean. Then the finished tasks, the wrapped-up projects, and the notes you will never open again quietly pile up, until the system you built to make life easier starts to feel like a junk drawer you are afraid to open. The work still gets done, but every visit comes with a little friction and a little noise.
At The Notion Experience, we see this constantly, and it is rarely a design problem. The setup was usually fine. The real issue is that nothing ever leaves it, because archiving by hand is exactly the kind of chore that always loses to more urgent work. The fix is to stop relying on willpower and let Notion do the tidying for you. In this guide we will set up two simple formulas, one that flags completed items for archiving and one that flags long-archived items for deletion, so your active views stay focused while nothing important is ever lost.
How to Auto-Archive Completed Items
The first thing to get clear on is that "done" and "gone" are not the same. When something is finished you often still want it nearby for a little while, in case you need to reference it, reopen it, or report on it. So instead of hiding items the moment they are completed, we give them a short grace period and only then set them aside automatically. Setting that up takes two small pieces.
- Define the Status Property: Start by ensuring you have a "Status" property in your database, with options such as "To Do", "In Progress", and "Done".
- Create the Archive Formula Property: Add a formula property named "Archive" and insert the following formula:
if(dateBetween(now(),
prop("Last edited time"), "weeks") > 1 and
prop("Status") == "Done", true, false)In plain terms, this formula checks two things at once. The dateBetween part measures how many weeks have passed since the item was last touched, and prop("Status") == "Done" confirms the work is actually finished. Only when both are true does the formula return true and mark the item ready to archive, so the signal is entirely automatic and you never have to watch for it yourself.
One detail is worth knowing. The Last edited time resets every time you change a row, so if you tend to keep editing items after marking them Done, base the timing on a dedicated Completed date property instead. It is a small change that makes the archiving far more predictable.
How to Flag Old Items for Deletion
Archiving keeps your active views clean, but the archive itself will slowly grow, so it helps to deal with the truly old items too. The approach mirrors the first formula, with a longer time window, because anything we eventually remove should be well and truly finished.
- Create the Deleted Formula Property: Add another formula property named "Deleted" and insert the following formula:
if(prop("Archive") == true and
dateBetween(now(), prop("Last edited time"), "weeks") > 4, true, false)The logic here is almost identical to the archive formula, with two deliberate differences. The window is longer, because deletion should only ever reach genuinely old items, and the formula checks prop("Archive") == true so that nothing arrives at this stage without first passing through the archive. That ordering is the safety net, since nothing is ever flagged for removal straight from your active list.
It is also worth being clear about what these formulas actually do, because this is the part most people miss. On their own they do not move or delete anything, they simply return true or false. The real cleanup happens through views. We build one main view that hides everything where Archive is true, so your day-to-day workspace only ever shows live work. A second Archive view shows the opposite. And rather than letting Notion erase anything on its own, we add a Cleanup view filtered to Deleted, where you can glance over the oldest items and clear them in a few seconds whenever you like. The workspace tidies itself, but you keep the final say on what actually disappears.
Start Small, Then Let It Run
You do not need to automate your whole workspace tonight. Pick the one database that bothers you most, your task list, your content calendar, or your client tracker, and add just the Archive layer first. Live with it for a week, watch the clutter quietly drop out of your main view, and only add the Deleted flag and Cleanup view later if you want them.
This is a flexible framework, not a rigid rule, so adjust the timing to match how you actually work. The goal was never a perfectly empty database. It is a workspace that feels current and calm every time you open it, and that asks nothing of you to stay that way. Set it up once, and let Notion quietly handle the tidying from here.
🎁 Are you founder or startup? Get 30 Notion Plus & AI for FREE with Partner link: https://affiliate.notion.so/experience