obsidian.md to-do list calendar subscription

I am huge fan of obsidian.md and just other day I was trying to “convert” Akseli. One pain point he mentioned that it does not quite allow him to get reminders for the todo list created in obsidian.

I have been doing little bit of “hack” to workaround this, and I thought I’d write a blog post about this so that others can also make use of it.

How to use this

First of all, following plugins are used (ignore PlantUML)

Obsidian plugins used

Day planner and Dataview is something what I use but it is not required for this setup. My complete Obsidian vault gets synced to Nextcloud using the Nextcloud desktop client.

After enabling these plugins, you can use iCal plugin settings to create an export of the to-do items as ical format on disk. There are many settings that you can choose here based on your liking,

iCal plugin settings

Once this plugin is configured, Take for example following to-do list,

to-do list

It gets converted into iCal file which in root of your Obsidian vault. Our Nextcloud client will happily sync it to our Nextcloud instance, from here, what we can do is navigate to our vault folder and get a direct share link to the iCal file,

https://your-nextcloud-instance.com/s/abcdefghijklmno/download/vault-name.ical

Now you can use this URL for pretty-much any client and get subscribed to your to-do list and get notifications! Here for example it is added to nextcloud calendar itself as a read-only subscription.

Add calendar

Once added, for example here is event from our Obsidian to-do list:

Nextcloud calendar event

Some issues

Unfortunately iCal plugin seems mostly un-maintained(?), and I need to look for better alternative to this. In additional .ical file generated by this plugin does not specify REFRESH-INTERVAL property, so clients cache the file for longer period and might require some tweaks to make it refresh at smaller intervals.

For example, here is official documentation from Nextcloud to configure refresh-rate.

If you are using this kind of workflow but with different approach, let me know! 😅