Skip to main content

Random Daily Journal Prompts in Obsidian

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.

Random Prompts on Daily Notes Page

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.

Finding answers to the same question on different days

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. 

Here's the link to the Daily Journal Prompts file. You'll need to unzip it before saving the file to your Vault. You can place the file in your Vault where ever you like, the script should find it (unless you have another file with exactly the same name).

And here's the Templater script:

const numberOfPrompts = 3;
const promptsFile = app.metadataCache.getFirstLinkpathDest("Daily-Journal-Prompts","");
const prompts = (await"\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

Enable the Daily notes core plugin

Install Templater

Install Templater 1

Install Templater 2

Install Templater 3

Install Templater 4

Install Templater 5

Save the Daily-Journal-Prompts file to your vault

Here's the link to the Daily Journal Prompts file. You'll need to unzip it before saving the file to your Vault. You can place the file in your Vault where ever you like, the script should find it (unless you have another file with exactly the same name).

Create the DNP Template file

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

Set up 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.

Create a new daily note

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. 

Execute Template

And that's all... Enjoy!

Like this post?
Show your support.


Popular posts from this blog

Deep Dive Into Roam's Data Structure - Why Roam is Much More Than a Note Taking App

Which are the longest paragraphs in your graph? Which pages did you edit or create last week? How many paragraphs of text do you have in your database in total? Which pages do you have under a given namesapece (e.g. meetings/)?

Showcasing Excalidraw

Conor ( @Conaw ) pointed me to Excalidraw last week, and I was blown away by the tool and especially about the opportunities it opens up for  Roam Research ! It is a full-featured, embeddable sketching component ready for web integration. This post will showcase key Excalidraw features and discusses some of the issues I still need to solve to complete its integration into Roam. I spent most of my free time during the week integrating Excalidraw into Roam. This article will introduce Excalidraw by showcasing its features.

My GTD - How I Organize Meetings and TODOs in Roam

How efficient is your workflow for keeping on top of all your meeting notes, action items, contacts, projects and more?  If you were to bump into someone unexpectedly would you be able to remind yourself of all the relevant topics you wanted to discuss with the person?  Can you remember all the things you wanted to get done when running your errands?  Can you keep track of your discussions with all the people you talk to regularly? In this post I will walk you through my meetings-actions-people workflow in Roam. If you are new to Roam and Roam42... Just in case you are not familiar with Roam , it is an ultra flexible note taking tool. It's like the Excel for text. If you want to find out more, there is tremendous amount of quality content available on YouTube, just search from "Roam Research". Equally, you can head over to for all the best links and more. My workf

A closer look at {{roam/render}}

Roam is like a good swiss army knife, it even has a ClojureScript development environment. I spent the past 14 days getting acquainted with {{roam/render}} . This post serves as a note-to-self, to summarize and organize what I have learned.  This post is targeted at developers and Roam hackers. If you are not in one of these camps, you will likely struggle with the content.