LabStore
← All labs

Teamwork

by docker ✓ verified ✓ Packaged by Docker

Tools for Teamwork.com products.

MCP server installable needs setup network: on runtime: sysbox

Project Management MCP Servers

Teamwork MCP Server

Tools for Teamwork.com products.

What is an MCP Server?

MCP Info

Attribute Details
Docker Image mcp/teamwork
Author Teamwork
Repository https://github.com/teamwork/mcp

Image Building Info

Attribute Details
Dockerfile https://github.com/teamwork/mcp/blob/9e26e66a0592c56065b22a9507c460f9c05be277/Dockerfile
Commit 9e26e66a0592c56065b22a9507c460f9c05be277
Docker Image built by Docker Inc.
Docker Scout Health Score Docker Scout Health Score
Verify Signature COSIGN_REPOSITORY=mcp/signatures cosign verify mcp/teamwork --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub
Licence MIT License

Available Tools (194)

Tools provided by this Server Short Description
twchat-get_conversation Get Chat Conversation
twchat-get_current_user Get Current Chat User
twchat-get_or_create_dm Get or Create Direct Message
twchat-list_conversations List Chat Conversations
twchat-list_messages List Chat Messages
twchat-list_people List Chat People
twchat-send_dm Send Direct Message
twchat-send_message Send Chat Message
twdesk-create_company Create Company
twdesk-create_customer Create Customer
twdesk-create_file Create File
twdesk-create_helpdoc_article Create Help Doc Article
twdesk-create_priority Create Priority
twdesk-create_status Create Status
twdesk-create_tag Create Tag
twdesk-create_ticket Create Ticket
twdesk-create_ticket_type Create Ticket Type
twdesk-get_company Get Company
twdesk-get_customer Get Customer
twdesk-get_helpdoc_article Get Help Doc Article
twdesk-get_inbox Get Inbox
twdesk-get_priority Get Priority
twdesk-get_status Get Status
twdesk-get_tag Get Tag
twdesk-get_ticket Get Ticket
twdesk-get_ticket_type Get Ticket Type
twdesk-get_user Get User
twdesk-list_companies List Companies
twdesk-list_customers List Customers
twdesk-list_inboxes List Inboxes
twdesk-list_priorities List Priorities
twdesk-list_statuses List Statuses
twdesk-list_tags List Tags
twdesk-list_ticket_types List Ticket Types
twdesk-list_users List Users
twdesk-reply_ticket Reply to Ticket
twdesk-search_helpdoc_articles Search Help Doc Articles
twdesk-search_tickets Search Tickets
twdesk-update_company Update Company
twdesk-update_customer Update Customer
twdesk-update_helpdoc_article Update Help Doc Article
twdesk-update_priority Update Priority
twdesk-update_status Update Status
twdesk-update_tag Update Tag
twdesk-update_ticket Update Ticket
twdesk-update_ticket_type Update Ticket Type
twprojects-add_project_member Add Project Member
twprojects-clone_project Clone Project
twprojects-complete_task Complete Task
twprojects-complete_timer Complete Timer
twprojects-create_comment Create Comment
twprojects-create_company Create Company
twprojects-create_custom_field Create Custom Field
twprojects-create_custom_field_value Create Custom Field Value
twprojects-create_custom_item Create Custom Item
twprojects-create_custom_item_field Create Custom Item Field
twprojects-create_custom_item_record Create Custom Item Record
twprojects-create_jobrole Create Job Role
twprojects-create_link Create Link
twprojects-create_message Create Message
twprojects-create_message_reply Create Message Reply
twprojects-create_milestone Create Milestone
twprojects-create_notebook Create Notebook
twprojects-create_project Create Project
twprojects-create_project_category Create Project Category
twprojects-create_project_template Create Project Template
twprojects-create_skill Create Skill
twprojects-create_tag Create Tag
twprojects-create_task Create Task
twprojects-create_tasklist Create Tasklist
twprojects-create_team Create Team
twprojects-create_timelog Create Timelog
twprojects-create_timer Create Timer
twprojects-create_user Create User
twprojects-create_workflow Create Workflow
twprojects-create_workflow_stage Create Workflow Stage
twprojects-get_comment Get Comment
twprojects-get_company Get Company
twprojects-get_custom_field Get Custom Field
twprojects-get_custom_field_value Get Custom Field Value
twprojects-get_custom_item Get Custom Item
twprojects-get_custom_item_field Get Custom Item Field
twprojects-get_custom_item_record Get Custom Item Record
twprojects-get_jobrole Get Job Role
twprojects-get_link Get Link
twprojects-get_message Get Message
twprojects-get_message_reply Get Message Reply
twprojects-get_milestone Get Milestone
twprojects-get_notebook Get Notebook
twprojects-get_project Get Project
twprojects-get_project_category Get Project Category
twprojects-get_skill Get Skill
twprojects-get_tag Get Tag
twprojects-get_task Get Task
twprojects-get_tasklist Get Tasklist
twprojects-get_team Get Team
twprojects-get_timelog Get Timelog
twprojects-get_timer Get Timer
twprojects-get_user Get User
twprojects-get_user_me Get Logged User
twprojects-get_workflow Get Workflow
twprojects-get_workflow_stage Get Workflow Stage
twprojects-link_project_to_workflow Link Project to Workflow
twprojects-list_activities List Activities
twprojects-list_calendar_events List Calendar Events
twprojects-list_calendars List Calendars
twprojects-list_comments List Comments
twprojects-list_companies List Companies
twprojects-list_custom_field_values List Custom Field Values
twprojects-list_custom_fields List Custom Fields
twprojects-list_custom_item_fields List Custom Item Fields
twprojects-list_custom_item_records List Custom Item Records
twprojects-list_custom_items List Custom Items
twprojects-list_industries List Industries
twprojects-list_jobroles List Job Roles
twprojects-list_links List Links
twprojects-list_message_replies List Message Replies
twprojects-list_messages List Messages
twprojects-list_milestones List Milestones
twprojects-list_notebooks List Notebooks
twprojects-list_project_budgets List Project Budgets
twprojects-list_project_categories List Project Categories
twprojects-list_project_templates List Project Templates
twprojects-list_projects List Projects
twprojects-list_skills List Skills
twprojects-list_tags List Tags
twprojects-list_tasklist_budgets List Tasklist Budgets
twprojects-list_tasklists List Tasklists
twprojects-list_tasks List Tasks
twprojects-list_teams List Teams
twprojects-list_timelogs List Timelogs
twprojects-list_timers List Timers
twprojects-list_users List Users
twprojects-list_workflow_stages List Workflow Stages
twprojects-list_workflows List Workflows
twprojects-move_task_to_workflow_stage Move Task to Workflow Stage
twprojects-pause_timer Pause Timer
twprojects-resume_timer Resume Timer
twprojects-search Search
twprojects-update_comment Update Comment
twprojects-update_company Update Company
twprojects-update_custom_field Update Custom Field
twprojects-update_custom_field_value Update Custom Field Value
twprojects-update_custom_item Update Custom Item
twprojects-update_custom_item_field Update Custom Item Field
twprojects-update_custom_item_record Update Custom Item Record
twprojects-update_jobrole Update Job Role
twprojects-update_link Update Link
twprojects-update_message Update Message
twprojects-update_message_reply Update MessageReply
twprojects-update_milestone Update Milestone
twprojects-update_notebook Update Notebook
twprojects-update_project Update Project
twprojects-update_project_category Update Project Category
twprojects-update_skill Update Skill
twprojects-update_tag Update Tag
twprojects-update_task Update Task
twprojects-update_tasklist Update Tasklist
twprojects-update_team Update Team
twprojects-update_timelog Update Timelog
twprojects-update_timer Update Timer
twprojects-update_user Update User
twprojects-update_workflow Update Workflow
twprojects-update_workflow_stage Update Workflow Stage
twprojects-users_workload Get Users Workload
twspaces-create_category Create Category
twspaces-create_comment Create Comment
twspaces-create_page Create Page
twspaces-create_space Create Space
twspaces-create_tags Create Tags
twspaces-delete_category Delete Category
twspaces-delete_comment Delete Comment
twspaces-delete_page Delete Page
twspaces-delete_space Delete Space
twspaces-delete_tag Delete Tag
twspaces-duplicate_page Duplicate Page
twspaces-get_category Get Category
twspaces-get_comment Get Comment
twspaces-get_homepage Get Space Homepage
twspaces-get_page Get Page
twspaces-get_space Get Space
twspaces-get_tag Get Tag
twspaces-list_categories List Categories
twspaces-list_comments List Comments
twspaces-list_pages List Pages
twspaces-list_space_collaborators List Space Collaborators
twspaces-list_spaces List Spaces
twspaces-list_tags List Tags
twspaces-search Search Spaces
twspaces-update_category Update Category
twspaces-update_comment Update Comment
twspaces-update_page Update Page
twspaces-update_space Update Space
twspaces-update_tag Update Tag

Tools Details

Tool: twchat-get_conversation

Get a single Teamwork Chat conversation by ID.

Parameters Type Description
conversation_id integer The ID of the conversation to retrieve.

This tool is read-only. It does not modify its environment.


Tool: twchat-get_current_user

Get the current authenticated Teamwork Chat user, including identity, counts (unread conversations/messages, mentions), and settings.

Tool: twchat-get_or_create_dm

Get the 1:1 direct-message conversation with a person, creating it if it does not exist yet. Returns the conversation (use its id with send_message). Use list_people to find user_id.

Parameters Type Description
user_id integer The ID of the person to get the direct-message conversation with.

This tool is read-only. It does not modify its environment.


Tool: twchat-list_conversations

List Teamwork Chat conversations the current user is a member of.

Parameters Type Description
include_message_data string optional Include the latest message in each conversation.
page_limit string optional Number of conversations to return (max 10).
page_offset string optional The index position to start retrieving results from (not a page number).
search_term string optional A search term to filter conversations by title.
sort string optional Sort order for the returned conversations.
status string optional Filter by conversation status.
type string optional Filter by conversation type: "rooms" for group/channel conversations, "pair" for 1:1 direct messages.

This tool is read-only. It does not modify its environment.


Tool: twchat-list_messages

List messages within a Teamwork Chat conversation. Requires conversation_id.

Parameters Type Description
conversation_id integer The ID of the conversation to read messages from.
after_message_id string optional Return messages newer than this message ID (cursor).
before_message_id string optional Return messages older than this message ID (cursor).
created_after string optional Return messages created after this time.
created_before string optional Return messages created before this time.
page string optional Page number for pagination of results.
page_size string optional Number of messages per page (1-200).
search_term string optional A search term to filter messages by text content.

This tool is read-only. It does not modify its environment.


