KeepSidian
approvedby lc0rp
Commands to import Google Keep notes.
KeepSidian: 2-way Obsidian-Google Keep sync
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 nowopens the Sync Center and immediately starts building a reviewable download plan.Open sync centeropens 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 syncAll datesCustom
- 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!
- KeepSidian wishlist - Google keep features.
- 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
- Option 1 (Preferred): Via the Obsidian community plugin store
- Option 2: Use the Obsidian BRAT plugin
- Option 3: Clone this repository in your {obsidian vault path}/.obsidian/plugins
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
- Obsidian Task Roles - Assignee & Role Tracking for your Obsidian Tasks.
- Checkbox Bulk Dates - Add creation dates to unchecked checkboxes.
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.