Title98/100
Todoist: Add Tasks
The title clearly communicates the tool’s action and subject. Keep it concise.
Description69/100
Add one or more tasks to a project, section, or parent. Supports assignment to project collaborators.
Describe the returned information so the agent knows whether it will answer the request.
Inputs83/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
tasks › items › content
The task name/title. Should be concise and actionable (e.g., "Review PR #123", "Call dentist"). For longer content, use the description field instead. Supports Markdown.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
tasks › items › description
Additional details, notes, or context for the task. Use this for longer content rather than putting it in the task name. Supports Markdown.
Clear enough to supply this argument.
tasks › items › priority
Task priority as a string: "p1" (highest), "p2" (high), "p3" (medium), or "p4" (lowest/default). Integers like 1, 2, 3, or 4 are not accepted.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
tasks › items › dueString
The due date for the task, in natural language. Also use natural language for recurrences; do not prefix it with "recurring".
Clear enough to supply this argument.
tasks › items › deadlineDate
The deadline date for the task in ISO 8601 format (YYYY-MM-DD, e.g., "2025-12-31"). Deadlines are immovable constraints shown with a different indicator than due dates.
Clear enough to supply this argument.
tasks › items › duration
The duration of the task. Use format: "2h" (hours), "90m" (minutes), "2h30m" (combined), "1.5h" (decimal hours), or "3d" (whole days; days cannot be combined with hours or minutes). Todoist apps only display durations under 24 hours: a longer or day-based duration is stored and reported by this server, but the apps show the task as having no duration.
Clear enough to supply this argument.
tasks › items › labels
The labels to attach to the task.
Explain the meaning of this value, not just its name.
tasks › items › projectId
The project ID to add this task to. Project ID should be an ID string, or the text "inbox", for inbox tasks.
Clarify units, where to obtain this value, or conventions not already expressed in the schema.
tasks › items › sectionId
The section ID to add this task to.
Explain the meaning of this value, not just its name.
tasks › items › parentId
The parent task ID (for subtasks).
Clear enough to supply this argument.
tasks › items › order
Position of the task among sibling tasks under the same parent/section.
Explain what happens when this optional value is omitted.
tasks › items › responsibleUser
Assign task to this user. Can be "me" (assigns to current user), a user ID, name, or email address. User must be a collaborator on the target project.
Clear enough to supply this argument.
tasks › items › isUncompletable
Whether this task should be uncompletable (organizational header). Tasks with isUncompletable: true appear as organizational headers and cannot be completed.
Clear enough to supply this argument.
Annotations100/100
All four behavior hints are declared.
{
"title": "Todoist: Add Tasks",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}Output schema79/100
The output schema explains the structured result.
View output schema
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"tasks",
"totalCount",
"failures",
"totalRequested",
"successCount",
"failureCount"
],
"properties": {
"tasks": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"content",
"description",
"recurring",
"priority",
"projectId",
"checked"
],
"properties": {
"id": {
"type": "string"
},
"labels": {
"type": "array",
"items": {
"type": "string"
}
},
"addedAt": {
"type": "string",
"description": "ISO 8601."
},
"checked": {
"type": "boolean",
"description": "Whether the task is completed."
},
"content": {
"type": "string",
"description": "Task title."
},
"dueDate": {
"type": "string",
"description": "ISO 8601."
},
"duration": {
"type": "string",
"description": "e.g. \"2h30m\", or \"3d\" for a day-based duration."
},
"parentId": {
"type": "string"
},
"priority": {
"enum": [
"p1",
"p2",
"p3",
"p4"
],
"type": "string",
"description": "p1 is highest, p4 lowest."
},
"isDeleted": {
"type": "boolean",
"description": "True when deleted; absent otherwise."
},
"projectId": {
"type": "string"
},
"recurring": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "string"
}
],
"description": "False when not recurring, otherwise the recurrence string."
},
"sectionId": {
"type": "string"
},
"completedAt": {
"type": "string",
"description": "ISO 8601."
},
"description": {
"type": "string"
},
"deadlineDate": {
"type": "string",
"description": "ISO 8601."
},
"assignedByUid": {
"type": "string"
},
"responsibleUid": {
"type": "string"
},
"isUncompletable": {
"type": "boolean",
"description": "An organizational header, not a real task."
}
},
"additionalProperties": false
},
"description": "The created tasks."
},
"failures": {
"type": "array",
"items": {
"type": "object",
"required": [
"item",
"error"
],
"properties": {
"code": {
"type": "string"
},
"item": {
"type": "string",
"description": "Usually the ID of the item that failed."
},
"error": {
"type": "string"
}
},
"additionalProperties": false
},
"description": "Failed task creations with error details."
},
"totalCount": {
"type": "number",
"description": "The total number of tasks created."
},
"failureCount": {
"type": "number",
"description": "The number of failed task creations."
},
"successCount": {
"type": "number",
"description": "The number of successfully created tasks."
},
"totalRequested": {
"type": "number",
"description": "The total number of tasks requested."
}
},
"additionalProperties": false
}