Tool: twchat-list_people

List people in the Teamwork Chat installation. Useful for resolving names to user IDs.

Parameters Type Description
page_limit string optional Number of people to return.
page_offset string optional The index position to start retrieving results from (not a page number).
search_term string optional A search term to filter people by name or email.

This tool is read-only. It does not modify its environment.


Tool: twchat-send_dm

Send a direct message to a person, resolving (or creating) the 1:1 conversation automatically. Requires user_id and body. Use list_people to find user_id.

Parameters Type Description
body string The message text. Supports Markdown.
user_id integer The ID of the person to send the direct message to.

Tool: twchat-send_message

Send a message to a Teamwork Chat conversation. Requires conversation_id and body.

Parameters Type Description
body string The message text. Supports Markdown.
conversation_id integer The ID of the conversation to post the message to.

Tool: twdesk-create_company

Create Desk company.

Parameters Type Description
description string The description of the company.
details string The details of the company.
domains string The domains for the company.
industry string The industry of the company.
kind string The kind of the company.
name string The name of the company.
note string The note for the company.
permission string The permission level of the company.
website string The website of the company.

Tool: twdesk-create_customer

Create customer.

Parameters Type Description
address string The address of the customer.
email string The email of the customer.
extraData string The extra data of the customer.
facebookURL string The Facebook URL of the customer.
firstName string The first name of the customer.
jobTitle string The job title of the customer.
lastName string The last name of the customer.
linkedinURL string The LinkedIn URL of the customer.
mobile string The mobile number of the customer.
notes string The notes of the customer.
organization string The organization of the customer.
phone string The phone number of the customer.
twitterHandle string The Twitter handle of the customer.

Tool: twdesk-create_file

Upload file. Attach the returned ID to tickets or messages.

Parameters Type Description
data string The content of the file as a base64-encoded string.
disposition string The disposition of the file.
mimeType string The MIME type of the file.
name string The name of the file.

Tool: twdesk-create_helpdoc_article

Create a new help doc article.

Parameters Type Description
contents string The body content of the article.
description string A short description / summary of the article.
isPrivate string Set to true to make the article private.
siteID integer The ID of the help doc site to create the article in.
status string Publication status of the article (e.g. "published", "draft").
title string The title of the article.

Tool: twdesk-create_priority

Create ticket priority.

Parameters Type Description
color string The color of the priority.
name string The name of the priority.

Tool: twdesk-create_status

Create ticket status.

Parameters Type Description
color string The color of the status.
displayOrder string The display order of the status.
name string The name of the status.

Tool: twdesk-create_tag

Create Desk tag.

Parameters Type Description
color string The color of the tag.
name string The name of the tag.

Tool: twdesk-create_ticket

Create ticket.

Parameters Type Description
agentId string Agent the ticket is assigned to. Use twdesk-list_users to discover.
bcc string Email addresses to BCC.
body string The body of the ticket.
cc string Email addresses to CC.
customerEmail string Customer email; required when customerId is not given. Existing customers are matched, otherwise a new customer is created.
customerId string Customer of the ticket. Use twdesk-list_customers to discover.
files string File IDs to attach. Use twdesk-create_file to upload.
inboxId integer Inbox of the ticket. Use twdesk-list_inboxes to discover.
notifyCustomer string Set to true if the customer should be sent a copy of the ticket.
priorityId string Priority of the ticket. Use twdesk-list_priorities to discover.
statusId string Status of the ticket. Use twdesk-list_statuses to discover.
subject string The subject of the ticket.
tags string Tags to associate with the ticket. Use twdesk-list_tags to discover.
typeId string Ticket type. Use twdesk-list_ticket_types to discover.

Tool: twdesk-create_ticket_type

Create ticket type.

Parameters Type Description
displayOrder string The display order of the type.
enabledForFutureInboxes string Whether the type is enabled for future inboxes.
name string The name of the ticket type.

Tool: twdesk-get_company

Get Desk company (customer organization).

Parameters Type Description
fields string Sparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
id integer The ID of the company to retrieve.

This tool is read-only. It does not modify its environment.


Tool: twdesk-get_customer

Get customer.

Parameters Type Description
fields string Sparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
id integer The ID of the customer to retrieve.

This tool is read-only. It does not modify its environment.


Tool: twdesk-get_helpdoc_article

Get a help doc article by ID.

Parameters Type Description
fields string Sparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
id integer The ID of the help doc article to retrieve.

This tool is read-only. It does not modify its environment.


Tool: twdesk-get_inbox

Get inbox.

Parameters Type Description
fields string Sparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
id integer The ID of the inbox to retrieve.

This tool is read-only. It does not modify its environment.


Tool: twdesk-get_priority

Get ticket priority.

Parameters Type Description
fields string Sparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
id integer The ID of the priority to retrieve.

This tool is read-only. It does not modify its environment.


Tool: twdesk-get_status

Get ticket status.

Parameters Type Description
fields string Sparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
id integer The ID of the status to retrieve.

This tool is read-only. It does not modify its environment.


Tool: twdesk-get_tag

Get Desk tag.

Parameters Type Description
fields string Sparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
id integer The ID of the tag to retrieve.

This tool is read-only. It does not modify its environment.


Tool: twdesk-get_ticket

Get ticket.

Parameters Type Description
fields string Sparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
id integer The ID of the ticket to retrieve.

This tool is read-only. It does not modify its environment.


Tool: twdesk-get_ticket_type

Get ticket type.

Parameters Type Description
fields string Sparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
id integer The ID of the ticket type to retrieve.

This tool is read-only. It does not modify its environment.


Tool: twdesk-get_user

Get support agent.

Parameters Type Description
fields string Sparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
id integer The ID of the user to retrieve.

This tool is read-only. It does not modify its environment.


Tool: twdesk-list_companies

List Desk companies. Filter by name, domains, or kind.

Parameters Type Description
domains string The domains of the company to filter by.
fields string Sparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
kind string The kind of the company to filter by.
name string The name of the company to filter by.
orderBy string The field to order the results by.
orderDirection string The direction to order the results by (asc, desc).
page string Page number for pagination of results.
pageSize string Number of results per page for pagination.

This tool is read-only. It does not modify its environment.


Tool: twdesk-list_customers

List customers. Filter by company or email.

Parameters Type Description
companyIDs string The IDs of the companies to filter by.
companyNames string The names of the companies to filter by.
emails string The emails of the customers to filter by.
fields string Sparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
orderBy string The field to order the results by.
orderDirection string The direction to order the results by (asc, desc).
page string Page number for pagination of results.
pageSize string Number of results per page for pagination.

This tool is read-only. It does not modify its environment.


Tool: twdesk-list_inboxes

List inboxes. Filter by name or email.

Parameters Type Description
email string The email of the inbox to filter by.
fields string Sparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
name string The name of the inbox to filter by.
orderBy string The field to order the results by.
orderDirection string The direction to order the results by (asc, desc).
page string Page number for pagination of results.
pageSize string Number of results per page for pagination.

This tool is read-only. It does not modify its environment.


Tool: twdesk-list_priorities

List ticket priorities. Filter by name or color.

Parameters Type Description
color string The color of the priority to filter by.
fields string Sparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
name string The name of the priority to filter by.
orderBy string The field to order the results by.
orderDirection string The direction to order the results by (asc, desc).
page string Page number for pagination of results.
pageSize string Number of results per page for pagination.

This tool is read-only. It does not modify its environment.


Tool: twdesk-list_statuses

List ticket statuses. Filter by name, color, or code.

Parameters Type Description
code string The code of the status to filter by.
color string The color of the status to filter by.
fields string Sparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
name string The name of the status to filter by.
orderBy string The field to order the results by.
orderDirection string The direction to order the results by (asc, desc).
page string Page number for pagination of results.
pageSize string Number of results per page for pagination.

This tool is read-only. It does not modify its environment.


Tool: twdesk-list_tags

List Desk tags. Filter by name, color, or inbox.

Parameters Type Description
color string The color of the tag to filter by.
fields string Sparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
inboxIDs string The IDs of the inboxes to filter by.
name string The name of the tag to filter by.
orderBy string The field to order the results by.
orderDirection string The direction to order the results by (asc, desc).
page string Page number for pagination of results.
pageSize string Number of results per page for pagination.

This tool is read-only. It does not modify its environment.


Tool: twdesk-list_ticket_types

List ticket types. Filter by name or inbox.

Parameters Type Description
fields string Sparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
inboxIDs string Filter by inbox. Use twdesk-list_inboxes to discover.
name string The name of the type to filter by.
orderBy string The field to order the results by.
orderDirection string The direction to order the results by (asc, desc).
page string Page number for pagination of results.
pageSize string Number of results per page for pagination.

This tool is read-only. It does not modify its environment.


Tool: twdesk-list_users

List support agents. For customers, use twdesk-list_customers.

Parameters Type Description
email string The email addresses of the users to filter by.
fields string Sparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
firstName string The first names of the users to filter by.
inboxIDs string The IDs of the inboxes to filter by.
isPartTime string Whether to include part-time users in the results.
lastName string The last names of the users to filter by.
orderBy string The field to order the results by.
orderDirection string The direction to order the results by (asc, desc).
page string Page number for pagination of results.
pageSize string Number of results per page for pagination.

This tool is read-only. It does not modify its environment.


Tool: twdesk-reply_ticket

Reply to a ticket. Use threadType=note for internal agent notes.

Parameters Type Description
bcc string Email addresses to BCC.
body string The body of the message.
cc string Email addresses to CC.
threadType string 'message' is a customer-facing reply; 'note' is an internal agent note.
ticketID integer The ID of the ticket that the message will be sent to.

Tool: twdesk-search_helpdoc_articles

Search help doc articles. Filter by search term, status, site, or category.

Parameters Type Description
categoryID string Filter by help doc category ID.
page string Page number (1-based).
pageSize string Number of results per page.
search string Free-text search term matched against article title and content.
siteID string Filter by help doc site ID.
status string Filter by article status (e.g. "published", "draft").

This tool is read-only. It does not modify its environment.


Tool: twdesk-search_tickets

Search tickets. Filter by inbox, customer, company, tag, status, priority, or user.

Parameters Type Description
companyIDs string Filter by company. Use twdesk-list_companies to discover.
customerIDs string Filter by customer. Use twdesk-list_customers to discover.
fields string Sparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
inboxIDs string Filter by inbox. Use twdesk-list_inboxes to discover.
orderBy string The field to order the results by.
orderDirection string The direction to order the results by (asc, desc).
page string Page number for pagination of results.
pageSize string Number of results per page for pagination.
priorityIDs string Filter by priority. Use twdesk-list_priorities to discover.
search string Search term matched against subject, body, and other ticket fields.
statusIDs string Filter by status. Use twdesk-list_statuses to discover.
tagIDs string Filter by tag. Use twdesk-list_tags to discover.
userIDs string Filter by user. Use twdesk-list_users to discover.

