Todoist integration
In short
Read projects and create, update and complete tasks. Connect it on the Integrations page; your app then calls Todoist through Sapilon without ever holding a Doist credential.
Lets your app list projects, sections and labels, and create, update, complete and comment on tasks, as the Todoist user whose API token you use.
Connecting
On the Integrations page choose Connect on Todoist and fill in:
- API token — Todoist → Settings → Integrations → Developer → API token.
Sapilon checks the key with the provider before it saves it, and stores it encrypted; it is never shown again.
- The app acts as the user whose token you use and sees all of their projects.
What your app can do
Only these requests are available; anything else is refused.
GET|POST /tasksGET /tasks/filterPOST /tasks/quickGET|POST /tasks/*POST /tasks/*/closePOST /tasks/*/reopenGET /projectsGET /sectionsGET /labelsGET|POST /commentsGET /user
How the agent uses it
Use integrations.request('todoist', …); paths are relative to https://api.todoist.com/api/v1.
GET|POST /tasks— list (query: { project_id }) or create. Example:{ method: 'POST', path: '/tasks', body: { content: 'Call Sara', due_string: 'tomorrow 10am', project_id: '220474322' } }.GET /tasks/filter— Todoist’s filter language. Example:{ method: 'GET', path: '/tasks/filter', query: { query: 'today | overdue' } }.POST /tasks/quick— natural language,body: { text: 'Pay rent every 1st #Home' }.GET|POST /tasks/{id}— read or update (POST with the changed fields).POST /tasks/{id}/close,POST /tasks/{id}/reopen.GET /projects,GET /sections,GET /labels,GET /user.GET|POST /comments—query: { task_id }to list;body: { task_id, content }to add.
Lists come back as { results, next_cursor }. Deleting is not allowed.
More from Doist: https://developer.todoist.com/api/v1/