You can spice up your daily journaling practice by using random prompts. The good news is that it is very easy to implement it in your Obsidian vault. In this article, I will share my approach.
My solution is inspired by Journal Prompts in Roam Research by Daniel Wirtz. The list of journal prompts I share is based on the 1000 Daily Prompts recommended in Daniel's article.
If you are interested in my collection of journaling approaches check out my Evergreen Note on Note-taking Strategies and Their Practical Implementations. This is where I am collecting a growing list of different personal journaling strategies.
How the end result will look
The image below is a screenshot of my Daily Notes Page (DNP). This article only talks about the bit highlighted with the red box.
You may have already noticed the big red emoji question marks and also that the prompts are enclosed in [[square brackets]]
. By inserting each prompt as a wiki link, in the future, I will be able to find and compare my answers to the same question at different times. Because the 1000 Daily Prompts included characters that are not allowed in filenames such as '?', '/' and ' " ', I have replaced these characters with alternatives to ensure that wiki links will work properly.
Imagine for example that the question "What caused me to wince today?" comes up again after a few weeks on the 9th of September. Because of the wiki links, I will see that I was prompted with the same question in the past, on the 20th of August. After I answer the question, I will check how my answer on the 9th compares to my earlier answer on the 20th.
How to install
To make this article complete I include a step-by-step, screenshot-by-screenshot walkthrough at the end. If, however, you are familiar with Obsidian, you probably don't need all that. Here's the quick overview with the link and the Templater script. This should be enough to get you on your way.

And here's the Templater script:
<%* const numberOfPrompts = 3; const promptsFile = app.metadataCache.getFirstLinkpathDest("Daily-Journal-Prompts",""); const prompts = (await app.vault.read(promptsFile)).split("\n"); tR += "## Random Questions\n"; for(i=0;i<numberOfPrompts;i++) { n = Math.floor(Math.random()*prompts.length); tR += "### [[" + prompts[n]+"]]\n\n"; } %>
Step by Step guide
Enable the Daily notes core plugin
Install Templater
Save the Daily-Journal-Prompts file to your vault

Create the DNP Template file
Copy the script from above into your DNP Template. Use CTRL+Shift+V
to paste the code into your template to avoid Obsidian from reformatting the code.
Set the template for Daily Notes
Test your random questions
If today's daily note is not yet created, you can simply click "Open today's daily note" in the ribbon.
Else you can open an empty document and type ALT+E
to bring up the available Templater templates, and select "DNP Template" to test it.
And that's all... Enjoy!
Great article
ReplyDeleteThis is a GREAT tutorial. I used to do these kind of random journal prompts in Notion and am so excited to replicate similar functionality in Obsidian (with automatic linking of prompts!). Thank you so much for putting this together.
ReplyDelete