This tool is read-only. It does not modify its environment.


Tool: twdesk-update_company

Update Desk company.

Parameters Type Description
description string The new description of the company.
details string The new details of the company.
domains string The new domains for the company.
id integer The ID of the company to update.
industry string The new industry of the company.
kind string The new kind of the company.
name string The new name of the company.
note string The new note for the company.
permission string The new permission level of the company.
website string The new website of the company.

Tool: twdesk-update_customer

Update customer.

Parameters Type Description
address string The new address of the customer.
email string The new email of the customer.
extraData string The new extra data of the customer.
facebookURL string The new Facebook URL of the customer.
firstName string The new first name of the customer.
id integer The ID of the customer to update.
jobTitle string The new job title of the customer.
lastName string The new last name of the customer.
linkedinURL string The new LinkedIn URL of the customer.
mobile string The new mobile number of the customer.
notes string The new notes of the customer.
organization string The new organization of the customer.
phone string The new phone number of the customer.
twitterHandle string The new Twitter handle of the customer.

Tool: twdesk-update_helpdoc_article

Update an existing help doc article.

Parameters Type Description
contents string The new body content of the article.
description string A short description / summary of the article.
id integer The ID of the help doc article to update.
isPrivate string Set to true to make the article private.
status string Publication status (e.g. "published", "draft").
title string The new title of the article.

Tool: twdesk-update_priority

Update ticket priority.

Parameters Type Description
color string The color of the priority.
id integer The ID of the priority to update.
name string The new name of the priority.

Tool: twdesk-update_status

Update ticket status.

Parameters Type Description
color string The color of the status.
displayOrder string The display order of the status.
id integer The ID of the status to update.
name string The new name of the status.

Tool: twdesk-update_tag

Update Desk tag.

Parameters Type Description
color string The color of the tag.
id integer The ID of the tag to update.
name string The new name of the tag.

Tool: twdesk-update_ticket

Update ticket.

Parameters Type Description
agentId string Agent the ticket is assigned to. Use twdesk-list_users to discover.
bcc string Email addresses to BCC.
body string The body of the ticket.
cc string Email addresses to CC.
deleteTags string Tags to remove from the ticket. Use twdesk-list_tags to discover.
id integer The ID of the ticket to update.
inboxId string Inbox of the ticket. Use twdesk-list_inboxes to discover.
priorityId string Priority of the ticket. Use twdesk-list_priorities to discover.
statusId string Status of the ticket. Use twdesk-list_statuses to discover.
subject string The subject of the ticket.
tags string Tags to associate with the ticket. Use twdesk-list_tags to discover.
typeId string Ticket type. Use twdesk-list_ticket_types to discover.

Tool: twdesk-update_ticket_type

Update ticket type.

Parameters Type Description
displayOrder string The display order of the type.
enabledForFutureInboxes string Whether the type is enabled for future inboxes.
id integer The ID of the ticket type to update.
name string The new name of the type.

Tool: twprojects-add_project_member

Add a user to a project.

Parameters Type Description
project_id integer The ID of the project to add the member to.
user_ids string optional Users to add.

Tool: twprojects-clone_project

Clone/copy an existing project or instantiate one from a template.

Parameters Type Description
id integer The ID of the project to clone.
company_id string optional The ID of the company associated with the new cloned project. If not provided, the company of the original project will be used.
days_offset string optional DaysOffset is the number of days to shift all scheduled dates in the cloned project relative to the base date. When cloning from a template, it defines the project duration span. When copying an existing project, it shifts the original start and end dates by this many days. If omitted, calculated automatically from the source project's date range.
description string optional The description of the new cloned project. If not provided, the description of the original project will be used.
name string optional The name of the new cloned project. If not provided, the name of the original project will be used with an incremental suffix (e.g., 'Project Name (1)').
new_from_template string optional Indicates whether the new project should be a regular one created from a template.
target_date string optional Desired start or end date for the cloned project (chosen by template_date_target). Only applies when new_from_template=true. Format: YYYYMMDD. Defaults to today.
template_date_target string optional Specifies whether target_date represents the project's start or end date. When 'end', the start date is calculated by subtracting the template project's duration from target_date. Only applicable when new_from_template=true.
to_template string optional Indicates whether the new project should be set as a template.

Tool: twprojects-complete_task

Mark task complete.

Parameters Type Description
id integer The ID of the task to mark as complete.

Tool: twprojects-complete_timer

Stop a timer permanently and convert it to a timelog. Use pause_timer to pause without converting.

Parameters Type Description
id integer The ID of the timer to complete.

Tool: twprojects-create_comment

Create comment on a task, milestone, notebook, file, or link.

Parameters Type Description
body string The content of the comment. The content can be added as text or HTML.
object object The object to create the comment for. It can be a tasks, milestones, files or notebooks.
content_type string optional The content type of the comment. It can be either 'TEXT' or 'HTML'.
notify string optional Who to notify of the new comment.
notify_current_user string optional Whether the current user should be notified about the new comment.

Tool: twprojects-create_company

Create company (aka client).

Parameters Type Description
name string The name of the company.
address_one string optional The first line of the address of the company.
address_two string optional The second line of the address of the company.
city string optional The city of the company.
country_code string optional The country code of the company, e.g., 'US' for the United States.
email_one string optional The primary email address of the company.
email_three string optional The tertiary email address of the company.
email_two string optional The secondary email address of the company.
fax string optional The fax number of the company.
industry_id string optional The ID of the industry the company belongs to.
manager_id string optional The ID of the user who manages the company.
phone string optional The phone number of the company.
profile string optional A profile description for the company.
state string optional The state of the company.
tag_ids string optional A list of tag IDs to associate with the company.
website string optional The website of the company.
zip string optional The ZIP or postal code of the company.

Tool: twprojects-create_custom_field

Create custom field.

