Updated Taekman Zettelkasten Workflow using Devonthink, Drafts, and Obsidian-2023 Edition
It's been a while since I posted my original entry and my workflow on Zettelkasten. Since then, my methods have evolved into a system that's working incredibly well for me. So, I thought I'd write about what I'm doing so others may use (and improve) my methods. This entry is an update to Zettelkasten Management 2022 using Obsidian, Drafts, and Devonthink — Workflows in Personal and Professional Productivity.
For those that know me, I have an insatiable curiosity. One of my core strengths (according to the VIA Survey of Character Strengths | Positive Psychology Center is **Love of Learning.** I spend much of my day reading, consuming media, and generating new ideas. In addition to written words, I consume media through podcasts, books, and audiobooks. I'm especially fond of the audio version of the Economist and the long-form audio app Audm. Most of my focus these days is on integrative medicine, holistic approaches to pain, wellness, technology, functional foods, and the microbiome.
About a year ago, I started writing and sharing a newsletter. Each week, I email a curated list of exciting stories from the worlds of technology, wellness, and medicine from my HealthHippieMD webpage (I'd appreciate it if you subscribe-it's free!).
I go through dozens of media sources each week to generate the newsletter. Of course, I've always read and listened to a lot, but for the first time, I feel I have a proper handle on all the information I consume.
How do I keep track of the information I take in, the ideas I glean, and the new ideas I generate? My Zettelkasten.
For an overview of what a Zettelkasten is, see Getting Started • Zettelkasten Method and Zettelkasten Method: How to Take Smart Notes (A Beginner's Guide. Zettelkasten) is a powerful way to organize your thoughts and see connections that might not otherwise be apparent. My greatest regret was not starting thirty years ago.
Software
The tools I use in this workflow include Obsidian, Devonthink, Drafts, and Hazel.
Obsidian is used for writing and bidirectional linking of ideas. I will mention three of my Obsidian vaults in this entry: a WritingSync (for professional information such as manuscripts, a SourceMaterial Vault (for lay press and web pages), and a Zettelkasten Vault (to keep track of ideas). For this workflow, I use a couple of community-based add-ons for Obsidian: **Dataview** and **Devonlink.** I will leave a discussion of professional information out of this entry for simplicity's sake. If you’re interested in how I organize my purely academic reading and writing, here’s the link: Taekman Academic Writing Workflow 2020 — Workflows in Personal and Professional Productivity,
Devonthink is used to capture, organize, and find all my information. Each Obsidian Vault (all housed within the Obsidian Folder on iCloud) is indexed into its own database in DEVONthink. Keeping three separate databases allows me to search in DEVONthink across all domains (scientific manuscripts, lay press, and my Zettelkasten) without duplicating information. I "index" information (NOT import) in DEVONthink so the same folders may be read by DEVONthink and Obsidian.
Drafts is used to capture Zettels.
Hazel is used keep folders organized, moving notes in my Zettelkasten to the correct location based on keywords (MediaNote vs. IdeaX or WorkingNote vs. EvergreenNote).
Setup
Finder
I use the Obsidian Folder in iCloud as my home for all my Obsidian Information. Each folder within the main Obsidian Folder corresponds to a separate vault. I also have an “@Obsidian Inbox” that accepts all incoming notes from Drafts. Hazel routes each note to its appropriate location based on keywords added automatically by Drafts.
DEVONthink
Sourcematerial Database is the indexed (NOT IMPORTED) Sourcematerial Folder in the Obsidian Folder in iCloud.
Zettelkasten Database is the indexed (NOT IMPORTED) Zettelkasten Folder in the Obidian Folder
As I read, new material is added to the Devonthink General Inbox in markdown format using the import to DT action on Mac or iOS. All material is captured to the generic Inbox and then I move the article to the appropriate location to read and markup for my newsletter. Only a small portion of the articles I read have an idea worthy of being recorded as a Zettel.
Drafts
When I find an idea I want to keep, I capture the idea to Drafts. I followed this excellent tutorial on the Sweet Setup on how to save Drafts notes to iCloud. Drafts saves new markdown file with my new idea into my @Obsidian Inbox Folder inside the Obsidian Folder on iCloud. Different Draft scripts have different keywords, placed to inform Hazel.
I have two Drafts scripts I use to capture a Zettel preliminarily. One to capture MediaNotes and one to capture tangential ideas (IdeaX).
Here are the two Drafts scripts I use. The first is the script to save a MediaNote. The Drafts script includes metadata that help me keep my ideas organized. I use the heading “State” to denote the status of the note itself. “Tags” are the keywords about the content of the note (these I add later).
Script to capture IdeaX in Drafts:
Hazel
The Draft script above, inserts keywords on the status of the new Zettel and saves the new Zettel to the @Obsidian Inbox.
Hazel monitors three folders for keywords, @Obsidian Inbox, MediaNotes in Process, and IdeaX in Process.
@Obsidian Inbox - When Hazel sees "WorkingNote," "MediaSource," and “Zettel” in a note in the @Obsidian Inbox, it moves the note to the "MediaNote In Process" Folder. If Hazel sees a note with "WorkingNote" and "IdeaX," Hazel moves the note to the "IdeaX In Process" Folder.
"MediaNote In Process" Folder and "IdeaX In Process" Folder - When the string "WorkingNote" is changed to "EvergreenNote" and “WorkingNote” is removed, Hazel moves the file to the corresponding Evergreen Folder.
Obsidian
Vaults are housed in the iCloud Obsidian Folder
I use two community plug-ins for this workflow
DevonLink Community Plug-in - links Obsidian Notes to corresponding notes in Devonthink and adds Devonthink “See Also” information to Obsidian notes.
Dataview Community Plugin enabled - allows powerful searching and aggregation of files based on metadata and content using YAML (What the heck is YAML?)
The Workflow…..
Reading Information
As I find interesting stories during the week, I save them to the Universal Devonthink Inbox in markdown format.
Later, I read and made text notes in each article using the Textexpander snippets. I also use Textexpander to add YAML metadata to each story I read.
When I'm finished reading, I use a TextExpander Script that embeds a collapsible note within the markdown file where I write a summary of the article.
If the idea gleaned from the media is Zettel-worthy, and I don't feel like transferring the information using Drafts right away. I add the keyword "MakeZettel."
Later, using Dataview or the search function in Obsidian, I can find all the articles that have ideas waiting to be captured.
Extracting information
When I’m ready to save an idea from something I've read OR if something I've read generates a new idea, this is how I capture the information using Drafts:
I open Drafts and record a title for the note.
I copy and paste the Title of the article and URL (ultimately, in my final note, I include both a link to the web version and the DEVONthink markdown version).
I extract vital quotes from the source article and append them to Drafts Note.
I write about the idea **in my own words.** Usually, this starts with my summary of the article. Sometimes, I'll wait and do this step in Obsidian.
If the blurb is an idea extracted from an article, I choose the Drafts MediaNotes Script that prepends YAML information including the status tag “MediaNotes” and saves the fledgling note to the iCloud>@Obsidian Inbox. MediaNotes are the vast majority of information in my Zettelkasten.
If the item is a new fresh idea only tangentially related to the source material, I choose my Drafts script that prepends YAML data including the “Status” tag "IdeaX" (see script), and saves the fledgling note to the iCloud>@Obsidian Inbox.
Hazel Processing
Hazel monitors the iCloud>@Obsidian Inbox. If the note contains the strings "Zettel," "MediaNote," and "WorkingNote," it moves the newly created message to the MediaNote InProcess Folder (I initially tried to use Hazel to rename each file...but it broke links within Obsidian). If Hazel finds a note with the strings "Zettel," "IdeaX," and "WorkingNote," Hazel moves the file to the IdeaX InProcess folder.
Polishing the note in Obsidian
At this point, I move to Obsidian, where I prepend the file name with either a File Cabinet Icon (🗃️ for MediaNote) or lightbulb (💡 for IdeaX).
Then I turn my attention to polishing the note.
I rearrange the information in the newly forming Zettel to ensure the content is under the correct heading. I ensure each subheading in the new Zettel is complete.
I ensure the links, both to the source on the web and to the captured markdown file in Devonthink, are accurate (this allows me to see, in DEVONthink, all information across all my DEVONthink databases related to the new idea.
Devonthink Concordance
I have a Zettelkasten database that indexes (not imports) my Zettelkasten Vault in the iCloud I've stored in the Obsidian Folder.
While in Obsidian, using the Devonlink Community Plugin, I use the command for Obsidian to open the corresponding note in Devonthink.
With the note open in Devonthink, I make sure, under the See Also and Classify Tab, that the "Current Database Only" is selected in the upper right hand corner of the information box.
I return to Obsidian,and put the cursor under the MediaSource Idea Links heading and use the Devonlink Plugin to paste the concordant notes from Devonthink into my Obsidian Note.
I consider each Devonlink suggestion and erase the ones that don't make sense.
In Obsidian, I search to find notes that contain similar keywords to my new Zettel. I consider each of the hits and how it relates to the captured idea.
Finally, under the heading "Explore," I have a series of checkboxes of potential connections and revelations.
Finishing the Note in Obsidian
Once the note is finished, in Obsidian:
I prepend the file name with a Green Square (my symbol for rapid identification of Evergreen or permanent notes).
I add relevant keywords for the content of the idea under the "Tags" heading in YAML
In the YAML "State" heading, I add the word "EvergreenNote" and erase the word “WorkingNote.”
Hazel monitors the folder and moves the finished file to the appropriate Evergreen Folder when it recognizes the word "EvergreenNote."
Dataview
For those unfamiliar with Dataview, it is a very powerful add-in that extends the power of Obsidian. For an overview of YAML and Dataview, see: Dataview in Obsidian: A Beginner's Guide.
I have a series of Dataview queries that look at each file's metadata (keywords especially) and make tables and lists. The queries update automatically.
One of my favorite Dataview queries is a list of notes with each of my “Explore” ideas neatly arranged with links to the parent note.
Conclusion
My system lets me keep track of an enormous amount of material and put my ideas to work. The combination of Obsidian (especially with Dataview) and Devonthink enables multiple ways to access and interconnect my ideas and my source library.
I am convinced a Zettelkasten is a force multiplier for creativity. I hope you’ll start your own.