Hello Everyone! I started writing a plugin to sync Joplin Notes with Google Docs. Details of the project are here. I am currently just running minimal concept tests and just started writing the plugin this evening.
The basic intent:
Sync a Joplin notebook to a Google Document and each note to a tab inside that document (notebook → doc, note → tab).
Support bidirectional updates:
Joplin → Docs: convert Markdown (headings, bold/italic, etc.) into Google Docs styles.
Docs → Joplin: detect edits using Drive Changes API and pull updated tab content back.
Keep durable mapping between note IDs and Google file/tab IDs; resilient to file moves/renames.
So I moved some of my AI assisted research on how Joplin works (Architecture overview), how the sync should work (Google Docs/Drive Sync Design for Joplin) and research on how to achieve the functionality (GDrive Sync Research, Code Formatting Research) into the project’s Wiki. If anyone wants to have a look, I will be happy to hear constructive criticism or ideas.
So far I have done enough research and testing on sync and formatting I feel I can begin to construct a skeleton plugin.
Hi, thanks a lot for sharing this project! It sounds really interesting.
Could you explain a bit more about the main use cases? For example, what advantages or workflows do you see in keeping Joplin notes synced with Google Docs? Is the focus more on collaboration, accessibility outside of Joplin, or simply having another way to view notes through a web browser?
Also, it might be a good idea to open a new dedicated thread for this plugin, so people who are interested can easily find updates and share feedback. Thanks again for your work!
A new idea with a plugin I know from Obsidian (repo): an automatic saver of links to web.archive.org. Very useful for saving bookmarks (or simply links, which could disappear, in a note).
Hi Eduardo, sorry for the late reply. I am actively working on the plugin in my spare time.
Our company has a lot of know how of certain teams in markdown lying on dev machines. At the same time the company wide solution for document storage, share and collaboration is Google Workspace.
I am going to install Joplin server on our internal prod, Joplin TUI for each dev and they will transfer their markdown notes into Joplin.
Then sync it with the plugin.
TL;DR
A folder in your personal drive is created and all notes from Joplin are synced into it. Now the new Google Docs can either reside in this folder, or you can move them around to different drives - Shared Drives etc. The cool thing? They are still synced to your notes in Joplin (unless you drop the sync).
Yes, company wide collaboration and knowledge sharing is the main intent.
There is a lot written about the design of the plugin in the wiki of the project. Also the readme is informative.
As for code quality, mind you I am using Cursor to code and even GPT5 max model still does quite stupid design choices (as in not modular, global variables, hardcoded constants etc.), so the code is in a constant state of needing refactoring and also variables are badly named. I wrestle with this periodically.
You can download and deploy it with a shell script into your Joplin for testing. You also need to set up a Google Cloud Project with correct APIs. No guarantees! If you screw up your Joplin, it’s on you. However, I am also testing it in my primary Joplin instance and so far so good.
Current state:
Manually triggered actions work and manually triggered polling works (from the ctrl + shift + P menu).
Now I am setting up a new branch to work on Google picker so I can import Google Documents into Joplin without having to grant my plugin sensitive Google Drive scopes (That is a no-go at our company).
The next functionality is making whole notebooks sync. A notebook becomes a Google Doc, notes become tabs in the Google doc.