Box storage cleanup workbench for your monthly sweep
Find the stale, oversized and duplicate files eating your Box storage bill, then archive or delete them in the same sitting.
Build me a Box storage cleanup workbench. It is an internal tool that whoever owns our Box bill opens about once a month to find what is safe to get rid of and actually get rid of it in the same sitting, instead of exporting a report and never acting on it. Everything happens on one screen, laid out as two panes.
At the top let me pick which Box folders to scan and set the rules for the sweep. The rules are a staleness threshold, defaulting to 24 months since a file was last modified, a size threshold for what counts as unusually large, and an exclude list of folders that must never be touched, such as anything under legal hold or a retention policy. Save the folder selection, the thresholds and the exclude list per user so next month's sweep starts where I left off. Excluded folders are skipped during the scan and their files must never appear as an actionable row.
Handlers gather the data with Box List Folder Items, walking the folder tree and requesting the size and modified date fields for every item, so that all sizes are computed from the actual file listing rather than from a stored storage figure, which Box is known to report inaccurately. Use Box Search Content to sweep for specific name patterns I supply. On the heavy hitters, use Box Get File Information for exact size and Box List File Versions for version history, since old versions are often where the real weight is hiding.
The left pane is a rollup of the scanned folders, worst offender first. Each row shows the folder name, total size, file count, and how much of that total qualifies as dead weight, expressed both in gigabytes and as a share of the folder. Selecting a folder drives the right pane.
The right pane lists the individual files behind the selected folder, each with a checkbox, name, size, last modified date, and the reason it showed up. Bucket every file into exactly one reason: untouched for longer than the staleness threshold, unusually large, or a likely duplicate matched on the same file name and the same exact size in a different folder. Let me filter by bucket and sort by size. For a likely duplicate, show which other folder holds the matching copy so I can judge which one to keep.
Show a running space you would reclaim figure that updates live as I tick and untick items. That number is what justifies the session, so keep it prominent and make it reflect the whole current selection across every folder, not just the folder I happen to be looking at.
Actions work on a single row or on everything I have ticked. Archive moves the item into a dated archive folder by changing its parent with Box Update File, creating that archive folder on the fly with Box Create Folder if it does not exist yet, named for the month of the sweep. Delete sends the item to trash with Box Delete File. Unshare strips a public link with Box Remove Shared Link from File, which matters because a sweep regularly turns up stale files that are somehow still shared publicly, so surface those in the list even when they are not otherwise dead weight.
Default the primary button on every row and on the bulk action bar to archive rather than delete. Put a typed confirmation in front of any bulk delete, where I have to type the file count or the word delete before it will run. Never offer any action on a file that lives inside an excluded folder.
Be honest about what each action does to the bill. Box moves deleted files to trash rather than purging them, so space is not released until trash is emptied or the retention window passes, and archiving relocates a file within the same account rather than removing its weight at all. Present the reclaim figure as the space in play, and break the result down into space pending in trash versus content that was only moved, so nobody leaves the session thinking the bill already dropped.
When I finish a sweep, write every item actioned to a Google Sheet with Append Values as the audit trail, one row per file carrying the timestamp, file name, source folder, size, the reason bucket it was in, the action taken, and who ran the sweep. Then post a recap to Slack with Send a Message showing gigabytes reclaimed, how many files were archived versus deleted versus unshared, and which folders gave up the most space. Keep a short history of past sweeps in the app so I can see the trend month over month.
What does this prompt do?
- Scans the Box folders you choose and ranks them worst offender first, showing total size, file count, and how much of that is dead weight.
- Sorts every file into the reason it showed up: untouched for too long, unusually large, or a likely duplicate of something sitting in another folder.
- Keeps a running total of the space you would reclaim that updates as you tick items, so you can see whether the session is worth finishing.
- Archives, deletes, or unshares files one at a time or in bulk, then logs every action to a spreadsheet and posts a recap to your team channel.
What do I need to use this?
- A Box account with permission to move and delete files in the folders you want to clean up
- A Google account and a spreadsheet to hold the audit trail
- A Slack workspace and a channel where the end of sweep recap can be posted
- A list of folders that are off limits, such as anything under legal hold or a retention policy
How can I customize it?
- Change the untouched since threshold, which starts at 24 months, and the file size that counts as unusually large
- Choose which folders get scanned each month and which ones are permanently excluded from any action
- Point the audit trail at a different spreadsheet or send the recap to a different Slack channel
FAQs
Does deleting a file here free up space right away?
Can I stop it from touching folders under legal hold?
What counts as a duplicate?
What if I would rather archive than delete?
Will this work if my Box storage report looks wrong?
Related templates
Stop buying stale lists. Reps run a saved search, work the results like an inbox, and only the accounts they approve ever reach your CRM.
See how your brand's news coverage and sentiment stack up against four competitors, then let an assistant write the weekly report for you.
One screen showing every social post waiting on approval, sorted by deadline, so reviewers can approve or reject without leaving the page.
Every Monday, find the past champions and closed-won contacts who changed jobs, update Attio, and get the moves worth chasing in Slack.
Staff submit what happened, your social manager edits the copy, picks the accounts and puts it on the calendar without a single spreadsheet.
Drag creators through Sourced to Wrapped on a board grouped by campaign, with audience stats on every card and a one-click brief for each creator.
Stop exporting storage reports you never act on.
Open one screen, see exactly what is safe to remove, and clear it out before the session ends.