Most Notion workspaces start as pretty pages and turn into graveyards. The fix isn’t more pages; it’s databases used like a real system—with relations, rollups, honest statuses, and a few buttons and automations that keep everything moving. This guide gives you a production-ready setup for individuals and small teams: a clean schema, step-by-step buildout, essential formulas, reusable templates, lightweight automations, and dashboards that leaders and ICs will actually open.
The operating model (and why databases win)
Pages are great for narrative; databases are for work you must retrieve, sort, and decide on. Your goal is to make it trivial to answer questions like:
- What are this week’s outcomes, and who owns them?
- What is blocked, and why?
- What shipped, and what did it move?
You’ll build five core databases that surface those answers in 1–2 clicks.
The minimal schema (copy this, rename to taste)
Create these databases in one workspace:
- Projects — durable outcomes with milestones
Properties:Status(Idea, Planned, In Progress, At Risk, On Hold, Done),Owner(Person),Start,Target,Priority(P1–P3),Area(Select),Health(Green/Yellow/Red),KPI(Text),Decision Log(Relation → Decisions),Tasks(Relation → Tasks),Progress %(Formula/Rollup). - Tasks — atomic units of work
Properties:Project(Relation → Projects),Assignee,Status(To Do, In Progress, In Review, Blocked, Done),Priority,Effort(Number, hours or points),Impact(Low/Med/High),Due(Date),Cycle(Select: Week ## or Sprint ##),Links(URL),Blocked By(Relation → Tasks),Checklist(Sub-tasks or to-do block). - Meetings/Notes — living record of decisions and actions
Properties:Date,Participants(People),Project(Relation),Decisions(Relation → Decisions),Actions(Relation → Tasks),Type(1:1, Weekly Review, Retro, Customer Call). - Decisions — short, linkable truths
Properties:Decision,Date,Project(Relation),Impact(Text),Owner,Links(URL),Revisit On(Date),Status(Proposed, Agreed, Reversed). - People — capacity and focus
Properties:Role,Manager(Relation → People),Weekly Capacity (h)(Number),Focus Areas(Multi-select),Slack/Handle(Text),Active?(Checkbox).
Keep the schema boring. You’ll add nuance with formulas and views—not a hundred fields.
Build the relationships that make dashboards sing
- In Tasks, relate each task to one Project. Turn on Show on Projects to surface linked tasks in the project page.
- In Projects, add a rollup on
Tasks → Statusto count Done vs Total. ComputeProgress %:if(empty(prop("Tasks")), 0, round( (toNumber(sum(if(prop("Tasks").Status = "Done", 1, 0))) / toNumber(length(prop("Tasks")))) * 100 ) ) - In Tasks, relate
Blocked By(self-relation). Create a Formula propertyIs Blocked:length(prop("Blocked By")) > 0 or prop("Status") = "Blocked" - In Meetings/Notes, add a relation to Decisions and Tasks so meeting pages show the actions and outcomes directly.
Views people will actually use
For each database, ship a tiny set of opinionated views.
Projects
- Now:
Status is In Progress or At Risk, sorted byTarget, grouped byArea. - At Risk:
Status is At Risk or Health = RedorTarget within 14 days. - Portfolio Timeline: Timeline view by
Start → Target, color byHealth.
Tasks
- My Week:
Assignee is MeandStatus ≠ DoneandDue within 7 days, grouped byProject. - Blocked:
Is Blocked = true, showBlocked By. - Review:
Status is In Review, owner grouping for managers. - Calendar: calendar by
Dueto eyeball bunching.
Meetings/Notes
- This Week:
Date is within this week, sorted latest first. - Decisions: a linked view that filters notes with at least one decision relation.
Decisions
- Recent:
Date ≥ now() - 30 days, sorted DESC. - Revisit Soon:
Revisit On within 14 days.
People
- Workload: add a rollup from Tasks to sum
EffortwhereStatus ≠ DoneandDue within 7 days; compare toWeekly Capacity (h).
Essential formulas you’ll reuse
1) On-time signal (Tasks)
if(prop("Status") = "Done",
if(prop("Due") and dateBetween(prop("Due"), start(prop("Due")), prop("Due")) and prop("Due") >= date(prop("Completed At")), "On Time", "Late"),
if(prop("Due") and now() > prop("Due"), "Overdue", "")
)
If you don’t track completion timestamps, simplify to:
if(prop("Status") != "Done" and prop("Due") and now() > prop("Due"), "Overdue", "")
2) Cycle label (Tasks)
"Week " + format(dateBetween(prop("Due"), startOfWeek(now()), endOfWeek(now())) ? dateFormat(now(), "WW") : dateFormat(prop("Due"), "WW"))
Or set Cycle manually during planning; the view does the rest.
3) Health (Projects)
if(prop("Status") = "At Risk", "Red",
if(prop("Progress %") < 50 and dateBetween(prop("Target"), now(), dateAdd(now(), 14, "days")), "Yellow", "Green")
)
4) Days to Target (Projects)
if(prop("Target"), dateBetween(prop("Target"), now(), prop("Target")) ? toNumber(dateBetween(prop("Target"), now(), "days")) : 0, "")
Templates that encode quality
Project template (applies on new Project pages)
- H2 “Outcome & KPI” with one-sentence success metric.
- H2 “Scope / Non-goals”.
- H2 “Milestones” with a simple checklist.
- H2 “Links” (brief, design, dashboard, repo).
- H2 “Risks & Mitigations”.
- H2 “Decision Log” with a linked database view of Decisions filtered to this project.
- H2 “Open Tasks” with a linked Tasks view filtered to this project, group by
Status.
Task template
- Sections: “Context”, “Acceptance Criteria” (Given/When/Then), “Links”, “Analytics event(s)”.
- Default
Status = To Do,Priority = P2,Effort = 1. - Reminder: include a callout to add
Blocked Byif applicable.
Meeting/Notes template
- Header with
Date,Participants,Project. - Sections: “Agenda”, “Notes”, “Decisions” (just create Decision pages inline and relate), “Actions” (create Task pages inline and assign).
Decision template
Decision:short sentence.Context:one paragraph.Options considered:bullets with pros/cons.Chosen because:single reason.Follow-ups:relation to tasks.
Templates are your governance. They prevent taste-based review and make your dashboards trustworthy.
Buttons and lightweight automations
You don’t need massive workflows to keep momentum—just a few buttons and triggers.
Button: “Plan This Week” (on Tasks)
- Action 1: Set
Status → To Do - Action 2: Set
Due → next Friday - Action 3: Set
Cycle → Week <current>
Button: “Move to Review” (on Tasks)
- Check: only show when
Status = In Progress - Actions: Set
Status → In Review; append “Ready for review” to the page; optionally relate the task to today’s Meeting note (handy during stand-ups).
Button: “Ship & Log” (on Tasks)
- Actions: Set
Status → Done - If
Projectexists, create a new Decision “Shipped: <task title>” related to that project and setDate = now(). - Optional: append a bullet to the project’s page under “Changelog”.
Automation: “Auto-At Risk” (Projects)
- Trigger: When
Targetis within 14 days ANDProgress % < 75 - Action: Set
Status → At Riskand prepend a callout asking for a one-sentence risk note.
Automation: “Sweep Overdue Tasks”
- Trigger: Every weekday at 17:00
- Action: For tasks where
Status ≠ DoneandDue < now(), incrementDueby one day and add “⏭ rescheduled” to the page. Keep reschedules honest—don’t let it loop forever; add a manual review.
If you want notifications in Slack or email, use Notion’s integrations or a connector (Zapier/Make). Keep it high-signal: at-risk projects and weekly portfolio summaries, not every status change.
Dashboards that drive decisions
Create two Pages with embedded linked views and a tiny bit of narrative.
Team Home (for ICs)
- “Today” board: Tasks →
Assignee = me,Status ≠ Done, grouped byStatus. - “This Week” timeline: Tasks by
Due, filterAssignee = me,Status ≠ Done. - “My Blockers”: Tasks where
Is Blocked = true. - “Upcoming Meetings”: Meeting/Notes view
Date within 7 days. - At the top, a callout with your two scheduling links and norms (“Deep work 9–11; urgent = call”).
Portfolio (for leads)
- “Now” Projects view (Status = In Progress/At Risk), sort by
Target, showProgress %,Health, andOwner. - “At Risk” Projects view with a small instruction: owners add one-sentence risk note weekly.
- “Throughput” chart: Tasks completed per week (if you prefer, embed a simple chart via synced blocks or an external BI).
- “Recent Decisions”: Decisions last 30 days, grouped by Project.
Dashboards should feel like a control panel, not a museum. If a widget doesn’t change a decision, delete it.
Weekly and quarterly cadences
Weekly planning (45 minutes)
- Open Portfolio → scan At Risk; adjust
Status/Target. - Open Projects → pull the next slice of tasks into My Week by setting
DueandCycle. - One stand-up per day (10–15 min): use a filtered Tasks board and a Meeting page. Every blocker gets a
Blocked Byrelation or a note with a date—no vibes-based “I’m blocked”.
Weekly review (30 minutes)
- “Shipped this week” Tasks view (Status = Done, Completed within 7 days). Paste top three into your team update with links.
- Update Health and Progress % on Projects; log one new Decision if any trade-off occurred.
- Clear the “Sweep Overdue” pile; either recommit or drop.
Quarterly
- Archive Done projects. Duplicate the Project template for the new quarter’s initiatives. Tighten templates and formulas you didn’t use; remove fields that didn’t drive views or decisions.
Integrations that actually save clicks
- Issue trackers (Linear/Jira/GitHub): store the canonical link in Tasks; if you need bi-directional sync, pick one flow (e.g., “move to Done when PR merges”) and avoid full mirroring unless you truly need it.
- Calendar: paste meeting links and Notion page URLs in invites so calendar → one click → the right page.
- Slack: unfurl links; route only at-risk project summaries and weekly changelogs to a channel.
If you wouldn’t manually copy-paste it twice a week, you don’t need the integration.
A two-week rollout plan
Days 1–2 — Model the schema
Create the five databases and relations. Add the minimal properties only. Write a one-page “How we Notion” with statuses and naming rules.
Days 3–4 — Templates
Build the Project, Task, Meeting, and Decision templates. Test by creating one fake project and running a meeting end-to-end.
Day 5 — Views & Dashboards
Add the views listed above and assemble Team Home and Portfolio pages. Keep them under five sections each.
Day 6 — Buttons & Automations
Create “Plan This Week”, “Move to Review”, and “Ship & Log” buttons. Add “Auto-At Risk” and “Sweep Overdue”.
Day 7 — Real data
Import real projects and tasks (do not backfill the last six months—start from now). Assign owners and targets.
Days 8–9 — Rituals
Run the first weekly planning and review. Capture blockers and log at least one Decision.
Day 10 — Integrations
Wire only one notification (At Risk summary) and paste canonical repo/issue links into tasks. Resist over-automation.
Days 11–12 — Training
A 30-minute walk-through for the team: create task from meeting, move through statuses, use buttons, find decisions, update project health.
Days 13–14 — Tune & lock
Delete unused fields/views. Freeze the schema for one month so habits harden. Put dashboard ownership on the calendar (Fridays).
Common pitfalls (and how to avoid them)
- Field explosion: every request becomes a new property. Fix: if it doesn’t drive a view, rule, or decision, it’s a note—not a field.
- Status soup: each project invents states. Fix: one shared set for Tasks and Projects; use
HealthandAreafor nuance. - Meeting notes as silos: decisions buried in paragraphs. Fix: create Decision pages inline and relate them; dashboards pull them up.
- Due-date theater: endless reschedules. Fix: limit Today to 4–6 hours of real work; use “Sweep Overdue” + weekly review to recomit or drop.
- Dashboards as wallpaper: pretty, unused. Fix: prune to what changes decisions; add a one-paragraph weekly narrative.
Final thoughts
Notion turns into a work OS when databases carry the load: relations bind context, rollups tell the truth, formulas highlight risk, and buttons/automations remove babysitting. Pair that with two reliable rituals—weekly planning and review—and you’ll get the compound benefit: fewer status meetings, cleaner decisions, and a living workspace that mirrors reality.