KeepSidian

approved

by lc0rp

Commands to import Google Keep notes.

★ 46 stars↓ 2,734 downloadsUpdated 8d agoMIT
View on GitHub

KeepSidian: 2-way Obsidian-Google Keep sync

License Issues Release Downloads

As a regular user of both Google Keep and Obsidian, I set out to make it easier to exchange data between both apps.

KeepSidian syncs notes between Google Keep and Obsidian, on demand or automatically on a schedule. The current plugin experience centers manual sync around the Sync Center, where you can review a download, upload, or two-way plan before anything changes in your vault or in Google Keep.

  • Versions 1.1.2+: Introducing two-way sync!
  • Versions 1.1.1 and below: Only downloading supported

Please share your feedback in the issues section on GitHub.

KIM based sync server

The connection to Google Keep is established through a flask server based on Keep-It-Markdown, which handles the heavy lifting. This is particularly useful for users who cannot run Python scripts on their computers.

When you start a sync, you will provide your Google Keep email and a token generated during installation. These credentials are stored on your computer, sent when you sync, and then discarded. KeepSidian stores sync tokens in Obsidian secret storage when available, and does not log or store your credentials or notes on the server.

Manual sync and the Sync Center

KeepSidian now centers manual sync around one primary action: Sync now.

  • Sync now opens the Sync Center and immediately starts building a reviewable download plan.
  • Open sync center opens the same surface without starting a sync, so you can choose the mode first.
  • The ribbon icon and status-bar item also open the Sync Center.
  • The Sync Center can build plans for Download, Upload, or Two-way sync.
  • Download plans support three start-date scopes:
    • Last successful sync
    • All dates
    • Custom
  • Two-way sync uses two staged reviews: first the download plan, then the upload plan created from the updated local state.
  • Legacy commands for Perform two-way sync, Download notes from Google Keep, and Upload notes to Google Keep still exist, but they now route into the same Sync Center flow.

Every manual sync is review-first. The setup view builds a plan, then the larger review modal shows grouped counts and the exact notes/actions before execution. While a sync is running, the status bar, notices, and review modal stay in sync so you can track progress from either place.

Activity log (v1.1.0+)

Each sync activitiy is recorded in a time stamped activity log file under _KeepSidianLogs/ in the target directory as Markdown list items. This file is rotated daily.

Background sync (v1.0.7+)

You can enable background syncing on a 24 hour schedule by default. Project supporters can customize the interval in hours. Project supporters can also choose to run a two-way sync whenever background syncing.

When background-sync is enabled, a status bar indicator is shown in the bottom right.

Supporting the project

KeepSidian is useful for all users. However, some advanced features that may incur additional processing, third party costs or developer time shall be released to users who choose to support KeepSidian development. Anyone can choose to support the project here: 🌎 Support KeepSidian.

Exclusive supporter features

v1.0.14:

  • Advanced filters
  • Auto-tagging
  • Contextual title generation

v1.1.0:

  • Granular background sync interval below the default 24 hours.

v1.1.2:

  • Two-way background sync

Active supporters can manage billing or unsubscribe from inside Obsidian. Open Settings > KeepSidian > Exclusive features for project supporters, then use the Stripe customer-portal link shown in the active subscription section.

Future roadmap

Some upcoming features that I plan to work on include:

  • Daily sync (Shipped in v1.1.0)
  • Realtime sync
  • Archiving
  • Downloading Archived Notes
  • Unlimited notes (Shipped in v1.0.14)
  • 2-way sync (Shipped in v1.1.2)
  • Advanced filters (Shipped in v1.0.14 to supporters)
  • Auto-tagging (Shipped in v1.0.14 to supporters)
  • Contextual title generation (Shipped in v1.0.14 to supporters)

What would you like to see next?

Please rank the upcoming features here or add your own!

  1. KeepSidian wishlist - Google keep features.
  2. Google Calendar features (coming soon): I'd love to hear what you want for this feature.

Installation

KeepSidian can be installed from the community plugin store, as well as a few other options outlined below.

Get the plugin

After installation, go to "Settings > Community Plugins > KeepSidian" in Obsidian to configure the plugin.

Configure

In the plugin settings, you will need to provide:

  • Enter your Google Keep email.
  • Choose a save location in your vault. New installs default to /KeepSidian.
  • Optionally customize the save-location pattern with {now.*} and {note.*} variables such as year, month, day, or date.
  • Optionally customize the imported note filename pattern. The default is {title}.
  • Enable/disable automatic syncing.

Retrieve a Google Keep token

  • Desktop: use one of the built-in browser automation wizards, or follow the manual KIM instructions and paste the token yourself.
  • Mobile: the retrieval wizard is hidden. Paste a token captured on desktop, or paste a short-lived oauth2_4... token and let KeepSidian exchange it through the server.

PRIVACY NOTE: THIS TOKEN IS ONLY STORED ON YOUR COMPUTER. When supported by your Obsidian version, KeepSidian stores the token in Obsidian secret storage.

Mobile compatibility (v2.0.3+)

Starting with v2.0.3, KeepSidian can be used on mobile. A community member takes Google Keep notes on the go from their smartwatch, then uses KeepSidian on their phone to sync those notes into Obsidian.

KeepSidian on mobile still requires a sync token, but it does not include the token retrieval wizard. The easiest path is to retrieve the token on desktop, copy it, paste it into a temporary Google Keep note, then open that note on your phone and copy/paste the token into KeepSidian settings. Any other reliable copy/paste method between desktop and phone works too.

Frontmatter

The plugin adds the following frontmatter to each synced note:

  • GoogleKeepUrl
  • GoogleKeepCreatedDate
  • GoogleKeepUpdatedDate
  • KeepSidianLastSyncedDate

Conflict resolution

When a local note and its Google Keep counterpart have both been modified since the last sync, KeepSidian now attempts to merge the differing bodies of the notes. The frontmatter of the existing note is preserved and excluded from the merge comparison. If the merge succeeds, the note is updated in place; otherwise, the incoming version is saved as a separate -conflict-<timestamp>.md file.

Attachments

  • Downloaded attachments are stored under the sync folder's media/ directory.
  • Upload scans Markdown notes under the save location and includes referenced attachments that resolve into media/.
  • Missing attachments are skipped and recorded in the sync log.
  • Media uploads are still considered experimental and server support may vary by attachment type.

Other plugins

Feedback

Please share your feedback in the issues section on GitHub.

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.