Automate the organization of your Omnivore content in Obsidian
Learn to organize your saved content in Obsidian with automation
The Obsidian and Logseq plugins offer more control and new archiving possibilities for the content you save and read in Omnivore. In this article, we will walk through the creation of a workflow for syncing documents from Omnivore to Obsidian. This will involve the Omnivore to Obsidian sync and Auto Note Mover plugins.
Getting Started
To create this flow for your system, you will need to have the following set up:
The Omnivore plugin and the Auto Note Mover plugin should both be installed. You can find both of them and install them from the Obsidian community plugins page within the Obsidian settings.
Generate an API key for Omnivore. If you don’t have one already. The guidelines on how to do that are here.
Make sure you have some saved content in Omnivore, so you’ll have something to sync.
Setting up Omnivore to Obsidian Sync
Setting up syncing with Obsidian is quick, and not very complicated. You can control how much information is saved into Obsidian, how often scheduled sync between the apps will happen, and what type of metadata your saved documents will have.
Within the Omnivore to Obsidian plugin, you have three options for how the data is imported:
Import all my articles: This will import everything (articles, newsletters, feeds) you save to Omnivore and any labels (tags), highlights, and notes you may have added to the content.
Import just highlights: This will import only the highlights made on any content you have saved in Omnivore.
Advanced: This lets you define a filter for what content to import. For example, you can import just Newsletters by using the label Newsletter. Or, you can define a label (tag) for saving, like save.
You can find further details about how to set up sync in this Document.
Some people prefer to sync the whole content of an item— the full text, notes, and highlights. Others are more selective. For this example workflow to function, it does not matter how much you import, as long as you include the labels from Omnivore. To do this, just put the word tags in the Front Matter field of the Omnivore plugin settings. This will cause the plugin to automatically import all labels in Omnivore as tags in Obsidian.
This is how the magic will happen. We will be using tags to choose which articles will be synced, and how Obsidian treats them. More information about what metadata is supported may be found in the Front Matter section, here.
Setting your Omnivore labels
Omnivore has the capability to apply labels to everything that is saved. These labels act as tags and are used similarly in Obsidian. Some labels are applied automatically by the app, like:
Newsletter
RSS
Note: The October 2023 update brings the so-called label flair, meaning that the labels Newsletter and RSS are replaced by icons. The search filters are not impacted by this change.
Depending on your content and preferences, you can specify additional labels according to your needs. To begin implementing the example flow in Obsidian, you will need to define a few tags that the Auto Note Mover will use. For instance, if you want to save a history article and move it to your Obsidian folder about history, you can set a label (tag) in Omnivore like save-history.
Setting up the Auto Note Mover plugin
And now for the final piece of the puzzle/system. Auto Note Mover is an Obsidian plugin that moves a note to a specified folder depending on logic. The code is available on GitHub if you want to see how it works, but looking at the plugin settings should make it pretty clear.
After installing the plugin, you must set a few rules.
Start with the Trigger button. It has two options: Automatic and Manual. We recommend leaving it on Automatic. This way, notes will be moved almost immediately on sync, assuming Obsidian is open. However, if you want to test the workflow with a small number of articles, you can set this to Manual and sync only when you want.
For now, we will ignore the Use regular expressions setting. If you are familiar with regular expressions, you can use Auto Note Mover to move notes based on them, but it is not needed for this workflow.
The next step is to configure the Add new rule section. You must specify the folders to which a given note will be moved, as well as the label that will initiate the activity. If the folders you wish to use do not exist, you will need to create them first. For this example, we will set things up so that content with the label save-history will automatically go into the History folder.
It’s important to use the same tags in Obsidian that you set in Omnivore. In this case, we will use the save-history tag in both Omnivore and the Auto Note Mover plugin. The tag name does not matter, so long as you are consistent.
Testing the flow
We've created the folders in Obsidian where we want synced content to go and added them to the Auto Note Mover plugin rules. The tags used in the Auto Note Mover plugin's rules are the same ones defined in Omnivore. The Omnivore plugin's Front Matter section now includes tags, and the Auto Note Mover plugin's trigger section is set to Automatic.
Let's put the flow to the test and see what happens.
To begin, save something in Omnivore. Then, create the custom tag save-history (which is also used by the Auto Note Mover plugin) and apply it.
Next, go to Obsidian and trigger the sync between Obsidian and Omnivore. If you don’t have Omnivore set to sync automatically, you can either click the Omnivore icon on the left sidebar or do Omnivore Sync from the command palette.
And now the magic will happen: the tagged content will be synced into Obsidian and automatically moved to the specified folder. Following our history example, any article with the save-history tag will be synced and moved to the History folder in Obsidian.
A note on filing
Any notes moved by the Auto Note Mover plugin are moved, not copied, from the default Omnivore folder in Obsidian, and Auto Note Mover, for safety reasons, will not overwrite old files. This means that if you make changes in Omnivore on the synced articles (changes like new tags, notes, or highlights), when you run the sync again the files will be re-synced. You will then have duplicates of each article, one in the folder where you set the Auto Note Mover plugin to move files, and one in the default Omnivore sync folder.
There are two possible workarounds:
First: after you read and annotate any files in Omnivore and sync them to Obsidian, delete them in Omnivore. This will prevent them from being synced again, and you will still have the information available locally in Obsidian. This is usually a better solution if you want to sync a lot of files.
Second: simply manually replace files that have changed after syncing with the newer versions in the default Omnivore directory. This can be sufficient if you have a small number of files to deal with.
The combination of Omnivore and Obsidian can be a powerful tool for your reading and learning. Omnivore makes it easy to capture anything you want to read, and by syncing to Obsidian you instantly can take notes on it, increasing your understanding by putting those ideas in your own words. Using the Auto Note Mover plugin can streamline this process even more, automatically filtering things you collect to the right places, so you can expand on them within a more useful mental context.
A big shout-out to our community member, Mediapathic, for the suggestions and edits offered for this article. You can find him here.
Enjoy your reading with Omnivore, and let us know in the comments how everything is working.
Took me a bit of testing to figure out how the sync from Omnivore to Obsidian worked as I wanted to make sure to avoid overwrites.
This set up ensures nothing I do in Omnivore will overwrite notes I've added to the synced file in Obsidian.
Thanks for this very clear and useful write up!
I am excited to get this hooked up and synced to my Obsidian vault and make it a regular part of my workflow. The auto-mover looks powerful but potentially tricky, so will play with that. My intention is only to bring a subset or articles into Obsidian.
It could be helpful to add a note to the Omnivore documentation for the Obsidian integration to speak to the labels and tag. Here it's mentioned that:
"It’s important to use the same tags in Obsidian that you set in Omnivore. In this case, we will use the save-history tag in both Omnivore and the Auto Note Mover plugin. The tag name does not matter, so long as you are consistent."
But I don't see this same info (thus I found it here via searching) .
Also curious if the tag doesn't exist in Obsidian (let's say I created it in Omnivore after my initial sync and forgot to add to Obsidian) will it throw an error message somewhere so I'll know (or add a special tag (OmnivoreNOsync or equivalent), or will it fail to sync in total or will only the tag fail to be generated?
Labels can have characters Obsidian tags don't allow (ie. beginning with a an "@" or allowing spaces between words) so as I've brought my current data into Omnivore from Pocket I'll need to manually update the labels/tags in Obsidian to match exactly.
It also seems that I'll need to ensure I have a pre-existing MATCHING Obsidian tag set up for every Omnivore label, although perhaps that could be incorrect now or in the future.
Thanks again for your efforts on this!