OS Notion Project Management
Notion Tutorials · August 3, 2026 · 5 min read

Notion Project Dependencies: How to Track Them

In short

Notion won't draw a line from a delayed task to the one waiting on it. It will let you build that relationship yourself with a self-relation — here's exactly how.

Notion won’t automatically draw a line from a delayed task to the one waiting on it — there’s no native dependency feature. It will let you build that relationship yourself with a self-relation property. Here’s exactly how, and what it still won’t do.

The honest limitation

Dedicated scheduling tools show dependencies as connecting arrows on a chart, and can even warn you when a delay cascades. Notion doesn’t have that natively. What it does have — a self-relation property — gets you real, trackable dependency data, just not the visual arrow. Worth knowing the difference before you rely on one and expect the other.

Task A: “Approve copy” Status: In Progress Blocks (self-relation) Task B: “Build landing page” Status: Blocked Blocked By (self-relation) self-relation Same Tasks database, related to itself: Task B can’t start until Task A is Done — the relation makes that visible, even without a drawn arrow on the Timeline
Blocked By and Blocks are two sides of the same self-relation — Notion creates the matching property automatically once you accept the two-way prompt.

Setting up a self-relation

On your Tasks database, add a new property, type Relation, and instead of pointing it at a different database, point it back at Tasks itself. Name it “Blocked By.” Notion will prompt to add a matching two-way property — accept it, and it’ll auto-create “Blocks” on the same database. Now any task can reference any other task in the same database as a prerequisite.

Pairing it with a Blocked status automation

The self-relation alone is just data sitting in a property — it becomes genuinely useful paired with a visible Status option (Blocked) and the notification automation from our main tutorial (notify the Assignee when Status changes to Blocked). Together, they turn “is anything actually stuck right now” from a question you have to ask into something the system already surfaces.

Setup roadmap

Setup Roadmap

  1. 1

    Add a self-relation property to Tasks

    Property type: Relation, pointing the Tasks database at itself. Name it “Blocked By.”

    10 min

  2. 2

    Accept the two-way property prompt

    Notion will offer to add a matching “Blocks” property automatically — accept it.

    1 min

  3. 3

    Add a Blocked option to your Status select

    If it doesn’t already exist.

    2 min

  4. 4

    Set an automation: notify Assignee when Status → Blocked

    Covered in our main tutorial’s automation section.

    10 min

  5. 5

    Use “Blocked By” only where sequencing genuinely matters

    Not every task needs this — reserve it for real dependency chains.

    ongoing

Setting this up alongside a Timeline view?

See the honest breakdown of what Notion’s Timeline view can and can’t show for dependency tracking.

Read the Timeline guide →

Launch checklist

Dependency Tracking Checklist

  • A self-relation property (“Blocked By” / “Blocks”) exists on Tasks
  • Status includes a distinct “Blocked” option, separate from “In Progress”
  • A notification automation fires when a task’s Status changes to Blocked
  • The team understands there’s no visual connecting line on the Timeline — this is a data relationship, not a chart feature
  • Self-relations are used selectively, only where real sequencing risk exists

Common mistakes

Common Dependency Mistakes

  • Expecting a visual line to appear on the Timeline. — The self-relation is real, trackable data — but Notion doesn’t render it as a connecting arrow the way dedicated Gantt software does. Set that expectation before the team relies on a visual cue that won’t appear.
  • Adding “Blocked By” to every single task. — Turns a useful signal into noise — reserve it for tasks with genuine sequencing risk, not routine work with no real dependency.
  • No Blocked status to pair with the relation. — The self-relation shows what’s blocking what; the Status field is what makes a blocked task actually visible on a Kanban board or filtered view.
  • Forgetting to notify anyone when the blocker clears. — Without the automation step, a task can sit blocked long after its prerequisite finished, simply because nobody thought to check the relation manually.

Free Notion Template

Dependency-Ready Tasks Database

The Starter Kit with the Blocked By self-relation and Blocked-status automation pre-built.

Duplicate This Template →

Template link placeholder — replace href with the live Notion “Duplicate” share link before publishing.

FAQ

Will Notion automatically update a task’s status when the thing blocking it finishes?

Not by default across a self-relation, but you can build an automation: when Task A’s Status changes to Done, notify or update the related Task B. It requires setting up per relation, not automatic out of the box.

Can one task be blocked by more than one other task?

Yes — a self-relation property supports multiple connections, so Task B’s “Blocked By” field can list several prerequisite tasks.

Does this show up visually on the Timeline view as a connecting line?

No — covered honestly in our Timeline guide, Notion doesn’t draw dependency arrows even with this self-relation in place. The relation is there in the data and visible in the property, just not as a connecting line on the chart.

Is this worth setting up for every project?

Only for projects where sequencing genuinely matters and delays cascade — construction schedules, multi-stage approvals. For simple projects, the setup overhead usually isn’t worth it.

Want this built for your business?

We turn workflows like this into a working Notion system in days, not months.

Find Your Solution

More like this