Automate Your Daily Journal in Joplin
I’ve been using Joplin as my self-hosted notes app for a while now, and one habit I wanted to build was a daily journal — a note that captures everything I touched that day. Notes I updated, todos I worked on, things I checked off. Joplin is, in fact, my entire GTD system. Notebooks are sorted by project, notes, and todos. I use the awesome Embed Search plugin to build start pages. It’s all linked. I hide the sidebar and notelist, even; the only time I need them is when starting a new project. Otherwise, with a combination of notebook names, tags, and todo’s, I have an entire GTD system.
What I really wanted was a journal so I could review what I had worked on and when.
The problem: I never remembered to write it.
So I built a plugin to do it for me.
What It Does
The Daily Journal plugin runs automatically every night at a configurable time (default 11pm). When it fires, it creates a note that looks like this:
Journal — 2025-03-04
## 📝 Notes Updated
- [Client proposal draft](:/<note-id>)
- [Meeting notes — Tuesday](:/<note-id>)
## ☐ Todos Updated
- [Follow up with accountant](:/<note-id>)
## ✅ Todos Completed
- [Send invoice to client](:/<note-id>)
Three sections: notes you touched, open todos you worked on, and todos you completed. Everything is a live internal link, so you can click straight through to any note from your journal.
The note lands in a tidy folder hierarchy: Journal / 2025 / 03 / Journal 2025-03-04. After a few months you end up with a proper archive of your days without any manual effort.
Setup
Install the plugin, then configure it under Tools → Options → Daily Journal:
- Journal notebook path — the existing notebook to put everything under (e.g.
Victor Wiebe/Journal) (this is the default, because it’s the notebook path that I use; go ahead and configure it to your own choosing). - Daily run time — when to create the note each day (24-hour format)
- Tags — optional comma-separated tags applied to every journal note
- Year / Month folder formats — defaults to
YYYYandMM
That’s it. Leave Joplin running and the note will appear each night.
Manual Commands
Two commands are available from the Tools menu:
- Create today’s journal note (
Ctrl+Shift+J) — run it any time, doesn’t wait for the scheduled time - Create journal note for a specific date (
Ctrl+Shift+Alt+J) — for retroactive entries; set the date in Tools → Options → Daily Journal → “Date to create” first, then run the command
Why Self-Hosted Matters Here
The plugin uses Joplin’s internal data API directly — it never touches the network, never calls an external service, and stores everything in your own Joplin database. If you’re running Joplin with a self-hosted sync target, your journal data stays entirely under your control. That was a hard requirement for me.
Get It
The plugin is available on the Joplin plugin registry. Search for Daily Journal in Tools → Options → Plugins.
Or install the .jpl file manually from GitHub.
Built with the Joplin Plugin API. Tested on Joplin v3.6.