Todoist REST API v2 service for task and project management.
Wraps the Todoist REST API with Bearer token authentication, rate-limit retry (429 handling), and local sync tracking via def_todoist_sync. Follows the same patterns as ObjServiceAsana.
In config.yaml:
todoist:
token: <API_TOKEN>
default_project: <PROJECT_ID>
| Method |
Description |
list_projects() |
List all projects |
get_project(project_id) |
Get project detail |
create_project(name, color) |
Create a project |
| Method |
Description |
list_tasks(project_id, filter_str) |
List active tasks |
get_task(task_id) |
Get task detail |
create_task(content, description, project_id, priority, due_date, assignee_id, labels) |
Create a task |
update_task(task_id, **fields) |
Update task fields |
close_task(task_id) |
Complete a task |
reopen_task(task_id) |
Reopen a completed task |
delete_task(task_id) |
Delete a task |
| Method |
Description |
list_comments(task_id) |
List comments on a task |
add_comment(task_id, content) |
Add a comment |
| Method |
Description |
list_sections(project_id) |
List sections in a project |
create_section(project_id, name) |
Create a section |
list_labels() |
List personal labels |
create_label(name, color) |
Create a label |
list_collaborators(project_id) |
List project collaborators |
| Method |
Description |
link_record(source_table, source_key, todoist_id, todoist_type) |
Link local record to Todoist ID |
get_todoist_id(source_table, source_key) |
Look up Todoist ID by local key |
get_local_key(todoist_id) |
Reverse lookup |
| Axion |
Todoist |
| CRITICAL |
4 (urgent) |
| HIGH |
3 |
| MEDIUM |
2 |
| LOW |
1 |
| INFO |
1 |
python factory.service/package.core/ObjServiceTodoist.py test-connection
python factory.service/package.core/ObjServiceTodoist.py list-projects
python factory.service/package.core/ObjServiceTodoist.py list-tasks [PROJECT_ID]
python factory.service/package.core/ObjServiceTodoist.py create-task "Task name" --priority 3
requests (in requirements.txt)
typer (CLI)