I am looking for a plugin that would automatically extract tasks created in Obsidian notes and import them in a task manager (any really, from reminders to Things / Omnifocus / Goodtask, I don’t mind).
Ideally it should sync 2-way and if a task gets completed in the task manager it would mark it as done in Obsidian. I don’t think such thing exist but maybe someone in the community is aware of such a plugin?
( I have explored task management fully in Obsidian with some plugins and did not find it as efficient)
Viticci and crew built such a plugin for Todoist. It’s only available if you pay for a membership for Club MacStories:
(I have not used it.)
I’m a Club subscriber (a mistake I won’t repeat) and I’ve used the plugin. It’s not very good. The plugin relies on Obsidian’s fragile block-indicator (the
-6af2c36f code in the image below). It is not actually doing a two-way sync. If you modify the task in Todoist the changes are not synced back to Obsidian. Every time the command to update Todoist tasks is run, the plugin adds the block-indicator over and over to the task in Obsidian. If you change the task in Obsidian, the plugin adds a duplicate task in Todoist.
Most of my tasks come whilst note taking (e.g. actions from a meeting) so totally get why this would be beneficial.
I keep going back and forth on using OmniFocus or the Obsidian ToDo plugin.
I am also a Club subscriber on Macstories so I will be experimenting with the Todoist plugin although I have already experienced the shortcomings mentioned by @anon41602260 . They might not be a dealbreaker for me as, even though fragile, the 2-way sync happens. I just need to remember not to make changes other than completion stage in Todoist. It’s limiting but it doesn’t seem like there is a better alternative for now.
I don’t think it would take a lot of Python (or similar) coding to periodically go through a folder of text files (Obsidian vault), extract lines beginning
-[ ] , and add them to Todoist or elsewhere. You’d probably want a simple sqlite database (one table) to keep track of which tasks have already been harvested (filename, task text or hash should be enough) do you don’t get duplicates.
I was also thinking that something riding on top of the Dataview plugin might be useful. Dataview has its own API. Tasks in notes could use inline fields, (like
[project:: gardening]), the Dataview API could grab the data, and the data transferred to OmniFocus with OmniAutomation or Todoist with the Todoist API, etc. At least that would support the outbound sync part. Inbound is harder.
I’ve been checking out the Obsidian-vetted “Obsidian-Todoist Plugin” from Jamie Byrnes, which is available for installation via the Community Plugins browser in Obsidian settings. It has a very nice display, several search options, and loads Todoist tasks selected by a filter very quickly.
This comes with a command accessible from the Obsidian command popover that opens a model window to add new Obsidian tasks. It also completely bypasses the fragile dependence on Obsidian block ID codes – which is a major kludge that makes the MacStories plugin useless.
Agree. I was too enthusiastic and rushed to subscribe solely for this feature. I just paid $10 for a plugin, essentially. Oh well, not the first time I splurged on something for productivity geekiness.
I’ll chime in to say that this Jamie Byrnes’s plugin works well. @mikeschmitz has a Sweet Setup post about it.