Todoist¶
You can import tasks from Todoist using
the todoist service name.
Example Service¶
Here is an example of a configuration for the todoist service:
[todoist]
service = "todoist"
token = "<API_TOKEN>"
[todoist]
service = todoist
todoist.token = <API_TOKEN>
The above example is the minimum required to import issues from Todoist. You can also use any of the configuration options described in Common Service Configuration Options or described in Service Features below.
token is required to authenticate with your Todoist account. To get the token
visit the Todoist <developer console https://app.todoist.com/app/settings/integrations/developer>,
or see the Todoist documentition on how to find your API token <https://www.todoist.com/help/articles/find-your-api-token-Jpzx9IIlB>
Service Features¶
Task filters¶
The filter option allows you to filter the tasks that are imported from Todoist.
By default the service has a blank filter which will import all active tasks. You
can use any supported filter <https://todoist.com/help/articles/introduction-to-filters-V98wIH>.
Multiple filters (using the comma , operator) are not supported.
filter = "(today | tomorrow | overdue | next 5 days)"
todoist.filter = (today | tomorrow | overdue | next 5 days)
Additionally the standard options only_if_assigned and also_unassigned can be set
to modify the filter. These effectively _and_ additional filters the default or user provider query filter
only_if_assigned = "me"
also_unassigned = true
todoist.only_if_assigned = me
todoist.also_unassigned = true
only_if_assigned: If set, only import issues from shared projects assigned to the specified user.
User can be identified by their name, email address, or me. Issues for personal (not shared) projects
are always imported. Equivilent to filer shared & assigned to: <value>
also_unassigned: If set totrueandonly_if_assignedis set, then also create tasksfor issues that are not assigned to anybody. This only applies the tasks in shared projects, tasks in personal (not shared) projects will always be imported. Defaults to
false. Equivilent to filer!assigned
Priority mapping¶
Todoist task priorities p1, p2, and p3 are mapped to the taskwarrior priorities
H, M, and L respectively and p4 leaves the priorty unset.
Due and Deadline Date Mappings¶
By default the Todoist task due date is mapped to the taskwarrior due date field and Todoist deadline
dates are available as a UDA.
You can alter the date mapping using due_template and scheduled_template configuration options.
For example if you prefer to use due date for when to start working on a task for tasks that have a deadline
date set, as suggestion in the Todosit difference between a date and a deadline https://www.todoist.com/help/articles/introduction-to-deadlines-uMqbSLM6U#h_01JDS5KZG9AMRPBWBEK366TXGE,
you can use the following templates.
due_template = '{{ todoistdeadline if todoistdeadline else todoistdue if todoistdue else "" }}'
scheduled_template = '{{ todoistdue if todoistdeadline else "" }}'
todoist.due_template = {{ todoistdeadline if todoistdeadline else todoistdue if todoistdue else "" }}
todoist.scheduled_template = {{ todoistdue if todoistdeadline else "" }}
Character replacement¶
This capability is in part to workaround ralphbean/taskw#172 <https://github.com/ralphbean/taskw/issues/172>``_
which causes the ``[ and ] characters to be over escaped as &open; and &close;
when they are synced using bugwarrior.
To avoid display issues [ and ] are replaced by 〈 and 〉 in the Task title and description.
You can override this default behaviour to use alternative custom characters by setting the char_* options.
char_open_bracket = "("
char_close_bracket = ")"
todoist.char_open_bracket = (
todoist.char_close_bracket = )
Provided UDA Fields¶
Field Name |
Description |
Type |
|---|---|---|
todoistassignee |
Todoist Assignee |
Text (string) |
todoistassigner |
Todoist Assigner |
Text (string) |
todoistcontent |
Todoist Content |
Text (string) |
todoistdeadline |
Todoist Deadline Date |
Date & Time (date) |
todoistdescription |
Todoist Description |
Text (string) |
todoistdue |
Todoist Due Date |
Date & Time (date) |
todoistduration |
Todoist Duration |
Text (string) |
todoistid |
Todoist ID |
Text (string) |
todoistparentid |
Todoist Parent ID |
Text (string) |
todoistsection |
Todoist Section |
Text (string) |
todoisturl |
Todoist URL |
Text (string) |