Integration brief

Todoist

Capture a task while it is fresh, then let Afterthought prepare its content, due date, priority, and optional description for Todoist. Review the prepared task before sending it, or use the available Quick Add workflow.

Route

idtodoist.task.v1
object_typetask
delivery_modesapi quickAdd

Voice examples

API api

automatic_createSupported
setuppro, enabled, apiToken

Writable fields

FieldBehavior
titleSent as Todoist task content.
dueDateSent as due_date when date-only.
dueDateTimeSent as due_datetime when a time is present.
descriptionOptional task description.
priorityOptional priority. high maps to Todoist priority 4; normal/low map to 1.

Planned / unsupported fields

FieldReason
labelsNeeds configured or fetched label names.
projectNeeds a configured project catalog and ID lookup.
sectionNeeds project/section catalog validation.

Adapter payload

{
  "endpoint": "POST https://api.todoist.com/api/v1/tasks",
  "body": {
    "content": "{title}",
    "description": "{description}",
    "due_date": "{yyyy-mm-dd}",
    "due_datetime": "{ISO-8601 datetime}",
    "priority": "{1|4}"
  }
}

Quick Add quickAdd

automatic_createNot supported / requires user confirmation
setuppro, enabled, appInstalled

Writable fields

FieldBehavior
titleSent as Quick Add content.
dueDateSent as natural date text.
dueDateTimeSent as natural date/time text.
prioritySent when available.

Planned / unsupported fields

FieldReason
descriptionNot currently written through Quick Add.
labelsNeeds safe label handling.
projectNeeds project lookup.
sectionNeeds section lookup.

Adapter payload

{
  "url": "todoist://addtask?content={title}&date={date}&priority={priority}"
}

Generated schema summary

{
  "id": "todoist.task.v1",
  "app": "Todoist",
  "object_type": "task",
  "delivery_modes": [
    "api",
    "quickAdd"
  ],
  "writable_fields": [
    "title",
    "dueDate",
    "dueDateTime",
    "description",
    "priority"
  ]
}