createSubTask
Create subtasks under a parent task in Teamwork MCP, enabling task breakdown, assignee management, and workflow organization for improved project tracking.
Instructions
Creates a subtask. Create a new subtask under the provided parent task.
Input Schema
Name | Required | Description | Default |
---|---|---|---|
taskId | Yes | Path parameter: taskId | |
taskRequest | Yes | Request body: taskRequest |
Input Schema (JSON Schema)
{
"properties": {
"taskId": {
"description": "Path parameter: taskId",
"type": "integer"
},
"taskRequest": {
"description": "Request body: taskRequest",
"properties": {
"attachmentOptions": {
"properties": {
"removeOtherFiles": {
"type": "boolean"
}
},
"required": [],
"type": "object"
},
"attachments": {
"properties": {
"files": {
"items": {
"description": "File stores information about a uploaded file.",
"properties": {
"categoryId": {
"type": "integer"
},
"id": {
"type": "integer"
}
},
"required": [],
"type": "object"
},
"type": "array"
},
"pendingFiles": {
"items": {
"description": "PendingFile stores information about a file uploaded on-the-fly.",
"properties": {
"categoryId": {
"type": "integer"
},
"reference": {
"type": "string"
}
},
"required": [],
"type": "object"
},
"type": "array"
}
},
"required": [],
"type": "object"
},
"card": {
"description": "Card stores information about the card created with the task.",
"properties": {
"columnId": {
"type": "integer"
}
},
"required": [],
"type": "object"
},
"predecessors": {
"items": {
"description": "Predecessor stores information about task predecessors.",
"properties": {
"id": {
"type": "integer"
},
"type": {
"type": "string"
}
},
"required": [],
"type": "object"
},
"type": "array"
},
"tags": {
"items": {
"description": "Tag contains all the information returned from a tag.",
"properties": {
"color": {
"type": "string"
},
"name": {
"type": "string"
},
"projectId": {
"type": "integer"
}
},
"required": [],
"type": "object"
},
"type": "array"
},
"task": {
"description": "Task contains all the information returned from a task.",
"properties": {
"assignees": {
"description": "UserGroups are common lists for storing users, companies and teams ids together.",
"properties": {
"companyIds": {
"description": "NullableInt64Slice implements json.Unmarshaler to allow testing between a value that explicitly set to null or omitted.",
"items": {
"type": "integer"
},
"type": "array"
},
"teamIds": {
"description": "NullableInt64Slice implements json.Unmarshaler to allow testing between a value that explicitly set to null or omitted.",
"items": {
"type": "integer"
},
"type": "array"
},
"userIds": {
"description": "NullableInt64Slice implements json.Unmarshaler to allow testing between a value that explicitly set to null or omitted.",
"items": {
"type": "integer"
},
"type": "array"
}
},
"required": [],
"type": "object"
},
"attachmentIds": {
"items": {
"type": "integer"
},
"type": "array"
},
"changeFollowers": {
"description": "UserGroups are common lists for storing users, companies and teams ids together.",
"properties": {
"companyIds": {
"description": "NullableInt64Slice implements json.Unmarshaler to allow testing between a value that explicitly set to null or omitted.",
"items": {
"type": "integer"
},
"type": "array"
},
"teamIds": {
"description": "NullableInt64Slice implements json.Unmarshaler to allow testing between a value that explicitly set to null or omitted.",
"items": {
"type": "integer"
},
"type": "array"
},
"userIds": {
"description": "NullableInt64Slice implements json.Unmarshaler to allow testing between a value that explicitly set to null or omitted.",
"items": {
"type": "integer"
},
"type": "array"
}
},
"required": [],
"type": "object"
},
"commentFollowers": {
"description": "UserGroups are common lists for storing users, companies and teams ids together.",
"properties": {
"companyIds": {
"description": "NullableInt64Slice implements json.Unmarshaler to allow testing between a value that explicitly set to null or omitted.",
"items": {
"type": "integer"
},
"type": "array"
},
"teamIds": {
"description": "NullableInt64Slice implements json.Unmarshaler to allow testing between a value that explicitly set to null or omitted.",
"items": {
"type": "integer"
},
"type": "array"
},
"userIds": {
"description": "NullableInt64Slice implements json.Unmarshaler to allow testing between a value that explicitly set to null or omitted.",
"items": {
"type": "integer"
},
"type": "array"
}
},
"required": [],
"type": "object"
},
"completedAt": {
"type": "string"
},
"completedBy": {
"type": "integer"
},
"createdAt": {
"type": "string"
},
"createdBy": {
"type": "integer"
},
"crmDealIds": {
"items": {
"type": "integer"
},
"type": "array"
},
"customFields": {
"description": "CustomFields is the custom fields type.",
"properties": {
"Values": {
"items": {
"description": "CustomFieldValue contains all the information returned from a customfield.",
"properties": {
"countryCode": {
"type": "string"
},
"currencySymbol": {
"type": "string"
},
"customfieldId": {
"type": "integer"
},
"urlTextToDisplay": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [],
"type": "object"
},
"type": "array"
}
},
"required": [],
"type": "object"
},
"description": {
"type": "string"
},
"descriptionContentType": {
"type": "string"
},
"dueAt": {
"description": "NullableDate implements json.Unmarshaler to allow testing between a value that explicitly set to null or omitted. Date format '2006-01-02'",
"format": "date",
"type": "string"
},
"estimatedMinutes": {
"type": "integer"
},
"grantAccessTo": {
"description": "UserGroups are common lists for storing users, companies and teams ids together.",
"properties": {
"companyIds": {
"description": "NullableInt64Slice implements json.Unmarshaler to allow testing between a value that explicitly set to null or omitted.",
"items": {
"type": "integer"
},
"type": "array"
},
"teamIds": {
"description": "NullableInt64Slice implements json.Unmarshaler to allow testing between a value that explicitly set to null or omitted.",
"items": {
"type": "integer"
},
"type": "array"
},
"userIds": {
"description": "NullableInt64Slice implements json.Unmarshaler to allow testing between a value that explicitly set to null or omitted.",
"items": {
"type": "integer"
},
"type": "array"
}
},
"required": [],
"type": "object"
},
"hasDeskTickets": {
"type": "boolean"
},
"name": {
"type": "string"
},
"originalDueDate": {
"description": "NullableDate implements json.Unmarshaler to allow testing between a value that explicitly set to null or omitted. Date format '2006-01-02'",
"format": "date",
"type": "string"
},
"parentTaskId": {
"type": "integer"
},
"priority": {
"description": "NullableTaskPriority implements json.Unmarshaler to allow testing between a value that explicitly set to null or omitted.",
"enum": [
"low",
"normal",
"high"
],
"type": "string"
},
"private": {
"type": "boolean"
},
"progress": {
"type": "integer"
},
"reminders": {
"items": {
"description": "Reminder stores all necessary information to create a task reminder.",
"properties": {
"isRelative": {
"type": "boolean"
},
"note": {
"type": "string"
},
"relativeNumberDays": {
"type": "integer"
},
"remindAt": {
"type": "string"
},
"type": {
"type": "string"
},
"userId": {
"type": "integer"
}
},
"required": [],
"type": "object"
},
"type": "array"
},
"repeatOptions": {
"description": "RepeatOptions stores recurring information for the task.",
"properties": {
"duration": {
"type": "integer"
},
"editOption": {
"type": "string"
},
"endsAt": {
"description": "NullableDate implements json.Unmarshaler to allow testing between a value that explicitly set to null or omitted. Date format '2006-01-02'",
"format": "date",
"type": "string"
},
"frequency": {
"description": "NullableTaskRepeatFrequency implements json.Unmarshaler to allow testing between a value that explicitly set to null or omitted.",
"type": "object"
},
"monthlyRepeatType": {
"description": "NullableTaskRepeatMonthlyType implements json.Unmarshaler to allow testing between a value that explicitly set to null or omitted.",
"type": "object"
},
"rrule": {
"description": "Adds the RRule definition for repeating tasks. It replaces all other repeating fields.",
"type": "string"
},
"selectedDays": {
"description": "NullableWorkingHourEntryWeekdays implements json.Unmarshaler to allow testing between a value that explicitly set to null or omitted.",
"type": "object"
}
},
"required": [],
"type": "object"
},
"startAt": {
"description": "NullableDate implements json.Unmarshaler to allow testing between a value that explicitly set to null or omitted. Date format '2006-01-02'",
"format": "date",
"type": "string"
},
"status": {
"type": "string"
},
"tagIds": {
"items": {
"type": "integer"
},
"type": "array"
},
"taskgroupId": {
"type": "integer"
},
"tasklistId": {
"type": "integer"
},
"templateRoleName": {
"type": "string"
},
"ticketId": {
"type": "integer"
}
},
"required": [],
"type": "object"
},
"taskOptions": {
"description": "Options contains any options which can be set for the task request",
"properties": {
"appendAssignees": {
"type": "boolean"
},
"checkInvalidusers": {
"type": "boolean"
},
"everyoneMustDo": {
"type": "boolean"
},
"fireWebhook": {
"type": "boolean"
},
"isTemplate": {
"type": "boolean"
},
"logActivity": {
"type": "boolean"
},
"notify": {
"type": "boolean"
},
"parseInlineTags": {
"type": "boolean"
},
"positionAfterTaskId": {
"type": "integer"
},
"pushDependents": {
"type": "boolean"
},
"pushSubtasks": {
"type": "boolean"
},
"shiftProjectDates": {
"type": "boolean"
},
"useDefaults": {
"type": "boolean"
},
"useNotifyViaTWIM": {
"type": "boolean"
}
},
"required": [],
"type": "object"
},
"workflows": {
"description": "Workflows stores information about where the task lives in the workflow",
"properties": {
"positionAfterTask": {
"type": "integer"
},
"stageId": {
"type": "integer"
},
"workflowId": {
"type": "integer"
}
},
"required": [],
"type": "object"
}
},
"required": [],
"type": "object"
}
},
"required": [
"taskRequest",
"taskId"
],
"type": "object"
}