Quick overview This workflow runs every morning, scans a Notion tasks database for overdue, unfinished items, rolls their due dates forward, increments a roll counter, and marks tasks as stale once they have been rolled too many times. How it works Runs every morning at 7:00 based on a schedule. Retrieves all pages from the selected Notion database. Filters for tasks with a due date before today and a status that is not in the configured “done” list. Sets each overdue task’s due date to today (or the next business day), increments its Rolled counter, and marks it Stale when the roll count exceeds the threshold. Updates the matching Notion pages with the new due date, Rolled number, and Stale checkbox values. Setup Add your Notion API credentials and share the target Notion database with the Notion integration. Select your tasks database in the Notion “Get Open Tasks” step. Ensure your database has matching properties (Due date, Status select/status, Rolled number, and Stale checkbox) and update the property names, DONE_VALUES, STALE_THRESHOLD, and ROLL_TO settings in the code to match your schema.
Tags
Related workflows
See all Notion→Report number of weekly created records in an app
This template shows how you can create reports on data in an app and share a summary in another app. Specifically, this example checks a Notion database for new submissions, filters for submissions with a specific tag, and then sends a Slack message with the number created this week. Setup instructions are located inside the workflow template.
🧹 Archive (delete) duplicate items from a Notion database
🧑💼 Who is this for? If you’re using Notion to manage a database (like saving links, tasks, notes, or anything really), and it’s starting to get messy with duplicate entries, this workflow is for you. It’s especially useful if you want to keep things tidy without doing any manual cleanup. 🧠 What problem is this workflow solving? Notion doesn’t have a built-in way to find or remove duplicates, so you either clean them up manually 😩 or just let them pile up. This workflow automatically finds entries that share the same property (like a URL or title) and archives the extra copies, keeping just one. ⚙️ What this workflow does Pulls all pages from a Notion database. Identifies duplicates based on a property you choose. Archives the duplicate pages (which is like soft-deleting them). Keeps one version of each duplicate group. It includes two optional triggers: Run it every day ⏰ Or trigger it automatically when a new page is added to the database ⚡ 🛠️ Setup Connect your Notion account in n8n. Select your database in the Notion nodes. In the “Format items properly” node, replace "SET YOUR PROPERTY HERE" with a reference to the property you want to use for detecting duplicates. I reco
Normalize and backfill Notion database properties with rules and logging
Quick overview This workflow runs daily to normalize and backfill properties in a Notion database, standardizing Status values, deriving a Key slug and Created week stamp, updating only changed pages, and appending a run recap to a Notion log page. How it works Runs every day at 3am on a schedule. Fetches all pages (rows) from a selected Notion database with full property data. Applies normalization rules to backfill missing Status values, canonicalize known Status variants, and optionally derive a Key slug from the title and a Created week value from the page creation time. Updates only the Notion pages where one or more of these derived values differs, and stamps a Last normalized date on each updated page. Appends a one-line recap of the run (scanned vs. updated counts and what changed) to a specified Notion page or block. Setup Add a Notion API credential and share both the target database and the log page with your Notion integration. Select the Notion database to process in the database ID field used to fetch all database pages. Update the rules in the code configuration (property names, DEFAULT_STATUS, and the CANONICAL_STATUS mapping) to match your database. Ensure the targ