List tasks with structured filters (tasklist_id, project_id, or site-wide). For keyword search use search.
Parameters (16)
assignee_user_idsany
Filter tasks by assignee.
completed_afterany
Filter tasks completed after.
completed_beforeany
Filter tasks completed before.
created_afterany
Filter tasks created after.
created_beforeany
Filter tasks created before.
created_by_user_idsany
Filter tasks by creator.
match_all_tagsany
If true, match all tags; if false, match any.
pageany
Page number for pagination of results.
page_sizeany
Number of results per page for pagination.
project_idany
The ID of the project from which to retrieve tasks. Omit to list tasks across all projects.
search_termany
A search term to filter tasks by name.
tag_idsany
A list of tag IDs to filter tasks by tags.
tasklist_idany
The ID of the tasklist from which to retrieve tasks. Takes precedence over project_id.
updated_afterany
Filter tasks updated after.
updated_beforeany
Filter tasks updated before.
verboseany
If false, returns id + name only — useful when scanning many results.
twprojects-create_task
Create task in a tasklist.
Parameters (15)
assigneesany
Assignees for the task.
change_followersany
Followers of any task changes.
comment_followersany
Followers of any task comments.
complete_followersany
Followers of any task completions.
descriptionany
The description of the task. Support for plain text and Markdown formatting.
due_dateany
The due date of the task. If omitted, falls back to the milestone due date when one is set.
estimated_minutesany
The estimated time to complete the task in minutes.
namestringrequired
The name of the task.
parent_task_idany
The ID of the parent task if creating a subtask.
predecessorsany
Task dependencies that must be completed before this task can start.
priorityany
The priority of the task.
progressany
The progress of the task, as a percentage (0-100). Only whole numbers are allowed.
start_dateany
The start date of the task.
tag_idsany
A list of tag IDs to associate with the task.
tasklist_idintegerrequired
Tasklist ID. Use twprojects-list_tasklists to find one.
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 (10)
file_version_idany
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_idany
The ID of the link to retrieve comments for. Provide this to scope comments to a link.
milestone_idany
The ID of the milestone to retrieve comments for. Provide this to scope comments to a milestone.
notebook_idany
The ID of the notebook to retrieve comments for. Provide this to scope comments to a notebook.
pageany
Page number for pagination of results.
page_sizeany
Number of results per page for pagination.
search_termany
A search term to filter comments by name.
task_idany
The ID of the task to retrieve comments for. Provide this to scope comments to a task.
updated_afterany
Filter comments updated after. Defaults to the last 3 months.
verboseany
If false, returns id + name only — useful when scanning many results.
twprojects-update_task
Update task.
Parameters (17)
assigneesany
Assignees for the task. To remove all assignees, use clear_assignees instead.
change_followersany
Followers of any task changes.
clear_assigneesany
If true, removes all assignees from the task, leaving it unassigned. Cannot be combined with a non-empty assignees value.
comment_followersany
Followers of any task comments.
complete_followersany
Followers of any task completions.
descriptionany
The description of the task. Support for plain text and Markdown formatting.
due_dateany
The due date of the task. If omitted, falls back to the milestone due date when one is set.
estimated_minutesany
The estimated time to complete the task in minutes.
idintegerrequired
The ID of the task to update.
nameany
The name/title of the task.
parent_task_idany
The ID of the parent task if creating a subtask.
predecessorsany
Task dependencies that must be completed before this task can start.
priorityany
The priority of the task.
progressany
The progress of the task, as a percentage (0-100). Only whole numbers are allowed.
start_dateany
The start date of the task.
tag_idsany
A list of tag IDs to associate with the task.
tasklist_idany
The ID of the tasklist.
twprojects-list_projects
List projects.
Parameters (7)
match_all_tagsany
If true, match all tags; if false, match any.
pageany
Page number for pagination of results.
page_sizeany
Number of results per page for pagination.
project_category_idsany
Filter projects by category.
search_termany
A search term to filter projects by name or description.
tag_idsany
A list of tag IDs to filter projects by tags.
verboseany
If false, returns id + name only — useful when scanning many results.
twprojects-create_timelog
Create timelog entry against a project or task.
Parameters (11)
billableany
If true, the timelog is billable.
datestringrequired
The date of the timelog.
descriptionany
A description of the timelog.
hoursintegerrequired
The number of hours spent on the timelog. Must be a positive integer.
is_utcany
If true, the time is in UTC.
minutesintegerrequired
Minutes spent on the timelog. Must be a positive integer less than 60; otherwise increment hours instead.
project_idany
Project the timelog is logged against. Provide exactly one of project_id or task_id.
tag_idsany
A list of tag IDs to associate with the timelog.
task_idany
Task the timelog is logged against. Provide exactly one of project_id or task_id.
timestringrequired
The time of the timelog in the format HH:MM:SS.
user_idany
User the timelog is logged for. Defaults to the authenticated user.
twprojects-list_timelogs
List timelogs. Scope by project_id or task_id, or omit for site-wide.
Parameters (13)
assigned_company_idsany
Filter timelogs by assigned company.
assigned_team_idsany
Filter timelogs by assigned team.
assigned_user_idsany
Filter timelogs by assigned user.
end_dateany
End of the timelog window.
match_all_tagsany
If true, match all tags; if false, match any.
pageany
Page number for pagination of results.
page_sizeany
Number of results per page for pagination.
project_idany
The ID of the project from which to retrieve timelogs. Omit to list timelogs across all projects.
start_dateany
Start of the timelog window.
tag_idsany
A list of tag IDs to filter timelogs by tags.
task_idany
The ID of the task from which to retrieve timelogs. Omit to list timelogs across all tasks.
ticketIdsany
Filter timelogs by associated desk ticket.
verboseany
If false, returns id + name only — useful when scanning many results.
twprojects-search
Cross-entity keyword search across projects, tasks, files, messages, and more.
Parameters (7)
cursorany
Cursor for pagination of results.
extended_searchany
Whether to perform an extended search, which includes items updated more than 5 years ago.
include_completed_itemsany
Whether to include completed items in the search results.
limitany
Number of results per page for pagination.
project_idany
The ID of the project to limit the search to.
search_termanyrequired
A search term to to look for items.
updated_afterany
Only include items updated after this date.
twprojects-list_tasklists
List tasklists. Scope by project_id or omit for site-wide.
Parameters (5)
pageany
Page number for pagination of results.
page_sizeany
Number of results per page for pagination.
project_idany
The ID of the project from which to retrieve tasklists. Omit to list tasklists across all projects.
search_termany
A search term to filter tasklists by name.
verboseany
If false, returns id + name only — useful when scanning many results.
twprojects-create_comment
Create comment on a task, milestone, notebook, file, or link.
Parameters (5)
bodystringrequired
The content of the comment. The content can be added as text or HTML.
content_typeany
The content type of the comment. It can be either 'TEXT' or 'HTML'.
notifyany
Who to notify of the new comment.
notify_current_userany
Whether the current user should be notified about the new comment.
objectobjectrequired
The object to create the comment for. It can be a tasks, milestones, files or notebooks.
twprojects-get_tasklist
Get tasklist.
Parameters (1)
idintegerrequired
The ID of the tasklist to get.
twprojects-get_project
Get project.
Parameters (1)
idintegerrequired
The ID of the project to get.
twdesk-get_ticket
Get ticket.
Parameters (2)
fieldsanyrequired
Sparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
idintegerrequired
The ID of the ticket to retrieve.
twprojects-update_timelog
Update timelog.
Parameters (12)
billableany
If true, the timelog is billable.
dateany
The date of the timelog.
descriptionany
A description of the timelog.
hoursany
The number of hours spent on the timelog. Must be a positive integer.
idintegerrequired
The ID of the timelog to update.
is_utcany
If true, the time is in UTC.
minutesany
Minutes spent on the timelog. Must be a positive integer less than 60; otherwise increment hours instead.
project_idany
Project the timelog is logged against. Provide exactly one of project_id or task_id.
tag_idsany
A list of tag IDs to associate with the timelog.
task_idany
Task the timelog is logged against. Provide exactly one of project_id or task_id.
timeany
The time of the timelog in the format HH:MM:SS.
user_idany
User the timelog is logged for. Defaults to the authenticated user.
twprojects-list_activities
List recent activity events. Scope by project_id or omit for site-wide.
Parameters (7)
end_dateany
End of the activity window.
log_item_typesany
Filter activities by item types.
pageany
Page number for pagination of results.
page_sizeany
Number of results per page for pagination.
project_idany
The ID of the project to retrieve activities from. Omit to list activities across all projects.
start_dateany
Start of the activity window.
verboseany
If false, returns id + name only — useful when scanning many results.
twprojects-move_task_to_workflow_stage
Move a task to a workflow stage.
Parameters (3)
stage_idintegerrequired
The ID of the workflow stage to move the task to.
task_idintegerrequired
The ID of the task to move.
workflow_idintegerrequired
The ID of the workflow that contains the target stage.
twprojects-complete_task
Mark task complete.
Parameters (1)
idintegerrequired
The ID of the task to mark as complete.
twdesk-search_tickets
Search tickets. Filter by inbox, customer, company, tag, status, priority, or user.
Parameters (13)
companyIDsanyrequired
Filter by company. Use twdesk-list_companies to discover.
customerIDsanyrequired
Filter by customer. Use twdesk-list_customers to discover.
fieldsanyrequired
Sparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
inboxIDsanyrequired
Filter by inbox. Use twdesk-list_inboxes to discover.
orderByanyrequired
The field to order the results by.
orderDirectionanyrequired
The direction to order the results by (asc, desc).
pageanyrequired
Page number for pagination of results.
pageSizeanyrequired
Number of results per page for pagination.
priorityIDsanyrequired
Filter by priority. Use twdesk-list_priorities to discover.
searchanyrequired
Search term matched against subject, body, and other ticket fields.
statusIDsanyrequired
Filter by status. Use twdesk-list_statuses to discover.
tagIDsanyrequired
Filter by tag. Use twdesk-list_tags to discover.
userIDsanyrequired
Filter by user. Use twdesk-list_users to discover.
twprojects-list_users
List users. Scope by project_id or filter by type (account/collaborator/contact).
Parameters (6)
pageany
Page number for pagination of results.
page_sizeany
Number of results per page for pagination.
project_idany
The ID of the project from which to retrieve users. Omit to list users across all projects.
search_termany
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.
typeany
Type of user to filter by. The available options are account, collaborator or contact.
verboseany
If false, returns id + name only — useful when scanning many results.
twchat-get_conversation
Get a single Teamwork Chat conversation by ID.
Parameters (1)
conversation_idintegerrequired
The ID of the conversation to retrieve.
twchat-get_current_user
Get the current authenticated Teamwork Chat user, including identity, counts (unread conversations/messages, mentions), and settings.
No parameters.
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 (1)
user_idintegerrequired
The ID of the person to get the direct-message conversation with.
twchat-list_conversations
List Teamwork Chat conversations the current user is a member of.
Parameters (7)
include_message_dataany
Include the latest message in each conversation.
page_limitany
Number of conversations to return (max 10).
page_offsetany
The index position to start retrieving results from (not a page number).
search_termany
A search term to filter conversations by title.
sortany
Sort order for the returned conversations.
statusany
Filter by conversation status.
typeany
Filter by conversation type: "rooms" for group/channel conversations, "pair" for 1:1 direct messages.
twchat-list_messages
List messages within a Teamwork Chat conversation. Requires conversation_id.
Parameters (8)
after_message_idany
Return messages newer than this message ID (cursor).
before_message_idany
Return messages older than this message ID (cursor).
conversation_idintegerrequired
The ID of the conversation to read messages from.
created_afterany
Return messages created after this time.
created_beforeany
Return messages created before this time.
pageany
Page number for pagination of results.
page_sizeany
Number of messages per page (1-200).
search_termany
A search term to filter messages by text content.
twchat-list_people
List people in the Teamwork Chat installation. Useful for resolving names to user IDs.
Parameters (3)
page_limitany
Number of people to return.
page_offsetany
The index position to start retrieving results from (not a page number).
search_termany
A search term to filter people by name or email.
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 (2)
bodystringrequired
The message text. Supports Markdown.
user_idintegerrequired
The ID of the person to send the direct message to.
twchat-send_message
Send a message to a Teamwork Chat conversation. Requires conversation_id and body.
Parameters (2)
bodystringrequired
The message text. Supports Markdown.
conversation_idintegerrequired
The ID of the conversation to post the message to.
twdesk-create_company
Create Desk company.
Parameters (9)
descriptionanyrequired
The description of the company.
detailsanyrequired
The details of the company.
domainsanyrequired
The domains for the company.
industryanyrequired
The industry of the company.
kindanyrequired
The kind of the company.
namestringrequired
The name of the company.
noteanyrequired
The note for the company.
permissionanyrequired
The permission level of the company.
websiteanyrequired
The website of the company.
twdesk-create_customer
Create customer.
Parameters (13)
addressanyrequired
The address of the customer.
emailanyrequired
The email of the customer.
extraDataanyrequired
The extra data of the customer.
facebookURLanyrequired
The Facebook URL of the customer.
firstNameanyrequired
The first name of the customer.
jobTitleanyrequired
The job title of the customer.
lastNameanyrequired
The last name of the customer.
linkedinURLanyrequired
The LinkedIn URL of the customer.
mobileanyrequired
The mobile number of the customer.
notesanyrequired
The notes of the customer.
organizationanyrequired
The organization of the customer.
phoneanyrequired
The phone number of the customer.
twitterHandleanyrequired
The Twitter handle of the customer.
twdesk-create_file
Upload file. Attach the returned ID to tickets or messages.
Parameters (4)
datastringrequired
The content of the file as a base64-encoded string.
dispositionanyrequired
The disposition of the file.
mimeTypestringrequired
The MIME type of the file.
namestringrequired
The name of the file.
twdesk-create_helpdoc_article
Create a new help doc article.
Parameters (6)
contentsanyrequired
The body content of the article.
descriptionanyrequired
A short description / summary of the article.
isPrivateanyrequired
Set to true to make the article private.
siteIDintegerrequired
The ID of the help doc site to create the article in.
statusanyrequired
Publication status of the article (e.g. "published", "draft").
titlestringrequired
The title of the article.
twdesk-create_priority
Create ticket priority.
Parameters (2)
coloranyrequired
The color of the priority.
namestringrequired
The name of the priority.
twdesk-create_status
Create ticket status.
Parameters (3)
coloranyrequired
The color of the status.
displayOrderanyrequired
The display order of the status.
namestringrequired
The name of the status.
twdesk-create_tag
Create Desk tag.
Parameters (2)
coloranyrequired
The color of the tag.
namestringrequired
The name of the tag.
twdesk-create_ticket
Create ticket.
Parameters (14)
agentIdanyrequired
Agent the ticket is assigned to. Use twdesk-list_users to discover.
bccanyrequired
Email addresses to BCC.
bodystringrequired
The body of the ticket.
ccanyrequired
Email addresses to CC.
customerEmailanyrequired
Customer email; required when customerId is not given. Existing customers are matched, otherwise a new customer is created.
customerIdanyrequired
Customer of the ticket. Use twdesk-list_customers to discover.
filesanyrequired
File IDs to attach. Use twdesk-create_file to upload.
inboxIdintegerrequired
Inbox of the ticket. Use twdesk-list_inboxes to discover.
notifyCustomeranyrequired
Set to true if the customer should be sent a copy of the ticket.
priorityIdanyrequired
Priority of the ticket. Use twdesk-list_priorities to discover.
statusIdanyrequired
Status of the ticket. Use twdesk-list_statuses to discover.
subjectstringrequired
The subject of the ticket.
tagsanyrequired
Tags to associate with the ticket. Use twdesk-list_tags to discover.
typeIdanyrequired
Ticket type. Use twdesk-list_ticket_types to discover.
twdesk-create_ticket_type
Create ticket type.
Parameters (3)
displayOrderanyrequired
The display order of the type.
enabledForFutureInboxesanyrequired
Whether the type is enabled for future inboxes.
namestringrequired
The name of the ticket type.
twdesk-get_company
Get Desk company (customer organization).
Parameters (2)
fieldsanyrequired
Sparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
idintegerrequired
The ID of the company to retrieve.
twdesk-get_customer
Get customer.
Parameters (2)
fieldsanyrequired
Sparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
idintegerrequired
The ID of the customer to retrieve.
twdesk-get_helpdoc_article
Get a help doc article by ID.
Parameters (2)
fieldsanyrequired
Sparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
idintegerrequired
The ID of the help doc article to retrieve.
twdesk-get_inbox
Get inbox.
Parameters (2)
fieldsanyrequired
Sparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
idintegerrequired
The ID of the inbox to retrieve.
twdesk-get_priority
Get ticket priority.
Parameters (2)
fieldsanyrequired
Sparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
idintegerrequired
The ID of the priority to retrieve.
twdesk-get_status
Get ticket status.
Parameters (2)
fieldsanyrequired
Sparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
idintegerrequired
The ID of the status to retrieve.
twdesk-get_tag
Get Desk tag.
Parameters (2)
fieldsanyrequired
Sparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
idintegerrequired
The ID of the tag to retrieve.
twdesk-get_ticket_type
Get ticket type.
Parameters (2)
fieldsanyrequired
Sparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
idintegerrequired
The ID of the ticket type to retrieve.
twdesk-get_user
Get support agent.
Parameters (2)
fieldsanyrequired
Sparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
idintegerrequired
The ID of the user to retrieve.
twdesk-list_companies
List Desk companies. Filter by name, domains, or kind.
Parameters (8)
domainsanyrequired
The domains of the company to filter by.
fieldsanyrequired
Sparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
kindanyrequired
The kind of the company to filter by.
nameanyrequired
The name of the company to filter by.
orderByanyrequired
The field to order the results by.
orderDirectionanyrequired
The direction to order the results by (asc, desc).
pageanyrequired
Page number for pagination of results.
pageSizeanyrequired
Number of results per page for pagination.
twdesk-list_customers
List customers. Filter by company or email.
Parameters (8)
companyIDsanyrequired
The IDs of the companies to filter by.
companyNamesanyrequired
The names of the companies to filter by.
emailsanyrequired
The emails of the customers to filter by.
fieldsanyrequired
Sparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
orderByanyrequired
The field to order the results by.
orderDirectionanyrequired
The direction to order the results by (asc, desc).
pageanyrequired
Page number for pagination of results.
pageSizeanyrequired
Number of results per page for pagination.
twdesk-list_inboxes
List inboxes. Filter by name or email.
Parameters (7)
emailanyrequired
The email of the inbox to filter by.
fieldsanyrequired
Sparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
nameanyrequired
The name of the inbox to filter by.
orderByanyrequired
The field to order the results by.
orderDirectionanyrequired
The direction to order the results by (asc, desc).
pageanyrequired
Page number for pagination of results.
pageSizeanyrequired
Number of results per page for pagination.
twdesk-list_priorities
List ticket priorities. Filter by name or color.
Parameters (7)
coloranyrequired
The color of the priority to filter by.
fieldsanyrequired
Sparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
nameanyrequired
The name of the priority to filter by.
orderByanyrequired
The field to order the results by.
orderDirectionanyrequired
The direction to order the results by (asc, desc).
pageanyrequired
Page number for pagination of results.
pageSizeanyrequired
Number of results per page for pagination.
twdesk-list_statuses
List ticket statuses. Filter by name, color, or code.
Parameters (8)
codeanyrequired
The code of the status to filter by.
coloranyrequired
The color of the status to filter by.
fieldsanyrequired
Sparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
nameanyrequired
The name of the status to filter by.
orderByanyrequired
The field to order the results by.
orderDirectionanyrequired
The direction to order the results by (asc, desc).
pageanyrequired
Page number for pagination of results.
pageSizeanyrequired
Number of results per page for pagination.
twdesk-list_tags
List Desk tags. Filter by name, color, or inbox.
Parameters (8)
coloranyrequired
The color of the tag to filter by.
fieldsanyrequired
Sparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
inboxIDsanyrequired
The IDs of the inboxes to filter by.
nameanyrequired
The name of the tag to filter by.
orderByanyrequired
The field to order the results by.
orderDirectionanyrequired
The direction to order the results by (asc, desc).
pageanyrequired
Page number for pagination of results.
pageSizeanyrequired
Number of results per page for pagination.
twdesk-list_ticket_types
List ticket types. Filter by name or inbox.
Parameters (7)
fieldsanyrequired
Sparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
inboxIDsanyrequired
Filter by inbox. Use twdesk-list_inboxes to discover.
nameanyrequired
The name of the type to filter by.
orderByanyrequired
The field to order the results by.
orderDirectionanyrequired
The direction to order the results by (asc, desc).
pageanyrequired
Page number for pagination of results.
pageSizeanyrequired
Number of results per page for pagination.
twdesk-list_users
List support agents. For customers, use twdesk-list_customers.
Parameters (10)
emailanyrequired
The email addresses of the users to filter by.
fieldsanyrequired
Sparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
firstNameanyrequired
The first names of the users to filter by.
inboxIDsanyrequired
The IDs of the inboxes to filter by.
isPartTimeanyrequired
Whether to include part-time users in the results.
lastNameanyrequired
The last names of the users to filter by.
orderByanyrequired
The field to order the results by.
orderDirectionanyrequired
The direction to order the results by (asc, desc).
pageanyrequired
Page number for pagination of results.
pageSizeanyrequired
Number of results per page for pagination.
twdesk-reply_ticket
Reply to a ticket. Use threadType=note for internal agent notes.
Parameters (5)
bccanyrequired
Email addresses to BCC.
bodystringrequired
The body of the message.
ccanyrequired
Email addresses to CC.
threadTypeanyrequired
'message' is a customer-facing reply; 'note' is an internal agent note.
ticketIDintegerrequired
The ID of the ticket that the message will be sent to.
twdesk-search_helpdoc_articles
Search help doc articles. Filter by search term, status, site, or category.
Parameters (6)
categoryIDanyrequired
Filter by help doc category ID.
pageanyrequired
Page number (1-based).
pageSizeanyrequired
Number of results per page.
searchanyrequired
Free-text search term matched against article title and content.
siteIDanyrequired
Filter by help doc site ID.
statusanyrequired
Filter by article status (e.g. "published", "draft").
twdesk-update_company
Update Desk company.
Parameters (10)
descriptionanyrequired
The new description of the company.
detailsanyrequired
The new details of the company.
domainsanyrequired
The new domains for the company.
idintegerrequired
The ID of the company to update.
industryanyrequired
The new industry of the company.
kindanyrequired
The new kind of the company.
nameanyrequired
The new name of the company.
noteanyrequired
The new note for the company.
permissionanyrequired
The new permission level of the company.
websiteanyrequired
The new website of the company.
twdesk-update_customer
Update customer.
Parameters (14)
addressanyrequired
The new address of the customer.
emailanyrequired
The new email of the customer.
extraDataanyrequired
The new extra data of the customer.
facebookURLanyrequired
The new Facebook URL of the customer.
firstNameanyrequired
The new first name of the customer.
idintegerrequired
The ID of the customer to update.
jobTitleanyrequired
The new job title of the customer.
lastNameanyrequired
The new last name of the customer.
linkedinURLanyrequired
The new LinkedIn URL of the customer.
mobileanyrequired
The new mobile number of the customer.
notesanyrequired
The new notes of the customer.
organizationanyrequired
The new organization of the customer.
phoneanyrequired
The new phone number of the customer.
twitterHandleanyrequired
The new Twitter handle of the customer.
twdesk-update_helpdoc_article
Update an existing help doc article.
Parameters (6)
contentsanyrequired
The new body content of the article.
descriptionanyrequired
A short description / summary of the article.
idintegerrequired
The ID of the help doc article to update.
isPrivateanyrequired
Set to true to make the article private.
statusanyrequired
Publication status (e.g. "published", "draft").
titleanyrequired
The new title of the article.
twdesk-update_priority
Update ticket priority.
Parameters (3)
coloranyrequired
The color of the priority.
idintegerrequired
The ID of the priority to update.
nameanyrequired
The new name of the priority.
twdesk-update_status
Update ticket status.
Parameters (4)
coloranyrequired
The color of the status.
displayOrderanyrequired
The display order of the status.
idintegerrequired
The ID of the status to update.
nameanyrequired
The new name of the status.
twdesk-update_tag
Update Desk tag.
Parameters (3)
coloranyrequired
The color of the tag.
idintegerrequired
The ID of the tag to update.
nameanyrequired
The new name of the tag.
twdesk-update_ticket
Update ticket.
Parameters (12)
agentIdanyrequired
Agent the ticket is assigned to. Use twdesk-list_users to discover.
bccanyrequired
Email addresses to BCC.
bodyanyrequired
The body of the ticket.
ccanyrequired
Email addresses to CC.
deleteTagsanyrequired
Tags to remove from the ticket. Use twdesk-list_tags to discover.
idintegerrequired
The ID of the ticket to update.
inboxIdanyrequired
Inbox of the ticket. Use twdesk-list_inboxes to discover.
priorityIdanyrequired
Priority of the ticket. Use twdesk-list_priorities to discover.
statusIdanyrequired
Status of the ticket. Use twdesk-list_statuses to discover.
subjectanyrequired
The subject of the ticket.
tagsanyrequired
Tags to associate with the ticket. Use twdesk-list_tags to discover.
typeIdanyrequired
Ticket type. Use twdesk-list_ticket_types to discover.
twdesk-update_ticket_type
Update ticket type.
Parameters (4)
displayOrderanyrequired
The display order of the type.
enabledForFutureInboxesanyrequired
Whether the type is enabled for future inboxes.
idintegerrequired
The ID of the ticket type to update.
nameanyrequired
The new name of the type.
twprojects-add_project_member
Add a user to a project.
Parameters (2)
project_idintegerrequired
The ID of the project to add the member to.
user_idsany
Users to add.
twprojects-clone_project
Clone/copy an existing project or instantiate one from a template.
Parameters (9)
company_idany
The ID of the company associated with the new cloned project. If not provided, the company of the original project will be used.
days_offsetany
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.
descriptionany
The description of the new cloned project. If not provided, the description of the original project will be used.
idintegerrequired
The ID of the project to clone.
nameany
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_templateany
Indicates whether the new project should be a regular one created from a template.
target_dateany
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_targetany
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_templateany
Indicates whether the new project should be set as a template.
twprojects-complete_timer
Stop a timer permanently and convert it to a timelog. Use pause_timer to pause without converting.
Parameters (1)
idintegerrequired
The ID of the timer to complete.
twprojects-create_company
Create company (aka client).
Parameters (17)
address_oneany
The first line of the address of the company.
address_twoany
The second line of the address of the company.
cityany
The city of the company.
country_codeany
The country code of the company, e.g., 'US' for the United States.
email_oneany
The primary email address of the company.
email_threeany
The tertiary email address of the company.
email_twoany
The secondary email address of the company.
faxany
The fax number of the company.
industry_idany
The ID of the industry the company belongs to.
manager_idany
The ID of the user who manages the company.
namestringrequired
The name of the company.
phoneany
The phone number of the company.
profileany
A profile description for the company.
stateany
The state of the company.
tag_idsany
A list of tag IDs to associate with the company.
websiteany
The website of the company.
zipany
The ZIP or postal code of the company.
twprojects-create_custom_field
Create custom field.
Parameters (10)
currency_codeany
The ISO currency code for 'currency' or 'financial' type custom fields.
descriptionany
An optional description for the custom field.
entitystringrequired
The type of entity this custom field can be applied to. Use 'all' for installation-level custom fields that are available across the workspace.
formulaany
The formula expression for 'formula' type custom fields.
namestringrequired
The display name of the custom field.
optionsany
Type-specific options for the custom field. For 'dropdown' and 'multiselect' types, provide {"choices": [{"value": "...", "color": "#rrggbb"}, ...]}. For 'rating' type, provide {"icon": "star|heart|...", "color": "#rrggbb"}. For 'number-decimal' type, provide {"decimals": <int>}.
project_idany
The ID of the project to scope the custom field to. When omitted, the custom field is created at the installation level.
requiredany
Whether the custom field must have a value when set on an entity.
typestringrequired
The data type of the custom field.
unitany
The unit associated with the custom field, when applicable.
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 (6)
country_codeany
The country code for currency-type custom field values.
currency_codeany
The ISO currency code for currency-type custom field values.
custom_field_idintegerrequired
The ID of the custom field the value belongs to.
entitystringrequired
The type of entity the custom field value is attached to.
entity_idintegerrequired
The ID of the task, project or company the custom field value is attached to.
valueanyrequired
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.
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 (5)
descriptionany
An optional human-readable description for the custom item type.
display_namestringrequired
The display name of the custom item type (e.g. "Contracts").
label_pluralany
Plural label for many records (e.g. "Contracts"). Defaults to the display name when omitted.
label_singularany
Singular label for one record (e.g. "Contract"). Defaults to the display name when omitted.
project_idintegerrequired
Project ID that will own the new custom item type.
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 (7)
custom_item_idintegerrequired
Custom item type ID that will own the new field.
definitionany
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.
display_namestringrequired
Human-readable name of the field (e.g. "Status").
optionsany
Choices for dropdown/multiselect fields. Each option is {label: "Active", color: "#22c55e"}.
position_after_idany
Place this field after the given field ID. Null appends to the end.
tw_typeany
Optional sub-classification for dropdown fields. Use "status" for a Status field.
typestringrequired
Field data type.
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 (5)
custom_item_idintegerrequired
Custom item type ID that will own the new record.
field_valuesany
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.
namestringrequired
Display name of the record (e.g. "Acme Inc Contract").
position_after_idany
Place the record after the given record ID. Null appends to the end.
section_idany
Optional section ID to place the record in.
twprojects-create_jobrole
Create job role.
Parameters (1)
namestringrequired
The name of the job role.
twprojects-create_link
Create link.
Parameters (7)
codestringrequired
The URL of the link. This is the actual web address that the link points to.
descriptionany
The description of the link. Longer text that provides detailed information about the link.
notifyany
Who to notify of the new link.
notify_current_userany
Whether the current user should be notified about the new link.
project_idintegerrequired
The ID of the project to create the link in.
tag_idsany
A list of tag IDs to associate with the link.
titleany
The title of the link, which provides a brief summary of the purpose of the link.
twprojects-create_message
Create message in a project.
Parameters (5)
bodystringrequired
The body of the message.
notifyany
Who to notify of the new message.
notify_current_userany
Whether the current user should be notified about the new message.
project_idintegerrequired
The ID of the project to create the message in.
titlestringrequired
The title of the message.
twprojects-create_message_reply
Create message reply.
Parameters (4)
bodystringrequired
The body of the message reply.
message_idintegerrequired
The ID of the message to create the reply in.
notifyany
Who to notify of the new reply.
notify_current_userany
Whether the current user should be notified about the new message reply.
twprojects-create_milestone
Create milestone in a project.
Parameters (7)
assigneesobjectrequired
Assignees for the milestone.
descriptionany
A description of the milestone.
due_datestringrequired
The due date of the milestone (format: YYYYMMDD). Used for related tasks without their own due date.
namestringrequired
The name of the milestone.
project_idintegerrequired
The ID of the project to create the milestone in.
tag_idsany
A list of tag IDs to associate with the milestone.
tasklist_idsany
Tasklists to associate with the milestone.
twprojects-create_notebook
Create notebook in a project.
Parameters (6)
contentsstringrequired
The contents of the notebook.
descriptionany
A description of the notebook.
namestringrequired
The name of the notebook.
project_idintegerrequired
The ID of the project to create the notebook in.
tag_idsany
A list of tag IDs to associate with the notebook.
typestringrequired
The type of the notebook.
twprojects-create_project
Create project.
Parameters (8)
category_idany
The ID of the category to which the project belongs.
company_idany
The ID of the company associated with the project.
descriptionany
The description of the project.
end_atany
End date of the project (format: YYYYMMDD).
namestringrequired
The name of the project.
owned_idany
The ID of the user who owns the project.
start_atany
Start date of the project (format: YYYYMMDD).
tag_idsany
A list of tag IDs to associate with the project.
twprojects-create_project_category
Create project category.
Parameters (3)
colorany
The color of the project category in hex format (e.g., #FF5733).
namestringrequired
The name of the project category.
parent_idany
The ID of the parent project category, if any. This allows for nested categories.
twprojects-create_project_template
Create project template.
Parameters (8)
category_idany
The ID of the category to which the project template belongs.
company_idany
The ID of the company associated with the project template.
descriptionany
The description of the project template.
end_atany
End date of the project template (format: YYYYMMDD).
namestringrequired
The name of the project template.
owned_idany
The ID of the user who owns the project template.
start_atany
Start date of the project template (format: YYYYMMDD).
tag_idsany
A list of tag IDs to associate with the project template.
twprojects-create_skill
Create skill.
Parameters (2)
namestringrequired
The name of the skill.
user_idsany
The user IDs associated with the skill.
twprojects-create_tag
Create tag.
Parameters (2)
namestringrequired
The name of the tag. It must have less than 50 characters.
project_idany
The ID of the project to associate the tag with. This is for project-scoped tags.
twprojects-create_tasklist
Create tasklist in a project.
Parameters (4)
descriptionany
The description of the tasklist.
milestone_idany
The ID of the milestone to associate with the tasklist.
namestringrequired
The name of the tasklist.
project_idintegerrequired
The ID of the project to create the tasklist in.
twprojects-create_team
Create team.
Parameters (7)
company_idany
The ID of the company. This is used to create a team scoped for a specific company.
descriptionany
The description of the team.
handleany
The handle of the team. It is a unique identifier for the team. It must not have spaces or special characters.
namestringrequired
The name of the team.
parent_team_idany
The ID of the parent team. This is used to create a hierarchy of teams.
project_idany
The ID of the project. This is used to create a team scoped for a specific project.
user_idsany
Users to add to the team.
twprojects-create_timer
Create and start a timer.
Parameters (7)
billableany
If true, the timer is billable.
descriptionany
A description of the timer.
project_idintegerrequired
The ID of the project to associate the timer with.
runningany
If true, the timer will start running immediately.
secondsany
The number of seconds to set the timer for.
stop_running_timersany
If true, any other running timers will be stopped when this timer is created.
task_idany
The ID of the task to associate the timer with.
twprojects-create_user
Create user.
Parameters (7)
adminany
Indicates whether the user is an administrator.
company_idany
The ID of the client/company to which the user belongs.
emailstringrequired
The email address of the user.
first_namestringrequired
The first name of the user.
last_namestringrequired
The last name of the user.
titleany
The job title of the user, such as 'Project Manager' or 'Senior Software Developer'.
typeany
The type of user, such as 'account', 'collaborator', or 'contact'.
twprojects-create_workflow
Create workflow.
Parameters (1)
namestringrequired
The name of the workflow.
twprojects-create_workflow_stage
Create workflow stage.
Parameters (2)
namestringrequired
The name of the workflow stage.
workflow_idintegerrequired
The ID of the workflow to add the stage to.
twprojects-get_comment
Get comment.
Parameters (1)
idintegerrequired
The ID of the comment to get.
twprojects-get_company
Get company (aka client).
Parameters (1)
idintegerrequired
The ID of the company to get.
twprojects-get_custom_field
Get custom field.
Parameters (1)
idintegerrequired
The ID of the custom field to get.
twprojects-get_custom_field_value
Get a single custom field value from a task, project or company.
Parameters (3)
entitystringrequired
The type of entity the custom field value is attached to.
entity_idintegerrequired
The ID of the task, project or company the custom field value belongs to.
value_idintegerrequired
The ID of the custom field value entry to retrieve.
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 (1)
idintegerrequired
Custom item type ID to retrieve.
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 (2)
custom_item_idintegerrequired
Custom item type ID the field belongs to.
idintegerrequired
Field ID.
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 (2)
custom_item_idintegerrequired
Custom item type ID the record belongs to.
idintegerrequired
Record ID.
twprojects-get_jobrole
Get job role.
Parameters (1)
idintegerrequired
The ID of the job role to get.
twprojects-get_link
Get link.
Parameters (1)
idintegerrequired
The ID of the link to get.
twprojects-get_message
Get message.
Parameters (1)
idintegerrequired
The ID of the message to get.
twprojects-get_message_reply
Get message reply.
Parameters (1)
idintegerrequired
The ID of the message reply to get.
twprojects-get_milestone
Get milestone.
Parameters (1)
idintegerrequired
The ID of the milestone to get.
twprojects-get_notebook
Get notebook.
Parameters (1)
idintegerrequired
The ID of the notebook to get.
twprojects-get_project_category
Get project category.
Parameters (1)
idintegerrequired
The ID of the project category to get.
twprojects-get_skill
Get skill.
Parameters (1)
idintegerrequired
The ID of the skill to get.
twprojects-get_tag
Get tag.
Parameters (1)
idintegerrequired
The ID of the tag to get.
twprojects-get_team
Get team.
Parameters (1)
idintegerrequired
The ID of the team to get.
twprojects-get_timelog
Get timelog.
Parameters (1)
idintegerrequired
The ID of the timelog to get.
twprojects-get_timer
Get timer.
Parameters (1)
idintegerrequired
The ID of the timer to get.
twprojects-get_user
Get user.
Parameters (1)
idintegerrequired
The ID of the user to get.
twprojects-get_user_me
Get the currently authenticated user.
No parameters.
twprojects-get_workflow
Get workflow.
Parameters (1)
idintegerrequired
The ID of the workflow to get.
twprojects-get_workflow_stage
Get workflow stage.
Parameters (2)
idintegerrequired
The ID of the workflow stage to get.
workflow_idintegerrequired
The ID of the workflow that owns the stage.
twprojects-link_project_to_workflow
Link a project to a workflow so its tasks track through workflow stages.
Parameters (2)
project_idintegerrequired
The ID of the project to link to the workflow.
workflow_idintegerrequired
The ID of the workflow to link the project to.
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 (6)
calendar_idintegerrequired
The ID of the calendar to list events from.
cursorany
Cursor for fetching the next page of results.
ended_before_dateany
Filter events that end before this date (format: YYYY-MM-DD).
limitany
Maximum number of events to return.
started_after_dateany
Filter events that start after this date (format: YYYY-MM-DD).
verboseany
If false, returns id + name only — useful when scanning many results.
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 (3)
pageany
Page number for pagination of results.
page_sizeany
Number of results per page for pagination.
verboseany
If false, returns id + name only — useful when scanning many results.
twprojects-list_companies
List companies (aka clients).
Parameters (6)
match_all_tagsany
If true, match all tags; if false, match any.
pageany
Page number for pagination of results.
page_sizeany
Number of results per page for pagination.
search_termany
A search term to filter companies by name. Each word from the search term is used to match against the company name.
tag_idsany
A list of tag IDs to filter companies by tags.
verboseany
If false, returns id + name only — useful when scanning many results.
twprojects-list_custom_field_values
List the custom field values of a task, project or company.
Parameters (6)
custom_field_idsany
Filter by custom field.
entitystringrequired
The type of entity to list custom field values for.
entity_idintegerrequired
The ID of the task, project or company to list custom field values for.
pageany
Page number for pagination of results.
page_sizeany
Number of results per page for pagination.
verboseany
If false, returns id + name only — useful when scanning many results.
twprojects-list_custom_fields
List custom fields.
Parameters (13)
entitiesany
Filter custom fields by entity type.
idsany
Custom field IDs to retrieve.
include_site_levelany
Whether to also include installation-level custom fields when filtering by project.
only_project_levelany
Whether to return only project-level custom fields.
only_site_levelany
Whether to return only installation-level custom fields.
order_byany
The field to sort the results by.
order_modeany
The direction to sort the results in.
pageany
Page number for pagination of results.
page_sizeany
Number of results per page for pagination.
project_idsany
Filter custom fields by project.
search_termany
A search term to filter custom fields by name.
show_deletedany
Whether to include deleted custom fields in the results.
verboseany
If false, returns id + name only — useful when scanning many results.
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 (7)
custom_item_idintegerrequired
Custom item type ID to list fields for.
idsany
Restrict to these field IDs.
order_modeany
The direction to order the results by (asc, desc).
pageany
Page number for pagination of results.
page_sizeany
Number of results per page for pagination.
search_termany
A search term to filter custom item fields by display name.
show_deletedany
Include deleted fields.
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 (9)
custom_item_idintegerrequired
Custom item type ID to list records for.
idsany
Restrict to these record IDs.
order_byany
Field to sort by.
order_modeany
The direction to order the results by (asc, desc).
pageany
Page number for pagination of results.
page_sizeany
Number of results per page for pagination.
search_termany
A search term to filter custom item records by name.
section_idsany
Restrict to records in these sections.
show_deletedany
Include deleted records.
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 (8)
idsany
Restrict to these custom item type IDs.
order_byany
Field to sort by.
order_modeany
The direction to order the results by (asc, desc).
pageany
Page number for pagination of results.
page_sizeany
Number of results per page for pagination.
project_idintegerrequired
Project ID to list custom item types for.
search_termany
A search term to filter custom items by display name or labels.
show_deletedany
Include deleted custom item types.
twprojects-list_industries
List supported company (aka client) industries.
No parameters.
twprojects-list_jobroles
List job roles.
Parameters (4)
pageany
Page number for pagination of results.
page_sizeany
Number of results per page for pagination.
search_termany
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.
verboseany
If false, returns id + name only — useful when scanning many results.
twprojects-list_links
List links.
Parameters (7)
match_all_tagsany
If true, match all tags; if false, match any.
pageany
Page number for pagination of results.
page_sizeany
Number of results per page for pagination.
project_idany
The ID of the project to filter links by.
search_termany
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_idsany
A list of tag IDs to filter links by tags.
verboseany
If false, returns id + name only — useful when scanning many results.
twprojects-list_message_replies
List replies under a message thread. Filter by message_ids or project_ids.
Parameters (6)
message_idsany
Filter by message.
pageany
Page number for pagination of results.
page_sizeany
Number of results per page for pagination.
project_idsany
Filter by project.
search_termany
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.
verboseany
If false, returns id + name only — useful when scanning many results.
twprojects-list_messages
List project messages (top-level posts). Use twprojects-list_message_replies for thread replies.
Parameters (7)
match_all_tagsany
If true, match all tags; if false, match any.
pageany
Page number for pagination of results.
page_sizeany
Number of results per page for pagination.
project_idsany
Filter messages by project.
search_termany
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_idsany
A list of tag IDs to filter messages by tags.
verboseany
If false, returns id + name only — useful when scanning many results.
twprojects-list_milestones
List milestones. Scope by project_id or omit for site-wide.
Parameters (7)
match_all_tagsany
If true, match all tags; if false, match any.
pageany
Page number for pagination of results.
page_sizeany
Number of results per page for pagination.
project_idany
The ID of the project from which to retrieve milestones. Omit to list milestones across all projects.
search_termany
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_idsany
A list of tag IDs to filter milestones by tags.
verboseany
If false, returns id + name only — useful when scanning many results.
twprojects-list_notebooks
List notebooks.
Parameters (8)
include_contentsany
If true, include notebook contents in the response.
match_all_tagsany
If true, match all tags; if false, match any.
pageany
Page number for pagination of results.
page_sizeany
Number of results per page for pagination.
project_idsany
Filter notebooks by project.
search_termany
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_idsany
A list of tag IDs to filter notebooks by tags.
verboseany
If false, returns id + name only — useful when scanning many results.
twprojects-list_project_budgets
List project budgets (top-level project financial budgets). Filter by project_ids or status.
Parameters (6)
cursorany
Cursor for fetching the next page of results.
limitany
Maximum number of budgets to return.
page_sizeany
Number of results per page for pagination.
project_idsany
Filter budgets by project.
statusany
Filter budgets by status.
verboseany
If false, returns id + name only — useful when scanning many results.
twprojects-list_project_categories
List project categories.
Parameters (4)
pageany
Page number for pagination of results.
page_sizeany
Number of results per page for pagination.
search_termany
A search term to filter project categories by name.
verboseany
If false, returns id + name only — useful when scanning many results.
twprojects-list_project_templates
List project templates.
Parameters (6)
match_all_tagsany
If true, match all tags; if false, match any.
pageany
Page number for pagination of results.
page_sizeany
Number of results per page for pagination.
project_category_idsany
Filter project templates by category.
search_termany
A search term to filter project templates by name or description.
tag_idsany
A list of tag IDs to filter project templates by tags.
twprojects-list_skills
List skills.
Parameters (4)
pageany
Page number for pagination of results.
page_sizeany
Number of results per page for pagination.
search_termany
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.
verboseany
If false, returns id + name only — useful when scanning many results.
twprojects-list_tags
List tags.
Parameters (6)
item_typeany
Filter tags by item type.
pageany
Page number for pagination of results.
page_sizeany
Number of results per page for pagination.
project_idsany
Filter by project.
search_termany
A search term to filter tags by name. Each word from the search term is used to match against the tag name.
verboseany
If false, returns id + name only — useful when scanning many results.
twprojects-list_tasklist_budgets
List tasklist budgets nested under a project budget. Requires project_budget_id.
Parameters (4)
pageany
Page number for pagination of results.
page_sizeany
Number of results per page for pagination.
project_budget_idintegerrequired
The ID of the project budget to list tasklist budgets for.
verboseany
If false, returns id + name only — useful when scanning many results.
twprojects-list_teams
List teams. Scope by company_id or project_id, or omit for site-wide.
Parameters (6)
company_idany
The ID of the company from which to retrieve teams. Omit to list teams across all companies.
pageany
Page number for pagination of results.
page_sizeany
Number of results per page for pagination.
project_idany
The ID of the project from which to retrieve teams. Omit to list teams across all projects.
search_termany
A search term to filter teams by name or handle.
verboseany
If false, returns id + name only — useful when scanning many results.
twprojects-list_timers
List timers.
Parameters (7)
pageany
Page number for pagination of results.
page_sizeany
Number of results per page for pagination.
project_idany
The ID of the project to filter timers by. Only timers associated with this project will be returned.
running_timers_onlyany
If true, only running timers are returned.
task_idany
The ID of the task to filter timers by. Only timers associated with this task will be returned.
user_idany
The ID of the user to filter timers by. Only timers associated with this user will be returned.
verboseany
If false, returns id + name only — useful when scanning many results.
twprojects-list_workflow_stages
List workflow stages.
Parameters (4)
pageany
Page number for pagination of results.
page_sizeany
Number of results per page for pagination.
verboseany
If false, returns id + name only — useful when scanning many results.
workflow_idintegerrequired
The ID of the workflow whose stages to list.
twprojects-list_workflows
List workflows.
Parameters (4)
pageany
Page number for pagination of results.
page_sizeany
Number of results per page for pagination.
search_termany
A search term to filter workflows by name.
verboseany
If false, returns id + name only — useful when scanning many results.
twprojects-pause_timer
Pause a running timer; can be resumed later. Use complete_timer to stop permanently.
Parameters (1)
idintegerrequired
The ID of the timer to pause.
twprojects-resume_timer
Resume a paused timer back to running.
Parameters (1)
idintegerrequired
The ID of the timer to resume.
twprojects-update_comment
Update comment.
Parameters (5)
bodystringrequired
The content of the comment. The content can be added as text or HTML.
content_typeany
The content type of the comment. It can be either 'TEXT' or 'HTML'.
idintegerrequired
The ID of the comment to update.
notifyany
Who to notify of the comment change.
notify_current_userany
Whether the current user should be notified about the comment change.
twprojects-update_company
Update company (aka client).
Parameters (18)
address_oneany
The first line of the address of the company.
address_twoany
The second line of the address of the company.
cityany
The city of the company.
country_codeany
The country code of the company, e.g., 'US' for the United States.
email_oneany
The primary email address of the company.
email_threeany
The tertiary email address of the company.
email_twoany
The secondary email address of the company.
faxany
The fax number of the company.
idintegerrequired
The ID of the company to update.
industry_idany
The ID of the industry the company belongs to.
manager_idany
The ID of the user who manages the company.
nameany
The name of the company.
phoneany
The phone number of the company.
profileany
A profile description for the company.
stateany
The state of the company.
tag_idsany
A list of tag IDs to associate with the company.
websiteany
The website of the company.
zipany
The ZIP or postal code of the company.
twprojects-update_custom_field
Update custom field.
Parameters (8)
currency_codeany
The ISO currency code for 'currency' or 'financial' type custom fields.
descriptionany
An optional description for the custom field.
formulaany
The formula expression for 'formula' type custom fields.
idintegerrequired
The ID of the custom field to update.
nameany
The display name of the custom field.
optionsany
Type-specific options for the custom field. For 'dropdown' and 'multiselect' types, provide {"choices": [{"value": "...", "color": "#rrggbb"}, ...]}. For 'rating' type, provide {"icon": "star|heart|...", "color": "#rrggbb"}. For 'number-decimal' type, provide {"decimals": <int>}.
requiredany
Whether the custom field must have a value when set on an entity.
unitany
The unit associated with the custom field, when applicable.
twprojects-update_custom_field_value
Update a custom field value on a task, project or company.
Parameters (7)
country_codeany
The country code for currency-type custom field values.
currency_codeany
The ISO currency code for currency-type custom field values.
custom_field_idintegerrequired
The ID of the custom field the value belongs to.
entitystringrequired
The type of entity the custom field value is attached to.
entity_idintegerrequired
The ID of the task, project or company the custom field value belongs to.
valueany
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.
value_idintegerrequired
The ID of the custom field value entry to update.
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 (5)
descriptionany
New description for the custom item type.
display_nameany
New display name for the custom item type.
idintegerrequired
Custom item type ID to update.
label_pluralany
New plural label.
label_singularany
New singular label.
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 (5)
custom_item_idintegerrequired
Custom item type ID the field belongs to.
definitionany
Replacement type-specific configuration as a JSON object.
display_nameany
New display name.
idintegerrequired
Field ID to update.
position_after_idany
Move this field after the given field ID.
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 (7)
clear_sectionany
Set to true to explicitly clear the record's section. Use this instead of section_id when you want null semantics.
custom_item_idintegerrequired
Custom item type ID the record belongs to.
field_valuesany
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.
idintegerrequired
Record ID to update.
nameany
New display name for the record.
position_after_idany
Move the record after the given record ID.
section_idany
New section ID, or null to remove the record from any section.
twprojects-update_jobrole
Update job role.
Parameters (2)
idintegerrequired
The ID of the job role to update.
nameany
The name of the job role.
twprojects-update_link
Update link.
Parameters (7)
codeany
The URL of the link. This is the actual web address that the link points to.
descriptionany
The description of the link. Longer text that provides detailed information about the link.
idintegerrequired
The ID of the link to update.
notifyany
Who to notify of the link update.
notify_current_userany
Whether the current user should be notified about the new link.
tag_idsany
A list of tag IDs to associate with the link.
titleany
The title of the link, which provides a brief summary of the purpose of the link.
twprojects-update_message
Update message.
Parameters (6)
bodyany
The body of the message.
idintegerrequired
The ID of the message to update.
notifyany
Who to notify of the message update.
notify_current_userany
Whether the current user should be notified about the new message.
project_idany
The ID of the project to create the message in.
titleany
The title of the message.
twprojects-update_message_reply
Update message reply.
Parameters (4)
bodyany
The body of the message reply.
idintegerrequired
The ID of the message reply to update.
notifyany
Who to notify of the reply update.
notify_current_userany
Whether the current user should be notified about the new messageReply.
twprojects-update_milestone
Update milestone.
Parameters (7)
assigneesany
Assignees for the milestone.
descriptionany
A description of the milestone.
due_dateany
The due date of the milestone (format: YYYYMMDD). Used for related tasks without their own due date.
idintegerrequired
The ID of the milestone to update.
nameany
The name of the milestone.
tag_idsany
A list of tag IDs to associate with the milestone.
tasklist_idsany
Tasklists to associate with the milestone.
twprojects-update_notebook
Update notebook.
Parameters (6)
contentsany
The contents of the notebook.
descriptionany
A description of the notebook.
idintegerrequired
The ID of the notebook to update.
nameany
The name of the notebook.
tag_idsany
A list of tag IDs to associate with the notebook.
typeany
The type of the notebook.
twprojects-update_project
Update project.
Parameters (10)
category_idany
The ID of the category to which the project belongs.
company_idany
The ID of the company associated with the project.
descriptionany
The description of the project.
end_atany
End date of the project (format: YYYYMMDD).
idintegerrequired
The ID of the project to update.
nameany
The name of the project.
owned_idany
The ID of the user who owns the project.
start_atany
Start date of the project (format: YYYYMMDD).
statusany
The status of the project.
tag_idsany
A list of tag IDs to associate with the project.
twprojects-update_project_category
Update project category.
Parameters (4)
colorany
The color of the project category in hex format (e.g., #FF5733).
idintegerrequired
The ID of the project category to update.
nameany
The name of the project category.
parent_idany
The ID of the parent project category, if any. This allows for nested categories.
twprojects-update_skill
Update skill.
Parameters (3)
idintegerrequired
The ID of the skill to update.
nameany
The name of the skill.
user_idsany
The user IDs associated with the skill.
twprojects-update_tag
Update tag.
Parameters (3)
idintegerrequired
The ID of the tag to update.
nameany
The name of the tag. It must have less than 50 characters.
project_idany
The ID of the project to associate the tag with. This is for project-scoped tags.
twprojects-update_tasklist
Update tasklist.
Parameters (4)
descriptionany
The description of the tasklist.
idintegerrequired
The ID of the tasklist to update.
milestone_idany
The ID of the milestone to associate with the tasklist.
nameany
The name of the tasklist.
twprojects-update_team
Update team.
Parameters (8)
company_idany
The ID of the company. This is used to create a team scoped for a specific company.
descriptionany
The description of the team.
handleany
The handle of the team. It is a unique identifier for the team. It must not have spaces or special characters.
idintegerrequired
The ID of the team to update.
nameany
The name of the team.
parent_team_idany
The ID of the parent team. This is used to create a hierarchy of teams.
project_idany
The ID of the project. This is used to create a team scoped for a specific project.
user_idsany
Users to add to the team.
twprojects-update_timer
Update timer.
Parameters (6)
billableany
If true, the timer is billable.
descriptionany
A description of the timer.
idintegerrequired
The ID of the timer to update.
project_idany
The ID of the project to associate the timer with.
runningany
If true, the timer will start running immediately.
task_idany
The ID of the task to associate the timer with.
twprojects-update_user
Update user.
Parameters (8)
adminany
Indicates whether the user is an administrator.
company_idany
The ID of the client/company to which the user belongs.
emailany
The email address of the user.
first_nameany
The first name of the user.
idintegerrequired
The ID of the user to update.
last_nameany
The last name of the user.
titleany
The job title of the user, such as 'Project Manager' or 'Senior Software Developer'.
typeany
The type of user, such as 'account', 'collaborator', or 'contact'.
twprojects-update_workflow
Update workflow.
Parameters (2)
idintegerrequired
The ID of the workflow to update.
nameany
The new name of the workflow.
twprojects-update_workflow_stage
Update workflow stage.
Parameters (3)
idintegerrequired
The ID of the workflow stage to update.
nameany
The new name of the workflow stage.
workflow_idintegerrequired
The ID of the workflow that owns the stage.
twprojects-users_workload
Get task allocation across users for a date range. (workload of users)
Parameters (8)
end_datestringrequired
End of the workload period.
pageany
Page number for pagination of results.
page_sizeany
Number of results per page for pagination.
project_idsany
Filter workload by project.
start_datestringrequired
Start of the workload period.
user_company_idsany
Filter workload by users' client/company.
user_idsany
Filter workload by user.
user_team_idsany
Filter workload by users' team.
twspaces-create_category
Create space category.
Parameters (2)
colorany
A hex color code for the category (e.g. "#FF5733").
namestringrequired
The name of the category.
twspaces-create_comment
Create comment on a page. Use parentId for replies.
Parameters (5)
contentstringrequired
The content of the comment.
isPrivateany
Set to true to create a private comment visible only to space members.
pageIdintegerrequired
The ID of the page to comment on.
parentIdany
The ID of the parent comment (for creating a reply).
spaceIdintegerrequired
The ID of the space containing the page.
twspaces-create_page
Create page in a space.
Parameters (10)
changeMessageany
A message describing the changes made in this version.
contentany
The HTML content of the page.
isFullWidthany
Display the page in full-width layout.
isPublishany
Set to true to publish the page immediately (default: draft).
isRequiredReadingany
Mark this page as required reading for space members.
parentIdany
The ID of the parent page (for creating a sub-page).
readerInlineCommentsEnabledany
Allow readers to add inline comments on this page.
slugany
A URL-friendly slug for the page.
spaceIdintegerrequired
The ID of the space to create the page in.
titlestringrequired
The title of the page.
twspaces-create_space
Create space.
Parameters (7)
categoryIdany
Category to assign. Use twspaces-list_categories to discover.
codestringrequired
A short unique code/identifier for the space (e.g. "ENG", "DOCS").
iconany
An icon identifier for the space.
projectIdany
The ID of a Teamwork project to link to this space.
purposeany
A brief description of the space's purpose.
spaceColorany
A hex color code for the space (e.g. "#FF5733").
titlestringrequired
The title of the space.
twspaces-create_tags
Create one or more Spaces tags in a single request.
Parameters (1)
tagsarrayrequired
Tags to create.
twspaces-delete_category
Delete space category.
Parameters (1)
idintegerrequired
The ID of the category to delete.
twspaces-delete_comment
Delete page comment. Irreversible.
Parameters (3)
commentIdintegerrequired
The ID of the comment to delete.
pageIdintegerrequired
The ID of the page containing the comment.
spaceIdintegerrequired
The ID of the space containing the page.
twspaces-delete_page
Delete page. Irreversible.
Parameters (2)
pageIdintegerrequired
The ID of the page to delete.
spaceIdintegerrequired
The ID of the space containing the page.
twspaces-delete_space
Delete space. Irreversible; removes all content.
Parameters (1)
idintegerrequired
The ID of the space to delete.
twspaces-delete_tag
Delete Spaces tag.
Parameters (1)
idintegerrequired
The ID of the tag to delete.
twspaces-duplicate_page
Duplicate page with a new title.
Parameters (5)
pageIdintegerrequired
The ID of the page to duplicate.
parentIdany
The ID of the parent page for the duplicate (defaults to same parent).
slugany
A URL-friendly slug for the duplicated page.
spaceIdintegerrequired
The ID of the space containing the page.
titlestringrequired
The title for the duplicated page.
twspaces-get_category
Get space category.
Parameters (1)
idintegerrequired
The ID of the category to retrieve.
twspaces-get_comment
Get page comment.
Parameters (3)
commentIdintegerrequired
The ID of the comment to retrieve.
pageIdintegerrequired
The ID of the page containing the comment.
spaceIdintegerrequired
The ID of the space containing the page.
twspaces-get_homepage
Get a space's homepage.
Parameters (1)
spaceIdintegerrequired
The ID of the space to retrieve the homepage for.
twspaces-get_page
Get page. Returns content, metadata, tags, and revision info.
Parameters (2)
pageIdintegerrequired
The ID of the page to retrieve.
spaceIdintegerrequired
The ID of the space containing the page.
twspaces-get_space
Get space.
Parameters (1)
idintegerrequired
The ID of the space to retrieve.
twspaces-get_tag
Get Spaces tag.
Parameters (1)
idintegerrequired
The ID of the tag to retrieve.
twspaces-list_categories
List space categories.
Parameters (2)
pageOffsetany
The index position to start retrieving results from (not a page number).
pageSizeany
Number of results per page for pagination.
twspaces-list_comments
List comments on a page. Returns top-level comments with replies.
Parameters (4)
pageIdintegerrequired
The ID of the page to list comments for.
pageOffsetany
The index position to start retrieving results from (not a page number).
pageSizeany
Number of results per page for pagination.
spaceIdintegerrequired
The ID of the space containing the page.
twspaces-list_pages
List pages in a space as a hierarchical tree.
Parameters (3)
pageOffsetany
The index position to start retrieving results from (not a page number).
pageSizeany
Number of results per page for pagination.
spaceIdintegerrequired
The ID of the space to list pages for.
twspaces-list_space_collaborators
List space collaborators (users and teams).
Parameters (1)
idintegerrequired
The ID of the space to retrieve collaborators for.
twspaces-list_spaces
List spaces.
Parameters (2)
pageOffsetany
The index position to start retrieving results from (not a page number).
pageSizeany
Number of results per page for pagination.
twspaces-list_tags
List Spaces tags.
Parameters (2)
pageOffsetany
The index position to start retrieving results from (not a page number).
pageSizeany
Number of results per page for pagination.
twspaces-search
Full-text search across pages. Filter by space.
Parameters (5)
includeDeletedany
Include deleted pages in search results.
pageOffsetany
The index position to start retrieving results from (not a page number).
pageSizeany
Number of results per page for pagination.
querystringrequired
The search query string.
spaceIdsany
Limit search to specific spaces. Use twspaces-list_spaces to discover.
twspaces-update_category
Update space category.
Parameters (3)
colorany
A new hex color code for the category.
idintegerrequired
The ID of the category to update.
nameany
The new name for the category.
twspaces-update_comment
Update page comment.
Parameters (6)
commentIdintegerrequired
The ID of the comment to update.
contentany
The new content of the comment.
isPrivateany
Change the privacy setting of the comment.
pageIdintegerrequired
The ID of the page containing the comment.
spaceIdintegerrequired
The ID of the space containing the page.
stateany
The new state of the comment (e.g. "active", "resolved").
twspaces-update_page
Update page.
Parameters (13)
changeMessageany
A message describing the changes made in this version.
contentany
The new HTML content of the page.
draftVersionany
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.
isFullWidthany
Toggle full-width layout for this page.
isMinorChangeany
Mark this update as a minor change (won't notify watchers).
isPublishany
Set to true to publish the page, false to revert to draft.
isRequiredReadingany
Mark or unmark this page as required reading.
pageIdintegerrequired
The ID of the page to update.
parentIdany
The ID of the new parent page (to move the page).
readerInlineCommentsEnabledany
Allow or disallow readers from adding inline comments.
slugany
A new URL-friendly slug for the page.
spaceIdintegerrequired
The ID of the space containing the page.
titleany
The new title of the page.
twspaces-update_space
Update space.
Parameters (9)
categoryIdany
Category to assign. Use twspaces-list_categories to discover.
codeany
A new short unique code/identifier for the space.
iconany
A new icon identifier for the space.
idintegerrequired
The ID of the space to update.
projectIdany
The ID of a Teamwork project to link to this space.
purposeany
A new brief description of the space's purpose.
spaceColorany
A new hex color code for the space.
stateany
The state of the space (e.g. "active", "archived").
Model Context Protocol server for Teamwork.com integration with Large Language
Models
📌 Are you a Teamwork.com user wanting to connect AI tools to your Teamwork.com
site right now? Jump straight to the Usage Guide for
tokens, enabling MCP, and client configuration examples.
📖 Overview
This MCP (Model Context Protocol) server enables seamless integration between
Large Language Models and Teamwork.com. It provides a standardized interface for
LLMs to interact with Teamwork.com projects, allowing AI agents to perform
various project management operations.
🤖 What is MCP?
Model Context Protocol (MCP) is an open protocol that standardizes how
applications provide context to LLMs. This server describes all the actions
available in Teamwork.com (tools) in a way that LLMs can understand and execute
through AI agents.
✨ Features
Multiple Transport Modes: HTTP and STDIO interfaces for different deployment scenarios
Secure Authentication: Bearer token and OAuth2 integration with Teamwork.com
Tool Framework: Extensible toolset architecture for adding new capabilities
Production Ready: Comprehensive logging, monitoring, and observability
Read-Only Mode: Optional restriction to read-only operations for safety
🚀 Available Servers
This project provides three different ways to interact with the Teamwork.com MCP
server:
📡 HTTP Server
Production-ready HTTP server for cloud deployments and multi-client support.
Note: The NODE_EXTRA_CA_CERTS environment variable is required when
using OAuth2 authentication with the Let's Encrypt certification authority.
Download the certificate here.