MCP Reference
task_series_save
Save Recurring Task Series
Beschreibung
Create or update a recurring task series. Creation immediately makes one task at the first scheduled due date on or after today. Later tasks are created at 00:01 in the series time zone the day after the previous PLANNED due date, regardless of completion. days/weeks/months/years, interval 1–12; month ends clamp. Missed historical dates are skipped. Create requires workspace_id, frequency, anchor_on and time_zone, plus template.title or source_task_id. source_task_id copies the task and its subtasks into a NEW series and NEW tasks; the source stays unchanged. Update requires id and expected_version from task_series_get. Omitted fields are preserved; template patches root fields, children replaces the entire child tree. Changing anchor_on creates an ADDITIONAL task immediately and resets the schedule. Content/interval edits preserve existing tasks and cursor. paused stops generation; resuming skips missed history. auto_start_agents defaults false: assigned agents wait for a status/assignment change. Every save makes the caller responsible for future generation; revoked workspace/feature access blocks it. Use a stable idempotency_key when creating to make retries safe. Do not use task_save to edit a series.
Zugriff
Zugriffsprofil: gated. Module: projects_tasks.
Die Freigabe im Profil ersetzt keine Account-, Workspace- oder Rollenberechtigung.
Parameter
| Name | Typ | Pflicht | Beschreibung |
|---|---|---|---|
account_id |
string | Ja | |
id |
string | Nein | |
expected_version |
integer | Nein | |
workspace_id |
string | Nein | |
source_task_id |
string | Nein | |
idempotency_key |
string | Nein | |
frequency |
string | Nein | |
interval |
integer | Nein | |
anchor_on |
string | Nein | ISO date YYYY-MM-DD. Changing this restarts the schedule and creates another task. |
time_zone |
string | Nein | IANA zone, e.g. Europe/Berlin. |
paused |
boolean | Nein | |
auto_start_agents |
boolean | Nein | |
start_time |
string / null | Nein | Optional local HH:MM start time on each planned date, e.g. 08:00 or 20:00. Automatic agent work waits until this time. |
due_time |
string / null | Nein | Optional local HH:MM deadline on each planned date. Null removes the time. Must not be before start_time. |
template |
object | Nein |
Eingabeschema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"account_id": {
"type": "string"
},
"id": {
"type": "string"
},
"expected_version": {
"type": "integer"
},
"workspace_id": {
"type": "string"
},
"source_task_id": {
"type": "string"
},
"idempotency_key": {
"type": "string",
"maxLength": 200
},
"frequency": {
"type": "string",
"enum": [
"days",
"weeks",
"months",
"years"
]
},
"interval": {
"type": "integer",
"minimum": 1,
"maximum": 12
},
"anchor_on": {
"type": "string",
"description": "ISO date YYYY-MM-DD. Changing this restarts the schedule and creates another task."
},
"time_zone": {
"type": "string",
"description": "IANA zone, e.g. Europe/Berlin."
},
"paused": {
"type": "boolean"
},
"auto_start_agents": {
"type": "boolean"
},
"start_time": {
"type": [
"string",
"null"
],
"description": "Optional local HH:MM start time on each planned date, e.g. 08:00 or 20:00. Automatic agent work waits until this time."
},
"due_time": {
"type": [
"string",
"null"
],
"description": "Optional local HH:MM deadline on each planned date. Null removes the time. Must not be before start_time."
},
"template": {
"type": "object",
"properties": {
"title": {
"type": "string",
"maxLength": 200
},
"description_markdown": {
"type": "string",
"maxLength": 100000
},
"priority": {
"type": "string",
"enum": [
"no_priority",
"urgent",
"high",
"medium",
"low"
]
},
"status_id": {
"type": "string",
"description": "Workspace task status prefix ID (tst_…)."
},
"assignee_id": {
"type": [
"string",
"null"
],
"description": "User prefix ID (user_…), null to clear."
},
"project_id": {
"type": [
"string",
"null"
],
"description": "Project prefix ID (proj_…), null to clear."
},
"estimate_points": {
"type": [
"integer",
"null"
],
"minimum": 0,
"maximum": 999
},
"label_ids": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 50
},
"children": {
"type": "array",
"maxItems": 50,
"items": {
"type": "object",
"description": "Child template with the same fields; nested children up to 5 levels, 50 total.",
"properties": {
"title": {
"type": "string",
"maxLength": 200
},
"description_markdown": {
"type": "string",
"maxLength": 100000
},
"priority": {
"type": "string",
"enum": [
"no_priority",
"urgent",
"high",
"medium",
"low"
]
},
"status_id": {
"type": "string",
"description": "Workspace task status prefix ID (tst_…)."
},
"assignee_id": {
"type": [
"string",
"null"
],
"description": "User prefix ID (user_…), null to clear."
},
"project_id": {
"type": [
"string",
"null"
],
"description": "Project prefix ID (proj_…), null to clear."
},
"estimate_points": {
"type": [
"integer",
"null"
],
"minimum": 0,
"maximum": 999
},
"label_ids": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 50
},
"children": {
"type": "array",
"items": {
"type": "object"
}
}
}
}
}
},
"additionalProperties": false
}
},
"required": [
"account_id"
],
"type": "object"
}
Ausgabeschema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"series": {
"type": "object"
}
},
"required": [
"series"
],
"type": "object"
}