andyzhengyan20 downloadsSync notes, links, recordings, and AI summaries from GetNote into your local vault.
Bring your GetNote ideas, highlights, links, recordings, and AI summaries into Obsidian as clean, searchable Markdown.
GetNote Importer is an Obsidian plugin for people who capture in GetNote but think, connect, and build in Obsidian. It keeps imports readable from day one: title-based filenames, type-based folders, source metadata in frontmatter, incremental updates, selective sync, scheduled sync, and detailed sync history.
requestUrl, keeping the plugin suitable for desktop and mobile Obsidian.GetNote's official export has significant limitations:
| GetNote Official Export | GetNote Importer |
|---|---|
| Exports as offline HTML (one giant file) | Syncs as individual Markdown files |
| Max 10,000 notes per export | No hard limit; incremental sync handles any volume |
| Manual one-time export | Scheduled auto-sync keeps your vault up to date |
| All-or-nothing export | Selective sync — choose exactly which notes to import |
| No incremental updates | Only changed notes are re-downloaded |
| Audio files need separate handling | Audio attachments downloaded and linked automatically |
If you've ever tried to find that one note in a 10,000-note HTML file, you know why this plugin exists.
Settings page — credentials, filename format, scheduled sync toggle and interval.

Sync history modal — shows filter criteria, parameters, and per-note results (created, updated, skipped, failed) for each sync run.

Manual sync modal — specify a start date to sync by time range, with note details displayed in collapsible groups.

Synced recording note — includes audio file, transcript text, and AI summary, with metadata (uid, tags, source) recorded in frontmatter.

| Feature | Description |
|---|---|
| Incremental sync | Create new notes, update changed notes, skip unchanged notes |
| Selective sync | Choose notes from a picker before importing |
| Scheduled sync | Sync in the background on an interval |
| Startup sync | Optionally sync once when Obsidian starts |
| Type-based folders | Plain text, links, recordings, local audio, and unknown types are grouped separately |
| Title-based filenames | Uses note titles first, then content previews as fallback |
| Date prefixes | Supports patterns like YYYY-MM-DD and YYYYMMDD_HHmm |
| Conflict protection | Avoids overwriting different notes with the same title |
| Sync history | Shows per-note created, updated, skipped, and failed results |
| Auto checkpoint | Tracks last synced timestamp to avoid re-processing the same note |
⚠️ The plugin is under review by Obsidian. Once approved, it will be available here.
Settings -> Community plugins -> Browse.GetNote Importer.Settings -> Community plugins -> BRAT -> Add a beta plugin.https://github.com/AndyZhengyan/obsidian-getnote-importer
GetNote Importer.main.js, manifest.json, and styles.css from the latest release.<your-vault>/.obsidian/plugins/getnote-importer/
GetNote Importer.Your GetNote API credentials are stored in Obsidian plugin settings and are used only to call the GetNote Open API.
Settings -> Open Platform.Token and Client ID.Settings -> GetNote Importer.You can also use the OAuth button in the plugin settings when available.
Open the plugin settings and click Sync by Time, or run this command from the command palette:
GetNote Importer: Sync Notes
Click Sync by Notes, choose the notes you want, then start syncing. This is useful for project cleanup, topic-based imports, and one-off migrations.
Enable scheduled sync, choose an interval, and optionally sync once when Obsidian starts.
By default, notes are written under a target folder.
vault/
└── Get笔记/
├── 纯文本/
│ └── Meeting Notes.md
├── 链接笔记/
│ └── 2026-04-30_Article Clip.md
├── 录音长录/
│ ├── Recording Summary.md
│ └── asset/
│ ├── Recording Summary.mp3
│ └── Recording Summary.md
└── 其他/
└── Unknown Type.md
Each Markdown note includes frontmatter so future syncs can identify and update the same GetNote item.
---
uid: "1908723638246504120"
title: "Meeting Notes"
created: 2026-04-30 12:45:24
modified: 2026-04-30 13:00:07
source: Get笔记
note_type: recorder_audio
tags: ["work"]
---
| Scenario | Example |
|---|---|
| Note has a title | Meeting Notes.md |
| Note has no title | First line of content.md |
Prefix is YYYY-MM-DD |
2026-04-30_Meeting Notes.md |
| Same title, different note | Meeting Notes-2.md |
Invalid filename characters such as \ / : * ? " < > | are removed automatically.
Prepend a date/time pattern to every filename. Available tokens:
| Token | Meaning | Example |
|---|---|---|
YYYY |
4-digit year | 2026 |
MM |
2-digit month | 04 |
DD |
2-digit day | 30 |
HH |
2-digit hour (24h) | 14 |
mm |
2-digit minute | 30 |
ss |
2-digit second | 05 |
Examples:
| Prefix | Resulting filename |
|---|---|
YYYY-MM-DD |
2026-04-30_Meeting Notes.md |
YYYYMMDD_HHmm |
20260430_1430_Meeting Notes.md |
YYYY-MM-DD |
2026-04-30_.md (no title → content preview) |
The plugin replaces each token with the corresponding value from the note's created_at timestamp. Tokens are case-sensitive — use mm for minutes, not MM (which means month).
| Setting | Description | Default |
|---|---|---|
| Target Folder | Destination folder inside your vault | Get笔记 |
| Filename Prefix | Date prefix format: YYYY-MM-DD → 2026-04-30 |
empty |
| Auto Sync Range | Only sync notes updated in the last N days. 0 means no limit |
30 |
| Sync Start Date | Optional absolute start date for manual sync | empty |
| Scheduled Sync | Run sync automatically in the background | off |
| Sync Interval | Scheduled sync interval in minutes | 30 |
| Sync on Start | Run once when Obsidian starts | on |
GetNote Importer treats GetNote as the source of truth for imported note content.
uid -> file index from frontmatter.updated_at changes.updated_at as a checkpoint for the next scheduled sync.Two options:
Option 1 — Download from releases (no build needed)
main.js, manifest.json, and styles.css from the latest release.mkdir -p <your-vault>/.obsidian/plugins/obsidian-getnote-importer/
cp main.js manifest.json styles.css <your-vault>/.obsidian/plugins/obsidian-getnote-importer/
Option 2 — Build from source
# Build the plugin
npm run build
# Create plugin directory (if it doesn't exist)
mkdir -p <your-vault>/.obsidian/plugins/obsidian-getnote-importer/
# Copy plugin files to vault
cp main.js manifest.json styles.css <your-vault>/.obsidian/plugins/obsidian-getnote-importer/
Reload Obsidian after installing: press Cmd+P (macOS) or Ctrl+P (Windows/Linux), search Reload, and choose Reload app without saving (or restart Obsidian).
npm install
npm run typecheck
npm run lint
npm test
npm run build
Release assets are generated from the repository root:
main.jsmanifest.jsonstyles.cssThe GitHub release workflow verifies typecheck, lint, tests, build, and version/tag consistency before uploading those files.
Suggested entry for obsidianmd/obsidian-releases:
{
"id": "getnote-importer",
"name": "GetNote Importer",
"author": "Zheng Yan",
"description": "Sync notes, links, recordings, and AI summaries from GetNote into your Obsidian vault.",
"repo": "AndyZhengyan/obsidian-getnote-importer"
}