Today we’re going to look at one of the many plugins that allow some integration between Todoist and Obsidian. The Obsidian x Todoist Plugin let’s you build custom queries that embed your Todoist tasks in Obsidian.

To start go to the Community Plugins tab in Obsidian, click on Browse and search for Todoist Sync Plugin. The author is jamiebrynes.

If you’re interested in the other Todoist plugins you see there, I’ve covered them in my Obsidian Task Management course that is currently only available to members. Become a member to get it.

Installing the Todoist plugin

Once you click Install and then Enable the plugin will prompt you for your Todoist API Token. You can find that by going to your user menu and clicking integrations.

Todoist token dialogue
Todoist integrations screen

Then scroll to the bottom and copy your API token to the clipboard.

Todoist API key

Once you have it on your clipboard go back to Obsidian and paste it into the API token field then submit it.

Submitting the API token

Now that you’ve got your API token set, you’re ready to start embedding tasks.

Embedding Todoist Tasks in Obsidian

Now that the plugin is set up in Obsidian it’s time to build some queries. Queries must conform to a valid Todoist Filter so you should read that documentation to see everything you can do. I’ve provided a few examples below to get you started.

Showing a Project

{
"name": "Inbox",
"filter": "##Inbox"
}

Showing Tasks Based on Time

{
  "name": "Today",
  "filter": "today"
}
{
  "name": "This Week",
  "filter": "next 5 days"
}

Showing Tasks based on a tag

{
  "name": "Errands",
  "filter": "@Errands"
}

Running Multiple Filters

Sometimes you’re going to want to run multiple filters at the same time to get the view of the tasks that you want. The example below shows the tasks that are due in the next 5 days as well as all your overdue tasks.

You can combine any valid Todoist query by using the | character between the queries.

{
  "name": "This Week and Overdue",
  "filter": "next 5 days | overdue"
}

Adding Tasks from Obsidian

The Todoist plugin also comes with two commands to add tasks to Todoist from Obsidian. The first brings up a modal dialogue and gives you fields to enter for your task. It then sends the data to Todoist via the API.

Add task modal

The big problem with the modal is that it has a bad tab index. You can use the tab character to move from the task entry field to the Project field, to the Labels field. Then it takes you to the Add button which entirely bypasses the Date or Priority settings. This means you’ll need to interact with your cursor to enter all the information you may want with your task.

Obsidian x Todoist Settings

There are a few settings you can change if you’re not happy with the default settings. I find that the defaults are exactly what I’d want so I’d just leave them.

Plugin settings

The second one adds a task and includes a deep link to the current note when you invoke it.

I think that the biggest utility of the add task commands is from your mobile device. iPadOS doesn’t allow system-wide keyboard commands like macOS does so I need to switch to Todoist if I’m writing and have a task to add. Now I have another interface to add tasks to Todoist when I’m writing on your iPad.

Adding a task to Todoist from your iPad

Other Notes

Finally, the developer recommends specifically excluding the .obsidian/todoist-token file from your vault sync system since that contains your API key to your Todoist tasks. If you’re using Obsidian sync there is no way I’m aware of to exclude items in the .obsidian folder. In my experience, my other devices asked me for my Todoist API token, which would lead me to believe that it didn’t sync the file in question.

Getting Started with Obsidian Course

Getting Started with Obsidian

If you want to learn your way around Obsidian so that you can build a great note system then this course is for you. I’ll cover basic folder structure when to use tags or links, and the plugins I think everyone needs to make their Obsidian experience excellent. Plus much more. If you want all my courses, become a member.

$99 USD (30-day guarantee)