Parameters Type Description
entity string The type of entity this custom field can be applied to. Use 'all' for installation-level custom fields that are available across the workspace.
name string The display name of the custom field.
type string The data type of the custom field.
currency_code string optional The ISO currency code for 'currency' or 'financial' type custom fields.
description string optional An optional description for the custom field.
formula string optional The formula expression for 'formula' type custom fields.
options string optional Type-specific options for the custom field. For 'dropdown' and 'multiselect' types, provide {"choices": [{"value": "...", "color": "#rrggbb"}, ...]}. For 'rating' type, provide {"icon": "star
project_id string optional The ID of the project to scope the custom field to. When omitted, the custom field is created at the installation level.
required string optional Whether the custom field must have a value when set on an entity.
unit string optional The unit associated with the custom field, when applicable.

Tool: twprojects-create_custom_field_value

Set a custom field value on a task, project or company. The custom field must already exist and be applicable to the target entity.

Parameters Type Description
custom_field_id integer The ID of the custom field the value belongs to.
entity string The type of entity the custom field value is attached to.
entity_id integer The ID of the task, project or company the custom field value is attached to.
value string The value to assign to the custom field. The concrete type depends on the custom field definition: strings for text fields, numbers for number fields, booleans for checkboxes, option IDs for dropdown fields (array of integers for multiselect), ISO-8601 date strings for date fields.
country_code string optional The country code for currency-type custom field values.
currency_code string optional The ISO currency code for currency-type custom field values.

Tool: twprojects-create_custom_item

Create a new custom item type (e.g. Contracts, Leads, Deals) on a project. Custom items are user-defined entity types — Contracts, Leads, Deals, or anything else a customer has set up on a project. Use these tools when the user refers to an entity that is NOT a built-in Teamwork concept (Task, Tasklist, Project, Milestone, Comment, Notebook, Company, Team, User, Tag). If you don't recognise an entity name in the user's request, assume it is a custom item and call twprojects-list_custom_items on the relevant project to confirm.

Parameters Type Description
display_name string The display name of the custom item type (e.g. "Contracts").
project_id integer Project ID that will own the new custom item type.
description string optional An optional human-readable description for the custom item type.
label_plural string optional Plural label for many records (e.g. "Contracts"). Defaults to the display name when omitted.
label_singular string optional Singular label for one record (e.g. "Contract"). Defaults to the display name when omitted.

Tool: twprojects-create_custom_item_field

Add a field (column) to a custom item type. Field types include text, number, dropdown, multiselect, checkbox, url, user, date, time and datetime. Custom items are user-defined entity types — Contracts, Leads, Deals, or anything else a customer has set up on a project. Use these tools when the user refers to an entity that is NOT a built-in Teamwork concept (Task, Tasklist, Project, Milestone, Comment, Notebook, Company, Team, User, Tag). If you don't recognise an entity name in the user's request, assume it is a custom item and call twprojects-list_custom_items on the relevant project to confirm.

Parameters Type Description
custom_item_id integer Custom item type ID that will own the new field.
display_name string Human-readable name of the field (e.g. "Status").
type string Field data type.
definition string optional Optional type-specific configuration as a JSON object. Examples: for number-decimal fields {"precision": "2", "unit": {"type": "currency"}}; for user fields {"limit": 1, "source": "workspace"}. See the API docs for the exact shape per type.
options string optional Choices for dropdown/multiselect fields. Each option is {label: "Active", color: "#22c55e"}.
position_after_id string optional Place this field after the given field ID. Null appends to the end.
tw_type string optional Optional sub-classification for dropdown fields. Use "status" for a Status field.

Tool: twprojects-create_custom_item_record

Create a record (row) on a custom item type. For example, add a Contract on the Contracts type. Pass field values by name; the tool resolves names to the API's internal IDs. Custom items are user-defined entity types — Contracts, Leads, Deals, or anything else a customer has set up on a project. Use these tools when the user refers to an entity that is NOT a built-in Teamwork concept (Task, Tasklist, Project, Milestone, Comment, Notebook, Company, Team, User, Tag). If you don't recognise an entity name in the user's request, assume it is a custom item and call twprojects-list_custom_items on the relevant project to confirm.

Parameters Type Description
custom_item_id integer Custom item type ID that will own the new record.
name string Display name of the record (e.g. "Acme Inc Contract").
field_values string optional Field values to set on the record. Each entry is {field_name, value}. Field names are matched case-insensitively against the custom item type's fields. Values are coerced by field type: dropdown/multiselect accept option labels or option twIds; date/time/datetime accept ISO-8601 strings; checkbox accepts bool or yes/no/true/false; number accepts numeric or numeric string; user accepts a user ID (or array of IDs for multi-user fields). To clear a field, send null.
position_after_id string optional Place the record after the given record ID. Null appends to the end.
section_id string optional Optional section ID to place the record in.

Tool: twprojects-create_jobrole

Create job role.

Parameters Type Description
name string The name of the job role.

Create link.

Parameters Type Description
code string The URL of the link. This is the actual web address that the link points to.
project_id integer The ID of the project to create the link in.
description string optional The description of the link. Longer text that provides detailed information about the link.
notify string optional Who to notify of the new link.
notify_current_user string optional Whether the current user should be notified about the new link.
tag_ids string optional A list of tag IDs to associate with the link.
title string optional The title of the link, which provides a brief summary of the purpose of the link.

Tool: twprojects-create_message

Create message in a project.

Parameters Type Description
body string The body of the message.
project_id integer The ID of the project to create the message in.
title string The title of the message.
notify string optional Who to notify of the new message.
notify_current_user string optional Whether the current user should be notified about the new message.

Tool: twprojects-create_message_reply

Create message reply.

Parameters Type Description
body string The body of the message reply.
message_id integer The ID of the message to create the reply in.
notify string optional Who to notify of the new reply.
notify_current_user string optional Whether the current user should be notified about the new message reply.

Tool: twprojects-create_milestone

Create milestone in a project.

Parameters Type Description
assignees object Assignees for the milestone.
due_date string The due date of the milestone (format: YYYYMMDD). Used for related tasks without their own due date.
name string The name of the milestone.
project_id integer The ID of the project to create the milestone in.
description string optional A description of the milestone.
tag_ids string optional A list of tag IDs to associate with the milestone.
tasklist_ids string optional Tasklists to associate with the milestone.

Tool: twprojects-create_notebook

Create notebook in a project.

Parameters Type Description
contents string The contents of the notebook.
name string The name of the notebook.
project_id integer The ID of the project to create the notebook in.
type string The type of the notebook.
description string optional A description of the notebook.
tag_ids string optional A list of tag IDs to associate with the notebook.

Tool: twprojects-create_project

Create project.

Parameters Type Description
name string The name of the project.
category_id string optional The ID of the category to which the project belongs.
company_id string optional The ID of the company associated with the project.
description string optional The description of the project.
end_at string optional End date of the project (format: YYYYMMDD).
owned_id string optional The ID of the user who owns the project.
start_at string optional Start date of the project (format: YYYYMMDD).
tag_ids string optional A list of tag IDs to associate with the project.

Tool: twprojects-create_project_category

Create project category.

Parameters Type Description
name string The name of the project category.
color string optional The color of the project category in hex format (e.g., #FF5733).
parent_id string optional The ID of the parent project category, if any. This allows for nested categories.

Tool: twprojects-create_project_template

Create project template.

Parameters Type Description
name string The name of the project template.
category_id string optional The ID of the category to which the project template belongs.
company_id string optional The ID of the company associated with the project template.
description string optional The description of the project template.
end_at string optional End date of the project template (format: YYYYMMDD).
owned_id string optional The ID of the user who owns the project template.
start_at string optional Start date of the project template (format: YYYYMMDD).
tag_ids string optional A list of tag IDs to associate with the project template.

Tool: twprojects-create_skill

Create skill.

Parameters Type Description
name string The name of the skill.
user_ids string optional The user IDs associated with the skill.

Tool: twprojects-create_tag

Create tag.

Parameters Type Description
name string The name of the tag. It must have less than 50 characters.
project_id string optional The ID of the project to associate the tag with. This is for project-scoped tags.

Tool: twprojects-create_task

Create task in a tasklist.

Parameters Type Description
name string The name of the task.
tasklist_id integer Tasklist ID. Use twprojects-list_tasklists to find one.
assignees string optional Assignees for the task.
change_followers string optional Followers of any task changes.
comment_followers string optional Followers of any task comments.
complete_followers string optional Followers of any task completions.
description string optional The description of the task. Support for plain text and Markdown formatting.
due_date string optional The due date of the task. If omitted, falls back to the milestone due date when one is set.
estimated_minutes string optional The estimated time to complete the task in minutes.
parent_task_id string optional The ID of the parent task if creating a subtask.
predecessors string optional Task dependencies that must be completed before this task can start.
priority string optional The priority of the task.
progress string optional The progress of the task, as a percentage (0-100). Only whole numbers are allowed.
start_date string optional The start date of the task.
tag_ids string optional A list of tag IDs to associate with the task.

Tool: twprojects-create_tasklist

Create tasklist in a project.

Parameters Type Description
name string The name of the tasklist.
project_id integer The ID of the project to create the tasklist in.
description string optional The description of the tasklist.
milestone_id string optional The ID of the milestone to associate with the tasklist.

Tool: twprojects-create_team

Create team.

Parameters Type Description
name string The name of the team.
company_id string optional The ID of the company. This is used to create a team scoped for a specific company.
description string optional The description of the team.
handle string optional The handle of the team. It is a unique identifier for the team. It must not have spaces or special characters.
parent_team_id string optional The ID of the parent team. This is used to create a hierarchy of teams.
project_id string optional The ID of the project. This is used to create a team scoped for a specific project.
user_ids string optional Users to add to the team.

Tool: twprojects-create_timelog

Create timelog entry against a project or task.

Parameters Type Description
date string The date of the timelog.
hours integer The number of hours spent on the timelog. Must be a positive integer.
minutes integer Minutes spent on the timelog. Must be a positive integer less than 60; otherwise increment hours instead.
time string The time of the timelog in the format HH:MM:SS.
billable string optional If true, the timelog is billable.
description string optional A description of the timelog.
is_utc string optional If true, the time is in UTC.
project_id string optional Project the timelog is logged against. Provide exactly one of project_id or task_id.
tag_ids string optional A list of tag IDs to associate with the timelog.
task_id string optional Task the timelog is logged against. Provide exactly one of project_id or task_id.
user_id string optional User the timelog is logged for. Defaults to the authenticated user.

Tool: twprojects-create_timer

Create and start a timer.

Parameters Type Description
project_id integer The ID of the project to associate the timer with.
billable string optional If true, the timer is billable.
description string optional A description of the timer.
running string optional If true, the timer will start running immediately.
seconds string optional The number of seconds to set the timer for.
stop_running_timers string optional If true, any other running timers will be stopped when this timer is created.
task_id string optional The ID of the task to associate the timer with.

Tool: twprojects-create_user

Create user.

Parameters Type Description
email string The email address of the user.
first_name string The first name of the user.
last_name string The last name of the user.
admin string optional Indicates whether the user is an administrator.
company_id string optional The ID of the client/company to which the user belongs.
title string optional The job title of the user, such as 'Project Manager' or 'Senior Software Developer'.
type string optional The type of user, such as 'account', 'collaborator', or 'contact'.

Tool: twprojects-create_workflow

Create workflow.

Parameters Type Description
name string The name of the workflow.

Tool: twprojects-create_workflow_stage

Create workflow stage.

Parameters Type Description
name string The name of the workflow stage.
workflow_id integer The ID of the workflow to add the stage to.

Tool: twprojects-get_comment

Get comment.

Parameters Type Description
id integer The ID of the comment to get.

This tool is read-only. It does not modify its environment.


Tool: twprojects-get_company

Get company (aka client).

Parameters Type Description
id integer The ID of the company to get.

This tool is read-only. It does not modify its environment.


Tool: twprojects-get_custom_field

Get custom field.

Parameters Type Description
id integer The ID of the custom field to get.

This tool is read-only. It does not modify its environment.


Tool: twprojects-get_custom_field_value

Get a single custom field value from a task, project or company.

Parameters Type Description
entity string The type of entity the custom field value is attached to.
entity_id integer The ID of the task, project or company the custom field value belongs to.
value_id integer The ID of the custom field value entry to retrieve.

This tool is read-only. It does not modify its environment.


Tool: twprojects-get_custom_item

Get a custom item type with its fields and sections inline, so you can see its schema before creating or updating records. Custom items are user-defined entity types — Contracts, Leads, Deals, or anything else a customer has set up on a project. Use these tools when the user refers to an entity that is NOT a built-in Teamwork concept (Task, Tasklist, Project, Milestone, Comment, Notebook, Company, Team, User, Tag). If you don't recognise an entity name in the user's request, assume it is a custom item and call twprojects-list_custom_items on the relevant project to confirm.

Parameters Type Description
id integer Custom item type ID to retrieve.

This tool is read-only. It does not modify its environment.


Tool: twprojects-get_custom_item_field

Get a single field on a custom item type. Custom items are user-defined entity types — Contracts, Leads, Deals, or anything else a customer has set up on a project. Use these tools when the user refers to an entity that is NOT a built-in Teamwork concept (Task, Tasklist, Project, Milestone, Comment, Notebook, Company, Team, User, Tag). If you don't recognise an entity name in the user's request, assume it is a custom item and call twprojects-list_custom_items on the relevant project to confirm.

Parameters Type Description
custom_item_id integer Custom item type ID the field belongs to.
id integer Field ID.

This tool is read-only. It does not modify its environment.


Tool: twprojects-get_custom_item_record

Get a single record. Field values come back keyed by display name with dropdown values translated to their human-readable labels. Custom items are user-defined entity types — Contracts, Leads, Deals, or anything else a customer has set up on a project. Use these tools when the user refers to an entity that is NOT a built-in Teamwork concept (Task, Tasklist, Project, Milestone, Comment, Notebook, Company, Team, User, Tag). If you don't recognise an entity name in the user's request, assume it is a custom item and call twprojects-list_custom_items on the relevant project to confirm.

Parameters Type Description
custom_item_id integer Custom item type ID the record belongs to.
id integer Record ID.

This tool is read-only. It does not modify its environment.


Tool: twprojects-get_jobrole

Get job role.

Parameters Type Description
id integer The ID of the job role to get.

This tool is read-only. It does not modify its environment.


Get link.

Parameters Type Description
id integer The ID of the link to get.

This tool is read-only. It does not modify its environment.


Tool: twprojects-get_message

Get message.

Parameters Type Description
id integer The ID of the message to get.

This tool is read-only. It does not modify its environment.


Tool: twprojects-get_message_reply

Get message reply.

Parameters Type Description
id integer The ID of the message reply to get.

This tool is read-only. It does not modify its environment.


Tool: twprojects-get_milestone

Get milestone.

Parameters Type Description
id integer The ID of the milestone to get.

This tool is read-only. It does not modify its environment.


Tool: twprojects-get_notebook

Get notebook.

Parameters Type Description
id integer The ID of the notebook to get.

This tool is read-only. It does not modify its environment.


Tool: twprojects-get_project

Get project.

Parameters Type Description
id integer The ID of the project to get.

This tool is read-only. It does not modify its environment.


Tool: twprojects-get_project_category

Get project category.

Parameters Type Description
id integer The ID of the project category to get.

This tool is read-only. It does not modify its environment.


Tool: twprojects-get_skill

Get skill.

Parameters Type Description
id integer The ID of the skill to get.

This tool is read-only. It does not modify its environment.


Tool: twprojects-get_tag

Get tag.

Parameters Type Description
id integer The ID of the tag to get.

This tool is read-only. It does not modify its environment.


Tool: twprojects-get_task

Get task.

Parameters Type Description
id integer The ID of the task to get.

This tool is read-only. It does not modify its environment.


Tool: twprojects-get_tasklist

Get tasklist.

Parameters Type Description
id integer The ID of the tasklist to get.

This tool is read-only. It does not modify its environment.


Tool: twprojects-get_team

Get team.

Parameters Type Description
id integer The ID of the team to get.

This tool is read-only. It does not modify its environment.


Tool: twprojects-get_timelog

Get timelog.

Parameters Type Description
id integer The ID of the timelog to get.

This tool is read-only. It does not modify its environment.


Tool: twprojects-get_timer

Get timer.

Parameters Type Description
id integer The ID of the timer to get.

This tool is read-only. It does not modify its environment.


Tool: twprojects-get_user

Get user.

Parameters Type Description
id integer The ID of the user to get.

This tool is read-only. It does not modify its environment.


Tool: twprojects-get_user_me

Get the currently authenticated user.

Tool: twprojects-get_workflow

Get workflow.

Parameters Type Description
id integer The ID of the workflow to get.

This tool is read-only. It does not modify its environment.


Tool: twprojects-get_workflow_stage

Get workflow stage.

Parameters Type Description
id integer The ID of the workflow stage to get.
workflow_id integer The ID of the workflow that owns the stage.

This tool is read-only. It does not modify its environment.


Link a project to a workflow so its tasks track through workflow stages.

Parameters Type Description
project_id integer The ID of the project to link to the workflow.
workflow_id integer The ID of the workflow to link the project to.

Tool: twprojects-list_activities

List recent activity events. Scope by project_id or omit for site-wide.

Parameters Type Description
end_date string optional End of the activity window.
log_item_types string optional Filter activities by item types.
page string optional Page number for pagination of results.
page_size string optional Number of results per page for pagination.
project_id string optional The ID of the project to retrieve activities from. Omit to list activities across all projects.
start_date string optional Start of the activity window.
verbose string optional If false, returns id + name only — useful when scanning many results.

This tool is read-only. It does not modify its environment.


Tool: twprojects-list_calendar_events

List events from a calendar, including time-blocking events that link a calendar slot to a Teamwork project, task or timelog. Use twprojects-list_calendars to find the calendar ID; the calendar of type 'blocked_time' holds the account's time-blocking events.

Parameters Type Description
calendar_id integer The ID of the calendar to list events from.
cursor string optional Cursor for fetching the next page of results.
ended_before_date string optional Filter events that end before this date (format: YYYY-MM-DD).
limit string optional Maximum number of events to return.
started_after_date string optional Filter events that start after this date (format: YYYY-MM-DD).
verbose string optional If false, returns id + name only — useful when scanning many results.

This tool is read-only. It does not modify its environment.


Tool: twprojects-list_calendars

List calendars. Calendars hold events such as meetings, out-of-office periods and time-blocking entries; the calendar of type 'blocked_time' holds the account's time-blocking events.

Parameters Type Description
page string optional Page number for pagination of results.
page_size string optional Number of results per page for pagination.
verbose string optional If false, returns id + name only — useful when scanning many results.

This tool is read-only. It does not modify its environment.


Tool: twprojects-list_comments

List comments. Scope by one of task_id, milestone_id, notebook_id, link_id, or file_version_id; omit all for site-wide.

Parameters Type Description
file_version_id string optional The ID of the file version to retrieve comments for. Each file can have multiple versions, and comments can be associated with specific versions.
link_id string optional The ID of the link to retrieve comments for. Provide this to scope comments to a link.
milestone_id string optional The ID of the milestone to retrieve comments for. Provide this to scope comments to a milestone.
notebook_id string optional The ID of the notebook to retrieve comments for. Provide this to scope comments to a notebook.
page string optional Page number for pagination of results.
page_size string optional Number of results per page for pagination.
search_term string optional A search term to filter comments by name.
task_id string optional The ID of the task to retrieve comments for. Provide this to scope comments to a task.
updated_after string optional Filter comments updated after. Defaults to the last 3 months.
verbose string optional If false, returns id + name only — useful when scanning many results.

This tool is read-only. It does not modify its environment.


Tool: twprojects-list_companies

List companies (aka clients).

Parameters Type Description
match_all_tags string optional If true, match all tags; if false, match any.
page string optional Page number for pagination of results.
page_size string optional Number of results per page for pagination.
search_term string optional A search term to filter companies by name. Each word from the search term is used to match against the company name.
tag_ids string optional A list of tag IDs to filter companies by tags.
verbose string optional If false, returns id + name only — useful when scanning many results.

This tool is read-only. It does not modify its environment.


Tool: twprojects-list_custom_field_values

List the custom field values of a task, project or company.

Parameters Type Description
entity string The type of entity to list custom field values for.
entity_id integer The ID of the task, project or company to list custom field values for.
custom_field_ids string optional Filter by custom field.
page string optional Page number for pagination of results.
page_size string optional Number of results per page for pagination.
verbose string optional If false, returns id + name only — useful when scanning many results.

This tool is read-only. It does not modify its environment.


Tool: twprojects-list_custom_fields

List custom fields.

Parameters Type Description
entities string optional Filter custom fields by entity type.
ids string optional Custom field IDs to retrieve.
include_site_level string optional Whether to also include installation-level custom fields when filtering by project.
only_project_level string optional Whether to return only project-level custom fields.
only_site_level string optional Whether to return only installation-level custom fields.
order_by string optional The field to sort the results by.
order_mode string optional The direction to sort the results in.
page string optional Page number for pagination of results.
page_size string optional Number of results per page for pagination.
project_ids string optional Filter custom fields by project.
search_term string optional A search term to filter custom fields by name.
show_deleted string optional Whether to include deleted custom fields in the results.
verbose string optional If false, returns id + name only — useful when scanning many results.

This tool is read-only. It does not modify its environment.


Tool: twprojects-list_custom_item_fields

List fields on a custom item type. Each entry includes the twId you need when writing record values. Custom items are user-defined entity types — Contracts, Leads, Deals, or anything else a customer has set up on a project. Use these tools when the user refers to an entity that is NOT a built-in Teamwork concept (Task, Tasklist, Project, Milestone, Comment, Notebook, Company, Team, User, Tag). If you don't recognise an entity name in the user's request, assume it is a custom item and call twprojects-list_custom_items on the relevant project to confirm.

Parameters Type Description
custom_item_id integer Custom item type ID to list fields for.
ids string optional Restrict to these field IDs.
order_mode string optional The direction to order the results by (asc, desc).
page string optional Page number for pagination of results.
page_size string optional Number of results per page for pagination.
search_term string optional A search term to filter custom item fields by display name.
show_deleted string optional Include deleted fields.

This tool is read-only. It does not modify its environment.


Tool: twprojects-list_custom_item_records

List records on a custom item type. Returns each record with field values keyed by display name. Use the section_ids filter to scope to a specific section. Custom items are user-defined entity types — Contracts, Leads, Deals, or anything else a customer has set up on a project. Use these tools when the user refers to an entity that is NOT a built-in Teamwork concept (Task, Tasklist, Project, Milestone, Comment, Notebook, Company, Team, User, Tag). If you don't recognise an entity name in the user's request, assume it is a custom item and call twprojects-list_custom_items on the relevant project to confirm.

Parameters Type Description
custom_item_id integer Custom item type ID to list records for.
ids string optional Restrict to these record IDs.
order_by string optional Field to sort by.
order_mode string optional The direction to order the results by (asc, desc).
page string optional Page number for pagination of results.
page_size string optional Number of results per page for pagination.
search_term string optional A search term to filter custom item records by name.
section_ids string optional Restrict to records in these sections.
show_deleted string optional Include deleted records.

This tool is read-only. It does not modify its environment.


Tool: twprojects-list_custom_items

List the custom item types defined on a project. Returns each type's id, display name and labels — call get_custom_item to see a type's fields and sections. Custom items are user-defined entity types — Contracts, Leads, Deals, or anything else a customer has set up on a project. Use these tools when the user refers to an entity that is NOT a built-in Teamwork concept (Task, Tasklist, Project, Milestone, Comment, Notebook, Company, Team, User, Tag). If you don't recognise an entity name in the user's request, assume it is a custom item and call twprojects-list_custom_items on the relevant project to confirm.

Parameters Type Description
project_id integer Project ID to list custom item types for.
ids string optional Restrict to these custom item type IDs.
order_by string optional Field to sort by.
order_mode string optional The direction to order the results by (asc, desc).
page string optional Page number for pagination of results.
page_size string optional Number of results per page for pagination.
search_term string optional A search term to filter custom items by display name or labels.
show_deleted string optional Include deleted custom item types.

This tool is read-only. It does not modify its environment.


Tool: twprojects-list_industries

List supported company (aka client) industries.

Tool: twprojects-list_jobroles

List job roles.

Parameters Type Description
page string optional Page number for pagination of results.
page_size string optional Number of results per page for pagination.
search_term string optional A search term to filter job roles by name, or assigned users. The job role will be selected if each word of the term matches the name, or assigned user first or last name, not requiring that the word matches are in the same field.
verbose string optional If false, returns id + name only — useful when scanning many results.

This tool is read-only. It does not modify its environment.


List links.

Parameters Type Description
match_all_tags string optional If true, match all tags; if false, match any.
page string optional Page number for pagination of results.
page_size string optional Number of results per page for pagination.
project_id string optional The ID of the project to filter links by.
search_term string optional A search term to filter links by title or description. Each word from the search term is used to match against the link title or description. The link will be selected if each word of the term matches the link title or description, not requiring that the word matches are in the same field.
tag_ids string optional A list of tag IDs to filter links by tags.
verbose string optional If false, returns id + name only — useful when scanning many results.

This tool is read-only. It does not modify its environment.


Tool: twprojects-list_message_replies

List replies under a message thread. Filter by message_ids or project_ids.

Parameters Type Description
message_ids string optional Filter by message.
page string optional Page number for pagination of results.
page_size string optional Number of results per page for pagination.
project_ids string optional Filter by project.
search_term string optional A search term to filter message replies by body or title. Each word from the search term is used to match against the message reply body or title. The message reply will be selected if each word of the term matches the message reply body or title, not requiring that the word matches are in the same field.
verbose string optional If false, returns id + name only — useful when scanning many results.

This tool is read-only. It does not modify its environment.


Tool: twprojects-list_messages

List project messages (top-level posts). Use twprojects-list_message_replies for thread replies.

Parameters Type Description
match_all_tags string optional If true, match all tags; if false, match any.
page string optional Page number for pagination of results.
page_size string optional Number of results per page for pagination.
project_ids string optional Filter messages by project.
search_term string optional A search term to filter messages by body or title. Each word from the search term is used to match against the message body or title. The message will be selected if each word of the term matches the message body or title, not requiring that the word matches are in the same field.
tag_ids string optional A list of tag IDs to filter messages by tags.
verbose string optional If false, returns id + name only — useful when scanning many results.

This tool is read-only. It does not modify its environment.


Tool: twprojects-list_milestones

List milestones. Scope by project_id or omit for site-wide.

Parameters Type Description
match_all_tags string optional If true, match all tags; if false, match any.
page string optional Page number for pagination of results.
page_size string optional Number of results per page for pagination.
project_id string optional The ID of the project from which to retrieve milestones. Omit to list milestones across all projects.
search_term string optional A search term to filter milestones by name. Each word from the search term is used to match against the milestone name and description. The milestone will be selected if each word of the term matches the milestone name or description, not requiring that the word matches are in the same field.
tag_ids string optional A list of tag IDs to filter milestones by tags.
verbose string optional If false, returns id + name only — useful when scanning many results.

This tool is read-only. It does not modify its environment.


Tool: twprojects-list_notebooks

List notebooks.

Parameters Type Description
include_contents string optional If true, include notebook contents in the response.
match_all_tags string optional If true, match all tags; if false, match any.
page string optional Page number for pagination of results.
page_size string optional Number of results per page for pagination.
project_ids string optional Filter notebooks by project.
search_term string optional A search term to filter notebooks by name or description. The notebook will be selected if each word of the term matches the notebook name or description, not requiring that the word matches are in the same field.
tag_ids string optional A list of tag IDs to filter notebooks by tags.
verbose string optional If false, returns id + name only — useful when scanning many results.

This tool is read-only. It does not modify its environment.


Tool: twprojects-list_project_budgets

List project budgets (top-level project financial budgets). Filter by project_ids or status.

Parameters Type Description
cursor string optional Cursor for fetching the next page of results.
limit string optional Maximum number of budgets to return.
page_size string optional Number of results per page for pagination.
project_ids string optional Filter budgets by project.
status string optional Filter budgets by status.
verbose string optional If false, returns id + name only — useful when scanning many results.

This tool is read-only. It does not modify its environment.


Tool: twprojects-list_project_categories

List project categories.

Parameters Type Description
page string optional Page number for pagination of results.
page_size string optional Number of results per page for pagination.
search_term string optional A search term to filter project categories by name.
verbose string optional If false, returns id + name only — useful when scanning many results.

This tool is read-only. It does not modify its environment.


Tool: twprojects-list_project_templates

List project templates.

Parameters Type Description
match_all_tags string optional If true, match all tags; if false, match any.
page string optional Page number for pagination of results.
page_size string optional Number of results per page for pagination.
project_category_ids string optional Filter project templates by category.
search_term string optional A search term to filter project templates by name or description.
tag_ids string optional A list of tag IDs to filter project templates by tags.

This tool is read-only. It does not modify its environment.


Tool: twprojects-list_projects

List projects.

Parameters Type Description
match_all_tags string optional If true, match all tags; if false, match any.
page string optional Page number for pagination of results.
page_size string optional Number of results per page for pagination.
project_category_ids string optional Filter projects by category.
search_term string optional A search term to filter projects by name or description.
tag_ids string optional A list of tag IDs to filter projects by tags.
verbose string optional If false, returns id + name only — useful when scanning many results.

This tool is read-only. It does not modify its environment.


Tool: twprojects-list_skills

List skills.

Parameters Type Description
page string optional Page number for pagination of results.
page_size string optional Number of results per page for pagination.
search_term string optional A search term to filter skills by name, or assigned users. The skill will be selected if each word of the term matches the name, or assigned user first or last name, not requiring that the word matches are in the same field.
verbose string optional If false, returns id + name only — useful when scanning many results.

This tool is read-only. It does not modify its environment.


Tool: twprojects-list_tags

List tags.

Parameters Type Description
item_type string optional Filter tags by item type.
page string optional Page number for pagination of results.
page_size string optional Number of results per page for pagination.
project_ids string optional Filter by project.
search_term string optional A search term to filter tags by name. Each word from the search term is used to match against the tag name.
verbose string optional If false, returns id + name only — useful when scanning many results.

This tool is read-only. It does not modify its environment.


Tool: twprojects-list_tasklist_budgets

List tasklist budgets nested under a project budget. Requires project_budget_id.

Parameters Type Description
project_budget_id integer The ID of the project budget to list tasklist budgets for.
page string optional Page number for pagination of results.
page_size string optional Number of results per page for pagination.
verbose string optional If false, returns id + name only — useful when scanning many results.

This tool is read-only. It does not modify its environment.


Tool: twprojects-list_tasklists

List tasklists. Scope by project_id or omit for site-wide.

Parameters Type Description
page string optional Page number for pagination of results.
page_size string optional Number of results per page for pagination.
project_id string optional The ID of the project from which to retrieve tasklists. Omit to list tasklists across all projects.
search_term string optional A search term to filter tasklists by name.
verbose string optional If false, returns id + name only — useful when scanning many results.

This tool is read-only. It does not modify its environment.


Tool: twprojects-list_tasks

List tasks with structured filters (tasklist_id, project_id, or site-wide). For keyword search use search.

Parameters Type Description
assignee_user_ids string optional Filter tasks by assignee.
completed_after string optional Filter tasks completed after.
completed_before string optional Filter tasks completed before.
created_after string optional Filter tasks created after.
created_before string optional Filter tasks created before.
created_by_user_ids string optional Filter tasks by creator.
match_all_tags string optional If true, match all tags; if false, match any.
page string optional Page number for pagination of results.
page_size string optional Number of results per page for pagination.
project_id string optional The ID of the project from which to retrieve tasks. Omit to list tasks across all projects.
search_term string optional A search term to filter tasks by name.
tag_ids string optional A list of tag IDs to filter tasks by tags.
tasklist_id string optional The ID of the tasklist from which to retrieve tasks. Takes precedence over project_id.
updated_after string optional Filter tasks updated after.
updated_before string optional Filter tasks updated before.
verbose string optional If false, returns id + name only — useful when scanning many results.

This tool is read-only. It does not modify its environment.


Tool: twprojects-list_teams

List teams. Scope by company_id or project_id, or omit for site-wide.

Parameters Type Description
company_id string optional The ID of the company from which to retrieve teams. Omit to list teams across all companies.
page string optional Page number for pagination of results.
page_size string optional Number of results per page for pagination.
project_id string optional The ID of the project from which to retrieve teams. Omit to list teams across all projects.
search_term string optional A search term to filter teams by name or handle.
verbose string optional If false, returns id + name only — useful when scanning many results.

This tool is read-only. It does not modify its environment.


Tool: twprojects-list_timelogs

List timelogs. Scope by project_id or task_id, or omit for site-wide.

Parameters Type Description
assigned_company_ids string optional Filter timelogs by assigned company.
assigned_team_ids string optional Filter timelogs by assigned team.
assigned_user_ids string optional Filter timelogs by assigned user.
end_date string optional End of the timelog window.
match_all_tags string optional If true, match all tags; if false, match any.
page string optional Page number for pagination of results.
page_size string optional Number of results per page for pagination.
project_id string optional The ID of the project from which to retrieve timelogs. Omit to list timelogs across all projects.
start_date string optional Start of the timelog window.
tag_ids string optional A list of tag IDs to filter timelogs by tags.
task_id string optional The ID of the task from which to retrieve timelogs. Omit to list timelogs across all tasks.
ticketIds string optional Filter timelogs by associated desk ticket.
verbose string optional If false, returns id + name only — useful when scanning many results.

This tool is read-only. It does not modify its environment.


Tool: twprojects-list_timers

List timers.

Parameters Type Description
page string optional Page number for pagination of results.
page_size string optional Number of results per page for pagination.
project_id string optional The ID of the project to filter timers by. Only timers associated with this project will be returned.
running_timers_only string optional If true, only running timers are returned.
task_id string optional The ID of the task to filter timers by. Only timers associated with this task will be returned.
user_id string optional The ID of the user to filter timers by. Only timers associated with this user will be returned.
verbose string optional If false, returns id + name only — useful when scanning many results.

This tool is read-only. It does not modify its environment.


Tool: twprojects-list_users

List users. Scope by project_id or filter by type (account/collaborator/contact).

Parameters Type Description
page string optional Page number for pagination of results.
page_size string optional Number of results per page for pagination.
project_id string optional The ID of the project from which to retrieve users. Omit to list users across all projects.
search_term string optional A search term to filter users by first or last names, or e-mail. The user will be selected if each word of the term matches the first or last name, or e-mail, not requiring that the word matches are in the same field.
type string optional Type of user to filter by. The available options are account, collaborator or contact.
verbose string optional If false, returns id + name only — useful when scanning many results.

This tool is read-only. It does not modify its environment.


Tool: twprojects-list_workflow_stages

List workflow stages.

Parameters Type Description
workflow_id integer The ID of the workflow whose stages to list.
page string optional Page number for pagination of results.
page_size string optional Number of results per page for pagination.
verbose string optional If false, returns id + name only — useful when scanning many results.

This tool is read-only. It does not modify its environment.


Tool: twprojects-list_workflows

List workflows.

Parameters Type Description
page string optional Page number for pagination of results.
page_size string optional Number of results per page for pagination.
search_term string optional A search term to filter workflows by name.
verbose string optional If false, returns id + name only — useful when scanning many results.

This tool is read-only. It does not modify its environment.


Tool: twprojects-move_task_to_workflow_stage

Move a task to a workflow stage.

Parameters Type Description
stage_id integer The ID of the workflow stage to move the task to.
task_id integer The ID of the task to move.
workflow_id integer The ID of the workflow that contains the target stage.

Tool: twprojects-pause_timer

Pause a running timer; can be resumed later. Use complete_timer to stop permanently.

Parameters Type Description
id integer The ID of the timer to pause.

Tool: twprojects-resume_timer

Resume a paused timer back to running.

Parameters Type Description
id integer The ID of the timer to resume.

Cross-entity keyword search across projects, tasks, files, messages, and more.

Parameters Type Description
search_term string A search term to to look for items.
cursor string optional Cursor for pagination of results.
extended_search string optional Whether to perform an extended search, which includes items updated more than 5 years ago.
include_completed_items string optional Whether to include completed items in the search results.
limit string optional Number of results per page for pagination.
project_id string optional The ID of the project to limit the search to.
updated_after string optional Only include items updated after this date.

This tool is read-only. It does not modify its environment.


Tool: twprojects-update_comment

Update comment.

Parameters Type Description
body string The content of the comment. The content can be added as text or HTML.
id integer The ID of the comment to update.
content_type string optional The content type of the comment. It can be either 'TEXT' or 'HTML'.
notify string optional Who to notify of the comment change.
notify_current_user string optional Whether the current user should be notified about the comment change.

Tool: twprojects-update_company

Update company (aka client).

Parameters Type Description
id integer The ID of the company to update.
address_one string optional The first line of the address of the company.
address_two string optional The second line of the address of the company.
city string optional The city of the company.
country_code string optional The country code of the company, e.g., 'US' for the United States.
email_one string optional The primary email address of the company.
email_three string optional The tertiary email address of the company.
email_two string optional The secondary email address of the company.
fax string optional The fax number of the company.
industry_id string optional The ID of the industry the company belongs to.
manager_id string optional The ID of the user who manages the company.
name string optional The name of the company.
phone string optional The phone number of the company.
profile string optional A profile description for the company.
state string optional The state of the company.
tag_ids string optional A list of tag IDs to associate with the company.
website string optional The website of the company.
zip string optional The ZIP or postal code of the company.

Tool: twprojects-update_custom_field

Update custom field.

Parameters Type Description
id integer The ID of the custom field to update.
currency_code string optional The ISO currency code for 'currency' or 'financial' type custom fields.
description string optional An optional description for the custom field.
formula string optional The formula expression for 'formula' type custom fields.
name string optional The display name of the custom field.
options string optional Type-specific options for the custom field. For 'dropdown' and 'multiselect' types, provide {"choices": [{"value": "...", "color": "#rrggbb"}, ...]}. For 'rating' type, provide {"icon": "star
required string optional Whether the custom field must have a value when set on an entity.
unit string optional The unit associated with the custom field, when applicable.

Tool: twprojects-update_custom_field_value

Update a custom field value on a task, project or company.

Parameters Type Description
custom_field_id integer The ID of the custom field the value belongs to.
entity string The type of entity the custom field value is attached to.
entity_id integer The ID of the task, project or company the custom field value belongs to.
value_id integer The ID of the custom field value entry to update.
country_code string optional The country code for currency-type custom field values.
currency_code string optional The ISO currency code for currency-type custom field values.
value string optional The value to assign to the custom field. The concrete type depends on the custom field definition: strings for text fields, numbers for number fields, booleans for checkboxes, option IDs for dropdown fields (array of integers for multiselect), ISO-8601 date strings for date fields.

Tool: twprojects-update_custom_item

Update a custom item type's display name, description, or labels. Custom items are user-defined entity types — Contracts, Leads, Deals, or anything else a customer has set up on a project. Use these tools when the user refers to an entity that is NOT a built-in Teamwork concept (Task, Tasklist, Project, Milestone, Comment, Notebook, Company, Team, User, Tag). If you don't recognise an entity name in the user's request, assume it is a custom item and call twprojects-list_custom_items on the relevant project to confirm.

Parameters Type Description
id integer Custom item type ID to update.
description string optional New description for the custom item type.
display_name string optional New display name for the custom item type.
label_plural string optional New plural label.
label_singular string optional New singular label.

Tool: twprojects-update_custom_item_field

Update a field on a custom item type. Custom items are user-defined entity types — Contracts, Leads, Deals, or anything else a customer has set up on a project. Use these tools when the user refers to an entity that is NOT a built-in Teamwork concept (Task, Tasklist, Project, Milestone, Comment, Notebook, Company, Team, User, Tag). If you don't recognise an entity name in the user's request, assume it is a custom item and call twprojects-list_custom_items on the relevant project to confirm.

Parameters Type Description
custom_item_id integer Custom item type ID the field belongs to.
id integer Field ID to update.
definition string optional Replacement type-specific configuration as a JSON object.
display_name string optional New display name.
position_after_id string optional Move this field after the given field ID.

Tool: twprojects-update_custom_item_record

Update a record on a custom item type. Only the fields you supply are changed; others are left as-is. Set section_id to null to remove the record from any section. Custom items are user-defined entity types — Contracts, Leads, Deals, or anything else a customer has set up on a project. Use these tools when the user refers to an entity that is NOT a built-in Teamwork concept (Task, Tasklist, Project, Milestone, Comment, Notebook, Company, Team, User, Tag). If you don't recognise an entity name in the user's request, assume it is a custom item and call twprojects-list_custom_items on the relevant project to confirm.

Parameters Type Description
custom_item_id integer Custom item type ID the record belongs to.
id integer Record ID to update.
clear_section string optional Set to true to explicitly clear the record's section. Use this instead of section_id when you want null semantics.
field_values string optional Field values to set on the record. Each entry is {field_name, value}. Field names are matched case-insensitively against the custom item type's fields. Values are coerced by field type: dropdown/multiselect accept option labels or option twIds; date/time/datetime accept ISO-8601 strings; checkbox accepts bool or yes/no/true/false; number accepts numeric or numeric string; user accepts a user ID (or array of IDs for multi-user fields). To clear a field, send null.
name string optional New display name for the record.
position_after_id string optional Move the record after the given record ID.
section_id string optional New section ID, or null to remove the record from any section.

Tool: twprojects-update_jobrole

Update job role.

Parameters Type Description
id integer The ID of the job role to update.
name string optional The name of the job role.

Update link.

Parameters Type Description
id integer The ID of the link to update.
code string optional The URL of the link. This is the actual web address that the link points to.
description string optional The description of the link. Longer text that provides detailed information about the link.
notify string optional Who to notify of the link update.
notify_current_user string optional Whether the current user should be notified about the new link.
tag_ids string optional A list of tag IDs to associate with the link.
title string optional The title of the link, which provides a brief summary of the purpose of the link.

Tool: twprojects-update_message

Update message.

Parameters Type Description
id integer The ID of the message to update.
body string optional The body of the message.
notify string optional Who to notify of the message update.
notify_current_user string optional Whether the current user should be notified about the new message.
project_id string optional The ID of the project to create the message in.
title string optional The title of the message.

Tool: twprojects-update_message_reply

Update message reply.

Parameters Type Description
id integer The ID of the message reply to update.
body string optional The body of the message reply.
notify string optional Who to notify of the reply update.
notify_current_user string optional Whether the current user should be notified about the new messageReply.

Tool: twprojects-update_milestone

Update milestone.

Parameters Type Description
id integer The ID of the milestone to update.
assignees string optional Assignees for the milestone.
description string optional A description of the milestone.
due_date string optional The due date of the milestone (format: YYYYMMDD). Used for related tasks without their own due date.
name string optional The name of the milestone.
tag_ids string optional A list of tag IDs to associate with the milestone.
tasklist_ids string optional Tasklists to associate with the milestone.

Tool: twprojects-update_notebook

Update notebook.

Parameters Type Description
id integer The ID of the notebook to update.
contents string optional The contents of the notebook.
description string optional A description of the notebook.
name string optional The name of the notebook.
tag_ids string optional A list of tag IDs to associate with the notebook.
type string optional The type of the notebook.

Tool: twprojects-update_project

Update project.

Parameters Type Description
id integer The ID of the project to update.
category_id string optional The ID of the category to which the project belongs.
company_id string optional The ID of the company associated with the project.
description string optional The description of the project.
end_at string optional End date of the project (format: YYYYMMDD).
name string optional The name of the project.
owned_id string optional The ID of the user who owns the project.
start_at string optional Start date of the project (format: YYYYMMDD).
status string optional The status of the project.
tag_ids string optional A list of tag IDs to associate with the project.

Tool: twprojects-update_project_category

Update project category.

Parameters Type Description
id integer The ID of the project category to update.
color string optional The color of the project category in hex format (e.g., #FF5733).
name string optional The name of the project category.
parent_id string optional The ID of the parent project category, if any. This allows for nested categories.

Tool: twprojects-update_skill

Update skill.

Parameters Type Description
id integer The ID of the skill to update.
name string optional The name of the skill.
user_ids string optional The user IDs associated with the skill.

Tool: twprojects-update_tag

Update tag.

Parameters Type Description
id integer The ID of the tag to update.
name string optional The name of the tag. It must have less than 50 characters.
project_id string optional The ID of the project to associate the tag with. This is for project-scoped tags.

Tool: twprojects-update_task

Update task.

Parameters Type Description
id integer The ID of the task to update.
assignees string optional Assignees for the task. To remove all assignees, use clear_assignees instead.
change_followers string optional Followers of any task changes.
clear_assignees string optional If true, removes all assignees from the task, leaving it unassigned. Cannot be combined with a non-empty assignees value.
comment_followers string optional Followers of any task comments.
complete_followers string optional Followers of any task completions.
description string optional The description of the task. Support for plain text and Markdown formatting.
due_date string optional The due date of the task. If omitted, falls back to the milestone due date when one is set.
estimated_minutes string optional The estimated time to complete the task in minutes.
name string optional The name/title of the task.
parent_task_id string optional The ID of the parent task if creating a subtask.
predecessors string optional Task dependencies that must be completed before this task can start.
priority string optional The priority of the task.
progress string optional The progress of the task, as a percentage (0-100). Only whole numbers are allowed.
start_date string optional The start date of the task.
tag_ids string optional A list of tag IDs to associate with the task.
tasklist_id string optional The ID of the tasklist.

Tool: twprojects-update_tasklist

Update tasklist.

Parameters Type Description
id integer The ID of the tasklist to update.
description string optional The description of the tasklist.
milestone_id string optional The ID of the milestone to associate with the tasklist.
name string optional The name of the tasklist.

Tool: twprojects-update_team

Update team.

Parameters Type Description
id integer The ID of the team to update.
company_id string optional The ID of the company. This is used to create a team scoped for a specific company.
description string optional The description of the team.
handle string optional The handle of the team. It is a unique identifier for the team. It must not have spaces or special characters.
name string optional The name of the team.
parent_team_id string optional The ID of the parent team. This is used to create a hierarchy of teams.
project_id string optional The ID of the project. This is used to create a team scoped for a specific project.
user_ids string optional Users to add to the team.

Tool: twprojects-update_timelog

Update timelog.

Parameters Type Description
id integer The ID of the timelog to update.
billable string optional If true, the timelog is billable.
date string optional The date of the timelog.
description string optional A description of the timelog.
hours string optional The number of hours spent on the timelog. Must be a positive integer.
is_utc string optional If true, the time is in UTC.
minutes string optional Minutes spent on the timelog. Must be a positive integer less than 60; otherwise increment hours instead.
project_id string optional Project the timelog is logged against. Provide exactly one of project_id or task_id.
tag_ids string optional A list of tag IDs to associate with the timelog.
task_id string optional Task the timelog is logged against. Provide exactly one of project_id or task_id.
time string optional The time of the timelog in the format HH:MM:SS.
user_id string optional User the timelog is logged for. Defaults to the authenticated user.

Tool: twprojects-update_timer

Update timer.

Parameters Type Description
id integer The ID of the timer to update.
billable string optional If true, the timer is billable.
description string optional A description of the timer.
project_id string optional The ID of the project to associate the timer with.
running string optional If true, the timer will start running immediately.
task_id string optional The ID of the task to associate the timer with.

Tool: twprojects-update_user

Update user.

Parameters Type Description
id integer The ID of the user to update.
admin string optional Indicates whether the user is an administrator.
company_id string optional The ID of the client/company to which the user belongs.
email string optional The email address of the user.
first_name string optional The first name of the user.
last_name string optional The last name of the user.
title string optional The job title of the user, such as 'Project Manager' or 'Senior Software Developer'.
type string optional The type of user, such as 'account', 'collaborator', or 'contact'.

Tool: twprojects-update_workflow

Update workflow.

Parameters Type Description
id integer The ID of the workflow to update.
name string optional The new name of the workflow.

Tool: twprojects-update_workflow_stage

Update workflow stage.

Parameters Type Description
id integer The ID of the workflow stage to update.
workflow_id integer The ID of the workflow that owns the stage.
name string optional The new name of the workflow stage.

Tool: twprojects-users_workload

Get task allocation across users for a date range. (workload of users)

Parameters Type Description
end_date string End of the workload period.
start_date string Start of the workload period.
page string optional Page number for pagination of results.
page_size string optional Number of results per page for pagination.
project_ids string optional Filter workload by project.
user_company_ids string optional Filter workload by users' client/company.
user_ids string optional Filter workload by user.
user_team_ids string optional Filter workload by users' team.

This tool is read-only. It does not modify its environment.


Tool: twspaces-create_category

Create space category.

Parameters Type Description
name string The name of the category.
color string optional A hex color code for the category (e.g. "#FF5733").

Tool: twspaces-create_comment

Create comment on a page. Use parentId for replies.

Parameters Type Description
content string The content of the comment.
pageId integer The ID of the page to comment on.
spaceId integer The ID of the space containing the page.
isPrivate string optional Set to true to create a private comment visible only to space members.
parentId string optional The ID of the parent comment (for creating a reply).

Tool: twspaces-create_page

Create page in a space.

Parameters Type Description
spaceId integer The ID of the space to create the page in.
title string The title of the page.
changeMessage string optional A message describing the changes made in this version.
content string optional The HTML content of the page.
isFullWidth string optional Display the page in full-width layout.
isPublish string optional Set to true to publish the page immediately (default: draft).
isRequiredReading string optional Mark this page as required reading for space members.
parentId string optional The ID of the parent page (for creating a sub-page).
readerInlineCommentsEnabled string optional Allow readers to add inline comments on this page.
slug string optional A URL-friendly slug for the page.

Tool: twspaces-create_space

Create space.

Parameters Type Description
code string A short unique code/identifier for the space (e.g. "ENG", "DOCS").
title string The title of the space.
categoryId string optional Category to assign. Use twspaces-list_categories to discover.
icon string optional An icon identifier for the space.
projectId string optional The ID of a Teamwork project to link to this space.
purpose string optional A brief description of the space's purpose.
spaceColor string optional A hex color code for the space (e.g. "#FF5733").

Tool: twspaces-create_tags

Create one or more Spaces tags in a single request.

Parameters Type Description
tags array Tags to create.

Tool: twspaces-delete_category

Delete space category.

Parameters Type Description
id integer The ID of the category to delete.

This tool may perform destructive updates.


Tool: twspaces-delete_comment

Delete page comment. Irreversible.

Parameters Type Description
commentId integer The ID of the comment to delete.
pageId integer The ID of the page containing the comment.
spaceId integer The ID of the space containing the page.

This tool may perform destructive updates.


Tool: twspaces-delete_page

Delete page. Irreversible.

Parameters Type Description
pageId integer The ID of the page to delete.
spaceId integer The ID of the space containing the page.

This tool may perform destructive updates.


Tool: twspaces-delete_space

Delete space. Irreversible; removes all content.

Parameters Type Description
id integer The ID of the space to delete.

This tool may perform destructive updates.


Tool: twspaces-delete_tag

Delete Spaces tag.

Parameters Type Description
id integer The ID of the tag to delete.

This tool may perform destructive updates.


Tool: twspaces-duplicate_page

Duplicate page with a new title.

Parameters Type Description
pageId integer The ID of the page to duplicate.
spaceId integer The ID of the space containing the page.
title string The title for the duplicated page.
parentId string optional The ID of the parent page for the duplicate (defaults to same parent).
slug string optional A URL-friendly slug for the duplicated page.

Tool: twspaces-get_category

Get space category.

Parameters Type Description
id integer The ID of the category to retrieve.

This tool is read-only. It does not modify its environment.


Tool: twspaces-get_comment

Get page comment.

Parameters Type Description
commentId integer The ID of the comment to retrieve.
pageId integer The ID of the page containing the comment.
spaceId integer The ID of the space containing the page.

This tool is read-only. It does not modify its environment.


Tool: twspaces-get_homepage

Get a space's homepage.

Parameters Type Description
spaceId integer The ID of the space to retrieve the homepage for.

This tool is read-only. It does not modify its environment.


Tool: twspaces-get_page

Get page. Returns content, metadata, tags, and revision info.

Parameters Type Description
pageId integer The ID of the page to retrieve.
spaceId integer The ID of the space containing the page.

This tool is read-only. It does not modify its environment.


Tool: twspaces-get_space

Get space.

Parameters Type Description
id integer The ID of the space to retrieve.

This tool is read-only. It does not modify its environment.


Tool: twspaces-get_tag

Get Spaces tag.

Parameters Type Description
id integer The ID of the tag to retrieve.

This tool is read-only. It does not modify its environment.


Tool: twspaces-list_categories

List space categories.

Parameters Type Description
pageOffset string optional The index position to start retrieving results from (not a page number).
pageSize string optional Number of results per page for pagination.

This tool is read-only. It does not modify its environment.


Tool: twspaces-list_comments

List comments on a page. Returns top-level comments with replies.

Parameters Type Description
pageId integer The ID of the page to list comments for.
spaceId integer The ID of the space containing the page.
pageOffset string optional The index position to start retrieving results from (not a page number).
pageSize string optional Number of results per page for pagination.

This tool is read-only. It does not modify its environment.


Tool: twspaces-list_pages

List pages in a space as a hierarchical tree.

Parameters Type Description
spaceId integer The ID of the space to list pages for.
pageOffset string optional The index position to start retrieving results from (not a page number).
pageSize string optional Number of results per page for pagination.

This tool is read-only. It does not modify its environment.


Tool: twspaces-list_space_collaborators

List space collaborators (users and teams).

Parameters Type Description
id integer The ID of the space to retrieve collaborators for.

This tool is read-only. It does not modify its environment.


Tool: twspaces-list_spaces

List spaces.

Parameters Type Description
pageOffset string optional The index position to start retrieving results from (not a page number).
pageSize string optional Number of results per page for pagination.

This tool is read-only. It does not modify its environment.


Tool: twspaces-list_tags

List Spaces tags.

Parameters Type Description
pageOffset string optional The index position to start retrieving results from (not a page number).
pageSize string optional Number of results per page for pagination.

This tool is read-only. It does not modify its environment.


Full-text search across pages. Filter by space.

Parameters Type Description
query string The search query string.
includeDeleted string optional Include deleted pages in search results.
pageOffset string optional The index position to start retrieving results from (not a page number).
pageSize string optional Number of results per page for pagination.
spaceIds string optional Limit search to specific spaces. Use twspaces-list_spaces to discover.

This tool is read-only. It does not modify its environment.


Tool: twspaces-update_category

Update space category.

Parameters Type Description
id integer The ID of the category to update.
color string optional A new hex color code for the category.
name string optional The new name for the category.

Tool: twspaces-update_comment

Update page comment.

Parameters Type Description
commentId integer The ID of the comment to update.
pageId integer The ID of the page containing the comment.
spaceId integer The ID of the space containing the page.
content string optional The new content of the comment.
isPrivate string optional Change the privacy setting of the comment.
state string optional The new state of the comment (e.g. "active", "resolved").

Tool: twspaces-update_page

Update page.

Parameters Type Description
pageId integer The ID of the page to update.
spaceId integer The ID of the space containing the page.
changeMessage string optional A message describing the changes made in this version.
content string optional The new HTML content of the page.
draftVersion string optional Optimistic concurrency token for the page's draft content. Required when updating content; optional otherwise. Obtain the current value from the draftVersion field with twspaces-get_page or twspaces-list_pages tools.
isFullWidth string optional Toggle full-width layout for this page.
isMinorChange string optional Mark this update as a minor change (won't notify watchers).
isPublish string optional Set to true to publish the page, false to revert to draft.
isRequiredReading string optional Mark or unmark this page as required reading.
parentId string optional The ID of the new parent page (to move the page).
readerInlineCommentsEnabled string optional Allow or disallow readers from adding inline comments.
slug string optional A new URL-friendly slug for the page.
title string optional The new title of the page.

Tool: twspaces-update_space

Update space.

Parameters Type Description
id integer The ID of the space to update.
categoryId string optional Category to assign. Use twspaces-list_categories to discover.
code string optional A new short unique code/identifier for the space.
icon string optional A new icon identifier for the space.
projectId string optional The ID of a Teamwork project to link to this space.
purpose string optional A new brief description of the space's purpose.
spaceColor string optional A new hex color code for the space.
state string optional The state of the space (e.g. "active", "archived").
title string optional The new title of the space.

Tool: twspaces-update_tag

Update Spaces tag.

Parameters Type Description
id integer The ID of the tag to update.
color string optional A new hex color code for the tag.
name string optional The new name for the tag.

Use this MCP Server

{
  "mcpServers": {
    "teamwork": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "TW_MCP_BEARER_TOKEN",
        "mcp/teamwork"
      ],
      "env": {
        "TW_MCP_BEARER_TOKEN": "<TW_MCP_BEARER_TOKEN>"
      }
    }
  }
}

Why is it safer to run MCP Servers with Docker?