An Obsidian plugin to materialize Todoist task lists in Obsidian notes.
- Install the plugin through the Obsidian's community plugins browser.
- Enable the plugin in Obsidian.
- You should get a prompt asking for your Todoist API token. (If not, you can enter this in the settings).
- Place a code block like the following in any note:
```todoist name: My Tasks filter: "today | overdue" ```
- Swap to preview mode and the plugin should replace this code block with the materialized result of that filter.
If you are synchronizing your vault, I recommend explicitly ignoring the
.obsidian/todoist-token
file for security reasons, if possible.
The query is defined in YAML and accepts the following keys:
Name | Required | Description | Type | Default |
---|---|---|---|---|
name |
✓ | The title for the materialized query. You can use the {task_count} template which will be replaced by the number of tasks returned by the query. |
string | |
filter |
✓ | A valid Todoist filter1 | string | |
autorefresh |
The number of seconds between auto-refreshing. If omitted, the query use the default global settings. | number | null | |
sorting |
Describes how to order the tasks in the query. Can be any of 'priority', 'dateAscending' (aliased as 'date'), 'dateDescending', or multiple of these. | string[] | [] | |
group |
Denotes whether this query should have its task grouped by project & section. | bool | false |
Show current and overdue tasks, ordered by date and then priority, and finally grouped by project & section.
```todoist
name: Highest Priority & Date
filter: "today | overdue"
sorting:
- date
- priority
group: true
```
Show the inbox only.
```todoist
name: Inbox
filter: "#Inbox"
```
There are also a few commands bundled in with the plugin:
-
'Refresh Metadata'
This command refreshes all the metadata (projects, sections, and labels) for Todoist tasks. This is done at startup.
-
'Add Todoist task'
This command opens up a modal for creating a task in Todoist. You can set the project/section, labels, priority, and due date through this modal. Any text selected when this command is executed will be pulled for the task content.
-
'Add Todoist task with the current page'
Similiar to the previous command, this one also appends a link to the current active page to the task input.
This plugin comes with default CSS intended for use with the default Obsidian themes.
I also maintain an Obsidian theme which has support out of the box for this plugin, for a complete example of CSS for this plugin, check out the source.
1: There are some exceptions in the Todoist API. Checkout this issue for details.