The problem with Obsidian Tasks

Obsidian Tasks is a handy tool for managing tasks, offering flexibility and power with tagging and dataview integration. However, it has an obvious pitfall that hinders productivity.

Imagine you’re using Slack and a message pops up that requires action later. To add it to Obsidian, you need to go through several steps:

  1. Open Obsidian
  2. Copy and paste the text
  3. Copy and paste the link to the message for future reference

In contrast, conventional todo apps like Todoist provide seamless integration, allowing you to add a task without leaving Slack.

Unfortunately, many of us still use Todoist for this reason. But here’s the issue with that: tasks now exist separately from the main knowledge base. To bridge this gap, the community has developed plugins that promise sophisticated two-way sync between Obsidian and Todoist. However, after trying a few of them, I found myself with more questions than answers. Do I need to duplicate tagging and hierarchy on both apps? Which app should be considered the source of truth?

Considering all these factors, I prefer managing tasks in Obsidian. It offers all the organizational tools I need, and more importantly, I can link tasks to related notes. Obsidian feels like a powerful brain with limited sensory input, while todo apps lack the same depth. We need a better way to combine these tools effectively.

A new relationship between Todoist and Obsidian

Introducing: Todoist Mover, a unique plugin that takes a different approach compared to other existing plugins. While it offers fewer features, it changes the relationship between Todoist and Obsidian on a fundamental level.

graph LR
    in1[/Slack/] --> Todoist[(Todoist)]
    in2[/Outlook/] --> Todoist
    in3[/Chrome/] --> Todoist
    in4[/iPhone/] --> Todoist
    Todoist --> sync(Todoist Mover: Fetch tasks)
    sync --> obs[(Obsidian)]
    style sync fill:#e6f9e6

Todoist Mover enables one-way syncing of tasks from Todoist to Obsidian, while marking imported tasks as completed right away (effectively removing them from Todoist). By doing this, Todoist essentially becomes a gathering tool and temporary storage, while Obsidian takes over the management of tasks. This clear distinction between their roles and responsibilities enables a sane and efficient synergy.

Here’s how it works:

  1. Add tasks from any source to Todoist using its app or various integrations.
  2. Periodically, open Obsidian and run the “Todoist Mover: Fetch Tasks” command.
  3. Organize and customize tasks in Obsidian by editing, adding tags, and more.
  4. Repeat this process as needed.

Once you’ve set up Todoist Mover, there’s no need to open the Todoist app again. In fact, you can even replace Todoist with another app that has robust API access and support.

My personal setup

After several iterations, I’ve developed a workflow that consistently works well for me:

  1. Once or twice a day, I open my daily notes and run the import command.

  2. Instead of scheduling tasks by date, I simply tag new tasks with one of the following: todo/day, todo/week, todo/month, todo/year.

  3. To track pending tasks, I created a Todo note with following dataview script:

    not done
    tags include todo
    group by function \
    const t = task.tags.first(t => t.contains("todo")); \
    const order = { \
        '#todo/day': 1, \
        '#todo/week': 2, \
        '#todo/month': 3, \
        '#todo/year': 4, \
    }; \
    return ` ${t}`;
  4. I review the Todo note through a bookmark and decide on the next actions to take.

Tasks and beyond

What defines a task, really? Syntactically, it’s a pair of square brackets followed by a line of text. The text itself can be anything – from grocery lists and song titles to links for New York Times articles or tweets. With the same workflow, but with different sets of tags, you can manage various aspects of your life within Obsidian. IMDB, Goodreads, Pinterest, and more can all coexist in your Obsidian vault. By doing this, you take ownership of your data and are no longer tied to any specific online platform.

And if you require richer data, such as book ratings and genres from Goodreads, you can create a custom plugin like “Goodreads Mover” using its API. The underlying principle remains the same, providing limitless possibilities to tailor Obsidian to your needs.

Give it a try

Although Todoist Mover is not listed in the community plugins yet; you could evaluate it via BRAT. Your feedback and insights on this plugin would be greatly appreciated.