NotebookLM - Vault Knowledge Graph
Turn NotebookLM notebooks into persistent, linked vault knowledge. Sources become files you can [[wikilink]], Q&A answers get [N] citations resolved to those wikilinks, dashboards tie it all together.
Prerequisites
1. Install notebooklm-py
bashpip install "notebooklm-py[browser]" playwright install chromium
2. Authenticate
bashnotebooklm login
Opens a browser window - log in with your Google account. Cookies are saved to ~/.notebooklm/storage_state.json.
Re-run notebooklm login when cookies expire (you'll see auth errors).
3. Obsidian Plugins
- Dataview (required) - citation tables and dashboard queries use Dataview/DataviewJS
4. Vault Setup
Copy the templates from templates/ into your vault:
templates/notebook-source.md->Templates/Types/notebook-source.mdtemplates/dashboard.md-> use as reference when creating dashboards
Quick Start
bash# Check current notebook notebooklm status # Switch notebook notebooklm use <notebook-id> # List notebooks notebooklm list
Workflow Routing
| User says | Workflow |
|---|---|
| "import notebook", "notebooklm import", "import sources" | workflows/import.md |
| "notebooklm ask", "ask notebook", "Q&A" | workflows/ask.md |
Architecture
Your Vault ├── Notes/NotebookLM/{notebook-slug}/ │ ├── Sources/ # One .md per source (YouTube, PDF, web, etc.) │ │ ├── Video Title.md │ │ └── Article Title.md │ └── QA/ # Q&A notes with resolved citations │ └── 2026-02-23 Emerging Themes.md └── Notes/Dashboards/ └── My Research.md # Dashboard with Dataview queries
- Source files have type
notebook-sourcewith frontmatter:source_id,notebook_id,url,source_type, topics as[[wikilinks]] - Q&A notes have type
referencewith[N]citations resolved to[[Source Title#Passage N]]wikilinks - Dashboards use Dataview queries to list sources and Q&A notes
Data Model
notebook-source frontmatter:
yamltype: notebook-source source_id: "uuid" # NotebookLM source ID notebook_id: "uuid" # NotebookLM notebook ID url: "" # Original URL source_type: youtube # youtube, pdf, web, text, gdocs, gslides status: active date: YYYY-MM-DD topics: - "[[Topic Name]]" # AI-extracted topics as wikilinks related: - "[[Notes/Dashboards/Dashboard Name]]"
Q&A reference frontmatter:
yamltype: reference status: current date: YYYY-MM-DD source: "notebooklm:{notebook-slug}" related: - "[[Notes/Dashboards/Dashboard Name]]"
Scripts
| Script | Purpose |
|---|---|
scripts/import_sources.py | Import sources as vault files with AI-generated guides and topics |
scripts/extract_passages.py | Extract cited passages from Q&A into source files |
scripts/resolve_citations.py | Replace [N] markers with [[wikilinks]] in Q&A answers |
All scripts use Path.cwd() as vault root - run them from your vault directory.


