GetNote Importer

approved

by andyzhengyan

This plugin has not been manually reviewed by Obsidian staff. Sync notes, links, recordings, and AI summaries from GetNote into your local vault.

2 stars108 downloadsUpdated 10d agoMIT

GetNote Importer

Community Plugin Latest Release Downloads CI License

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.

中文版说明

Why It Feels Good

  • Readable files, not dumped data: notes are named from their titles and organized by note type.
  • Incremental by default: unchanged notes are skipped; updated notes are refreshed.
  • Checkpoint continuity: scheduled sync resumes from where it left off, without re-processing the last note.
  • Selective when you need control: pick exactly which notes to bring into Obsidian.
  • Scheduled when you want peace of mind: keep the vault fresh in the background.
  • Audio-aware: recording notes can include downloaded audio assets and transcript content when the GetNote API provides them.
  • Mobile-friendly networking: API calls use Obsidian requestUrl, keeping the plugin suitable for desktop and mobile Obsidian.

Why Not GetNote's Official Export?

GetNote's official export has significant limitations:

GetNote Official ExportGetNote Importer
Exports as offline HTML (one giant file)Syncs as individual Markdown files
Max 10,000 notes per exportNo hard limit; incremental sync handles any volume
Manual one-time exportScheduled auto-sync keeps your vault up to date
All-or-nothing exportSelective sync — choose exactly which notes to import
No incremental updatesOnly changed notes are re-downloaded
Audio files need separate handlingAudio 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.

Screenshots

Settings page — credentials, filename format, scheduled sync toggle and interval.

Settings

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

Sync History

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

Manual Sync

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

Synced Recording

Features

FeatureDescription
Incremental syncCreate new notes, update changed notes, skip unchanged notes
Selective syncChoose notes from a picker before importing
Scheduled syncSync in the background on an interval
Startup syncOptionally sync once when Obsidian starts
Type-based foldersPlain text, links, recordings, local audio, and unknown types are grouped separately
Title-based filenamesUses note titles first, then content previews as fallback
Date prefixesSupports patterns like YYYY-MM-DD and YYYYMMDD_HHmm
Conflict protectionAvoids overwriting different notes with the same title
Sync historyShows per-note created, updated, skipped, and failed results
Auto checkpointTracks last synced timestamp to avoid re-processing the same note

Installation

From Obsidian Community Plugins

Available on Obsidian

  1. Open Settings -> Community plugins -> Browse.
  2. Search for GetNote Importer.
  3. Install and enable the plugin.

Manual Install

  1. Download main.js, manifest.json, and styles.css from the latest release.
  2. Put them into:
<your-vault>/.obsidian/plugins/getnote-importer/
  1. Reload Obsidian and enable GetNote Importer.

Get API Credentials

Note: GetNote Open API requires a Get笔记PRO subscription. We confirmed with the GetNote team that API costs are high, so access is currently limited to paid members only. If you are using the free tier, the Open API endpoints will not return data.

Your GetNote credentials are stored in Obsidian plugin settings and are used only to call the selected GetNote API mode.

OpenAPI Mode

  1. Open the GetNote app.
  2. Go to Settings -> Open Platform.
  3. Create an app and copy the Token and Client ID.
  4. Select OpenAPI mode (PRO) in Settings -> GetNote Importer and paste both values.

You can also use the OAuth button in the plugin settings when available.

Web Mode (Manual Token)

If OpenAPI is unavailable for your account, select Web mode (manual token) and paste the Authorization Bearer token from an active GetNote web session. You may also paste xi-csrf-token when your captured request includes it. Web tokens are copied manually from your browser session and may expire after several days, so refresh them if connection testing or syncing starts returning authentication errors.

Usage

Sync Everything

Open the plugin settings and click Sync by Time, or run this command from the command palette:

GetNote Importer: Sync Notes

Pick Notes to Sync

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.

Keep It Fresh

Enable scheduled sync, choose an interval, and optionally sync once when Obsidian starts.

Output Structure

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"]
---

Filename Rules

ScenarioExample
Note has a titleMeeting Notes.md
Note has no titleFirst line of content.md
Prefix is YYYY-MM-DD2026-04-30_Meeting Notes.md
Same title, different noteMeeting Notes-2.md

Invalid filename characters such as \ / : * ? " < > | are removed automatically.

Filename Prefix

Prepend a date/time pattern to every filename. Available tokens:

TokenMeaningExample
YYYY4-digit year2026
MM2-digit month04
DD2-digit day30
HH2-digit hour (24h)14
mm2-digit minute30
ss2-digit second05

Examples:

PrefixResulting filename
YYYY-MM-DD2026-04-30_Meeting Notes.md
YYYYMMDD_HHmm20260430_1430_Meeting Notes.md
YYYY-MM-DD2026-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).

Settings

SettingDescriptionDefault
Target FolderDestination folder inside your vaultGet笔记
Filename PrefixDate prefix format: YYYY-MM-DD2026-04-30empty
Auto Sync RangeOnly sync notes updated in the last N days. 0 means no limit30
Sync Start DateOptional absolute start date for manual syncempty
Scheduled SyncRun sync automatically in the backgroundoff
Sync IntervalScheduled sync interval in minutes30
Sync on StartRun once when Obsidian startson

Sync Model

GetNote Importer treats GetNote as the source of truth for imported note content.

  1. Scan the target folder and build a uid -> file index from frontmatter.
  2. Fetch notes from the GetNote Open API.
  3. Filter notes by your sync range (max days, start date, or checkpoint timestamp).
  4. Create files for new notes.
  5. Update files when updated_at changes.
  6. Rename files when the display title changes.
  7. Record per-note results in sync history.
  8. Save the last processed note's updated_at as a checkpoint for the next scheduled sync.

Privacy

  • No external backend is involved.
  • API credentials stay in local Obsidian plugin data.
  • Note data is requested from GetNote and written directly into your vault.
  • Audio attachments are downloaded only from HTTPS URLs returned by the GetNote API.

Known Limitations

  • The plugin depends on the availability and response shape of the GetNote Open API.
  • Audio download works only when the detail API returns a valid HTTPS audio attachment.
  • Imported Markdown content may be updated by future syncs. Keep personal edits in separate notes or backlinks if you need full manual control.

Development

npm install
npm run typecheck
npm run lint
npm test
npm run build

Release assets are generated from the repository root:

  • main.js
  • manifest.json
  • styles.css

The GitHub release workflow verifies typecheck, lint, tests, build, and version/tag consistency before uploading those files.

Support

About the Author

Enterprise AI practitioner, indie AI blogger, AGI believer, and enthusiast. Scan to follow my WeChat public account — let's talk.

WeChat Public Account

License

MIT

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.