Notion hierarchy¶
Conductor uses Notion's native Teamspace Projects & Tasks databases. Every Initiative is a Project. Work is tracked as Tasks linked to Projects via native relation. Notion is the authoritative source of truth for Initiative and Task state.
The model¶
Project ──(Tasks)── Task ──(Project)── back to Project
│ │
│ 1:N │ native relation (dual-property)
▼ ▼
Tasks list Linked to parent Project
Projects also link to native Docs, Meetings, and Notes databases — all part of the Teamspace template.
Database IDs¶
| Database | Notion ID | Data Source ID |
|---|---|---|
| Projects | 3a7ec393-2263-805d-ad1b-ff679ace58f7 |
3a7ec393-2263-8049-b87d-000b31d26313 |
| Tasks | 3a7ec393-2263-80f2-9eaf-e8c8a8f11d1a |
3a7ec393-2263-8009-b204-000b5742e93d |
Projects — Properties¶
| Property | Type | Values / Description |
|---|---|---|
| Name | Title | Initiative name |
| Stage (native) | Select | Idea → Planning → In Progress → Complete → Archived |
| Line (custom) | Select | portfolio / product / software / editorial / services / operate |
| Priority (custom) | Select | P1 (critical) / P2 (active) / P3 (idea) |
| Description (custom) | Rich text | Outcome + definition of done |
| Timeline (native) | Date | Intake → Completion dates |
| Tasks (native) | Relation → Tasks | Linked gatekeeper workstreams |
| Docs (native) | Relation → Docs | Linked gatekeeper artifacts |
Lead and Meetings are native properties — not used by Conductor's workflow.
Stage maps to Portfolio governance: - Idea = Intake received - Planning = Classify + Prioritize - In Progress = Capacity approved, workstreams active - Complete = All Tasks Done - Archived = Parked or killed
Tasks — Properties¶
| Property | Type | Values / Description |
|---|---|---|
| Name | Title | What needs to be done |
| Project (native) | Relation → Projects | Which Initiative this Task belongs to |
| Status (native) | Status | Not started / Up next / In progress / Done |
| Due date (native) | Date | Target completion (syncs to Google Calendar) |
| Line (custom) | Select | portfolio / product / software / editorial / services / operate |
| Workflow Stage (custom) | Select | 40 stage values (see below) |
| Estate (custom) | Select | prototype / lab / portfolio-org (software only) |
Status is the native Status type (not custom select), enabling: - Grouped views (To-do / In progress / Complete) - Google Calendar sync on Due date - Home "My tasks" aggregation - Automations on status change
Workflow Stage values¶
Portfolio: intake, classify, prioritize, capacity, review
Product: discover, explore, score, build-gate, ship-signal, archive
Software: frame, design, implement, verify, promote, deploy, document
Editorial: assign, report, draft, edit, fact-check, localize, stage, publish, update
Services: offer, lead, propose, contract, deliver, invoice, complete, archive
Operate: run, observe, change, incident, retire
Verified ntn commands¶
Auth¶
ntn whoami
Read operations¶
# Query all Projects
ntn api v1/data_sources/3a7ec393-2263-8049-b87d-000b31d26313/query --data '{}'
# Query Projects by Line
ntn api v1/data_sources/3a7ec393-2263-8049-b87d-000b31d26313/query --data '{ "filter": { "property": "Line", "select": { "equals": "software" } } }'
# Query all Tasks
ntn api v1/data_sources/3a7ec393-2263-8009-b204-000b5742e93d/query --data '{}'
# Query Tasks for a gatekeeper (by Line)
ntn api v1/data_sources/3a7ec393-2263-8009-b204-000b5742e93d/query --data '{ "filter": { "property": "Line", "select": { "equals": "software" } } }'
# Query Tasks belonging to a specific Project
ntn api v1/data_sources/3a7ec393-2263-8009-b204-000b5742e93d/query --data '{ "filter": { "property": "Project", "relation": { "contains": "<project-page-id>" } } }'
# Get single page content (markdown)
ntn pages get <page-id>
Create operations¶
# Create a Project (two-step: create page, then set properties)
echo 'Outcome and DoD details.' | ntn pages create --parent database:3a7ec393-2263-805d-ad1b-ff679ace58f7
# → returns project page ID
# Set title AND other properties in one PATCH
ntn api v1/pages/<project-id> -X PATCH --data '{"properties":{"Name":{"title":[{"text":{"content":"Project Title"}}]},"Line":{"select":{"name":"product"}},"Priority":{"select":{"name":"P1"}},"Stage":{"select":{"name":"Idea"}},"Description":{"rich_text":[{"text":{"content":"Outcome description."}}]}}}'
# Create a Task (two-step with Project relation)
echo 'Task details.' | ntn pages create --parent database:3a7ec393-2263-80f2-9eaf-e8c8a8f11d1a
# → returns task page ID
ntn api v1/pages/<task-id> -X PATCH --data '{"properties":{"Name":{"title":[{"text":{"content":"Task Title"}}]},"Project":{"relation":[{"id":"<project-page-id>"}]},"Line":{"select":{"name":"software"}},"Workflow Stage":{"select":{"name":"frame"}},"Status":{"status":{"name":"Not started"}},"Estate":{"select":{"name":"lab"}}}}'
Update operations — Page properties¶
# Set Project properties (custom Line, Priority, native Stage, etc.)
ntn api v1/pages/<project-id> -X PATCH --data '{"properties":{"Line":{"select":{"name":"product"}},"Priority":{"select":{"name":"P1"}},"Stage":{"select":{"name":"In Progress"}}}}'
# Set Task properties (custom Line, Workflow Stage, native Status, relation to Project)
ntn api v1/pages/<task-id> -X PATCH --data '{"properties":{"Project":{"relation":[{"id":"<project-page-id>"}]},"Line":{"select":{"name":"software"}},"Workflow Stage":{"select":{"name":"implement"}},"Status":{"status":{"name":"In progress"}},"Estate":{"select":{"name":"lab"}}}}'
# Mark Task as Done (native Status)
ntn api v1/pages/<task-id> -X PATCH --data '{"properties":{"Status":{"status":{"name":"Done"}}}}'
# Set a date
ntn api v1/pages/<page-id> -X PATCH --data '{"properties":{"Due date":{"date":{"start":"2026-08-15"}}}}'
Update page content¶
echo '---
Name: Updated Title
---
Updated description.' | ntn pages edit <page-id>
Delete¶
ntn pages trash <page-id> --yes
Key differences from old workspace-level databases¶
| Aspect | Old (removed) | New (Teamspace) |
|---|---|---|
| Status in Tasks | Custom select | Native Status type (To-do/In progress/Complete groups) |
| Project↔Task link | None | Native dual-property relation |
| Calendar sync | Requires setup | Built-in via native Due date |
| Home "My tasks" | Not available | Automatically aggregates Tasks |
| Stage in Tasks | "Stage" property | "Workflow Stage" (to avoid conflict with Projects.Stage) |
Deleting old databases¶
The workspace-level databases (a6510179 Initiatives, e9c06736 Tasks) should be manually deleted from the Notion UI. They are empty and superseded by the Teamspace databases.