Skip to main content
Glama

Teamwork MCP

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

NameRequiredDescriptionDefault
taskIdYesPath parameter: taskId
taskRequestYesRequest 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" }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Vizioz/Teamwork-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server