The Teamwork connector lets your AI agent act in each user's Teamwork account. Each user signs in to Teamwork once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 250 tools.
- Tools
- 250
- What they doRead · write · destructive
- 112 · 102 · 36112 read102 write36 destructive
- Users sign in with
- OAuth
- OAuth app
- Your own Teamwork app
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet your credentials
Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret>Create the Teamwork connection
In AgentKit > Connections, create a Teamwork connection and copy its redirect URI. The name you give it is the
connection_nameyour code passes. See Configure connections.Register an OAuth app
Teamwork connections use your own OAuth app. Register one with Teamwork and add the redirect URI you copied.
Then enter the app's Client ID and Client Secret on the Teamwork connection.
Authorize a user and make your first call
quickstart.mts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'import { createInterface } from 'node:readline/promises'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENVIRONMENT_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'teamwork'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Teamwork:', link)const rl = createInterface({ input: process.stdin, output: process.stdout })await rl.question('Press Enter after authorizing...')rl.close()// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'teamwork_activity_list',toolInput: {},})console.log(result)Terminal window npx tsx quickstart.mtsquickstart.py import osfrom scalekit import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "teamwork"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Teamwork:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="teamwork_activity_list",connection_name=connection_name,identifier=identifier,)print(result)Terminal window python quickstart.pyEach user signs in once. See Authorize a user for the full flow and statuses.
Tools
Pass the exact name toexecute_toolteamwork_activity_listList the latest activity across all projects the user can see.Read-onlyList Latest Activity
List the latest activity across all projects the user can see. Returns activity entries with type, actor, item and timestamp, newest first. Use for a site-wide activity feed. Use teamwork_project_activity_list for one project.
Inputs
activity_typesstring- Comma-separated activity types to include, for example new, edited, completed. Example: new,completed.
end_datestring- Only activity on or before this date (YYYY-MM-DD). Example: 2025-01-31.
pageinteger- Page number to return, starting at 1. Example: 1.
page_sizeinteger- Number of items per page (default 50, max 500). Example: 50.
project_idsstring- Comma-separated project ids; only activity in these projects. Example: 123456.
start_datestring- Only activity on or after this date (YYYY-MM-DD). Example: 2025-01-01.
user_idsstring- Comma-separated user ids; only activity by these users. Example: 101,102.
teamwork_calendar_event_getRetrieve one calendar event by id.Read-onlyGet Calendar Event
Retrieve one calendar event by id. Returns the event with title, times, location, description and attendees. Use when you have an event id. Use teamwork_calendar_events_list to find events.
Inputs
event_idintegerrequired- Id of the calendar event. Example: 7701.
teamwork_calendar_event_types_listList the calendar event types defined on the Teamwork site.Read-onlyList Calendar Event Types
List the calendar event types defined on the Teamwork site. Returns each event type with id and name. Use to find an event type id for teamwork_calendar_event_update.
Inputs
This tool takes no inputs.
teamwork_calendar_events_listList the calendar events you can see in a date range.Read-onlyList Calendar Events
List the calendar events you can see in a date range. Returns each event with id, title, start, end and attendees. Use to see what is scheduled. Use teamwork_calendar_event_get for one event.
Inputs
end_datestringrequired- End of the range in YYYYMMDD format. Example: 20250331.
start_datestringrequired- Start of the range in YYYYMMDD format. Example: 20250301.
teamwork_comment_getRetrieve one comment on a task, milestone, notebook or link by id.Read-onlyGet Comment
Retrieve one comment on a task, milestone, notebook or link by id. Returns the comment with body, author, timestamp and the object it belongs to. Use when you have a comment id and need its detail. Use teamwork_message_reply_get for a reply to a message.
Inputs
comment_idintegerrequired- Id of the comment. Example: 88001.
teamwork_comments_listList comments across tasks, milestones, notebooks, links, files and other items you can see.Read-onlyList Comments
List comments across tasks, milestones, notebooks, links, files and other items you can see. Returns a page of comments with body, author, parent item and timestamps, plus paging metadata. Use to search or review discussion across projects. Use teamwork_task_comments_list or teamwork_milestone_comments_list for one item.
Inputs
object_idsstring- Comma-separated ids of the items to read comments for. Example: 7654321,7654322.
object_typestring- Only comments on this type of item. Example: task.
order_modestring- Sort direction. Example: asc. Allowed values: asc, desc.one of
ascdesc pageinteger- Page number to return, starting at 1. Example: 1.
page_sizeinteger- Number of items per page (default 50, max 500). Example: 50.
project_idsstring- Comma-separated project ids; only comments in these projects. Example: 123456.
search_termstring- Only return comments whose name or text matches this term. Example: roadmap.
updated_afterstring- Only comments updated after this ISO 8601 timestamp. Example: 2025-01-01T00:00:00Z.
teamwork_companies_listList companies (clients) on the Teamwork site.Read-onlyList Companies
List companies (clients) on the Teamwork site. Returns a page of companies with id, name, website and contact details. Use to find a company id for teamwork_project_create or teamwork_people_list.
Inputs
pageinteger- Page number to return, starting at 1. Example: 1.
page_sizeinteger- Number of items per page (default 50, max 500). Example: 50.
search_termstring- Only return companies whose name or text matches this term. Example: roadmap.
teamwork_company_getRetrieve one company by id.Read-onlyGet Company
Retrieve one company by id. Returns the company's name, website, address and contact details. Use when you have a company id and need its detail.
Inputs
company_idintegerrequired- Id of the company. Example: 55.
teamwork_company_people_listList the people who belong to one company.Read-onlyList Company People
List the people who belong to one company. Returns each person with id, name and email. Use to see who works at a client. Use teamwork_people_list for everyone on the site.
Inputs
company_idintegerrequired- Id of the company. Example: 55.
teamwork_company_projects_listList the projects that belong to one company.Read-onlyList Company Projects
List the projects that belong to one company. Returns each project with id, name and status. Use to see a client's projects. Use teamwork_projects_list with a company filter for more options.
Inputs
company_idintegerrequired- Id of the company. Example: 55.
teamwork_currency_codes_listList the currency codes Teamwork accepts.Read-onlyList Currency Codes
List the currency codes Teamwork accepts. Returns each currency with its code and name. Use to find a valid currency_code for teamwork_invoice_create or teamwork_customfield_create.
Inputs
This tool takes no inputs.
teamwork_customfield_getRetrieve one custom field definition by id.Read-onlyGet Custom Field
Retrieve one custom field definition by id. Returns the field with name, type, entity, options and project. Use when you have a custom field id. Use teamwork_customfields_list to find fields.
Inputs
customfield_idintegerrequired- Id of the custom field. Example: 6801.
teamwork_customfields_listList the custom field definitions on the Teamwork site, including project-scoped ones.Read-onlyList Custom Fields
List the custom field definitions on the Teamwork site, including project-scoped ones. Returns a page of custom fields with id, name, type, entity and project. Use to find a custom field id before reading or setting values. Use teamwork_customfield_get for one field.
Inputs
order_bystring- Field to sort by. Example: name. Allowed values: name, project, dateCreated, dateUpdated, id.one of
nameprojectdateCreateddateUpdatedid order_modestring- Sort direction. Example: asc. Allowed values: asc, desc.one of
ascdesc pageinteger- Page number to return, starting at 1. Example: 1.
page_sizeinteger- Number of items per page (default 50, max 500). Example: 50.
search_termstring- Only return custom fields whose name or text matches this term. Example: roadmap.
teamwork_expense_getRetrieve one expense by id.Read-onlyGet Expense
Retrieve one expense by id. Returns the expense with name, description, cost, date and project. Use when you have an expense id and need its detail.
Inputs
expense_idintegerrequired- Id of the expense. Example: 2201.
teamwork_expenses_listList the expenses recorded across all projects you can see.Read-onlyList Expenses
List the expenses recorded across all projects you can see. Returns each expense with id, name, cost, date and project. Use for a cross-project expense review. Use teamwork_project_expenses_list for one project.
Inputs
This tool takes no inputs.
teamwork_file_categories_listList the file categories defined in one project.Read-onlyList File Categories
List the file categories defined in one project. Returns each category with id, name and parent. Use to find a category id to pass when creating or updating a file.
Inputs
project_idintegerrequired- Id of the project. Example: 123456.
teamwork_file_getRetrieve the details of one file, including a short-lived download URL.Read-onlyGet File
Retrieve the details of one file, including a short-lived download URL. Returns the file with name, size, version, uploader and a download URL that is valid for one hour. Use when you have a file id. Use teamwork_project_files_list to find files.
Inputs
file_idintegerrequired- Id of the file. Example: 4401.
teamwork_invoice_getRetrieve an invoice with its line items.Read-onlyGet Invoice
Retrieve an invoice with its line items. Returns the invoice with the time entries and expenses on it. Use when you have an invoice id. Use teamwork_invoices_list to find invoices.
Inputs
invoice_idintegerrequired- Id of the invoice. Example: 3301.
teamwork_invoices_listList the invoices across all projects you can see.Read-onlyList Invoices
List the invoices across all projects you can see. Returns each invoice with id, number, status, project and totals. Use for a cross-project billing review. Use teamwork_project_invoices_list for one project.
Inputs
pageinteger- Page number to return, starting at 1. Example: 1.
typestring- Which invoices to return. Example: active. Allowed values: active, all, completed.one of
activeallcompleted
teamwork_job_roles_listList the job roles defined on the Teamwork site.Read-onlyList Job Roles
List the job roles defined on the Teamwork site. Returns a page of job roles with id and name. Use to find a job role id for resource planning.
Inputs
order_modestring- Sort direction. Example: asc. Allowed values: asc, desc.one of
ascdesc pageinteger- Page number to return, starting at 1. Example: 1.
page_sizeinteger- Number of items per page (default 50, max 500). Example: 50.
search_termstring- Only return job roles whose name or text matches this term. Example: roadmap.
teamwork_link_categories_listList the link categories defined in one project.Read-onlyList Link Categories
List the link categories defined in one project. Returns each category with id, name and parent. Use to find a category id to pass when creating or updating a link.
Inputs
project_idintegerrequired- Id of the project. Example: 123456.
teamwork_link_comments_listList the comments on one link.Read-onlyList Link Comments
List the comments on one link. Returns a page of comments with body, author and timestamps. Use to read discussion on a link. Use teamwork_comments_list to search across items.
Inputs
link_idintegerrequired- Id of the link. Example: 3001.
pageinteger- Page number to return, starting at 1. Example: 1.
page_sizeinteger- Number of items per page (default 50, max 500). Example: 50.
teamwork_link_getRetrieve one link by id.Read-onlyGet Link
Retrieve one link by id. Returns the link with name, URL, description and category. Use when you have a link id and need its detail.
Inputs
link_idintegerrequired- Id of the link. Example: 3001.
teamwork_links_listList the links on all projects you can see.Read-onlyList Links
List the links on all projects you can see. Returns each link with id, name, URL, category and project. Use to find a link across projects. Use teamwork_project_links_list for one project.
Inputs
This tool takes no inputs.
teamwork_me_getRetrieve the profile of the authenticated Teamwork user.Read-onlyGet Current User
Retrieve the profile of the authenticated Teamwork user. Returns the user's id, name, email, company and role. Use to identify who the connection acts as, or to get the user id to assign tasks to yourself.
Inputs
This tool takes no inputs.
teamwork_message_categories_listList the message categories defined in one project.Read-onlyList Message Categories
List the message categories defined in one project. Returns each category with id, name and parent. Use to find a category id to pass when creating or updating a message.
Inputs
project_idintegerrequired- Id of the project. Example: 123456.
teamwork_message_getRetrieve one message board post by id.Read-onlyGet Message
Retrieve one message board post by id. Returns the message with title, body, author and project. Use when you have a message id and need its full text.
Inputs
message_idintegerrequired- Id of the message. Example: 6001.
teamwork_message_replies_listList the replies to a message.Read-onlyList Message Replies
List the replies to a message. Returns a page of replies with id, body, author and timestamp. Use to read a message thread.
Inputs
message_idintegerrequired- Id of the message. Example: 6001.
pageinteger- Page number to return, starting at 1. Example: 1.
page_sizeinteger- Number of items per page (default 50, max 500). Example: 50.
teamwork_message_reply_getRetrieve one message reply by id.Read-onlyGet Message Reply
Retrieve one message reply by id. Returns the reply with body, author, message and timestamps. Use when you have a reply id. Use teamwork_message_replies_list for all replies on a message.
Inputs
reply_idintegerrequired- Id of the message reply. Example: 6501.
teamwork_messages_listList message board posts across projects.Read-onlyList Messages
List message board posts across projects. Returns a page of messages with id, title, author, project and timestamp. Use to browse project discussions. Use teamwork_message_get for the full text of one.
Inputs
created_afterstring- Only messages created after this ISO 8601 timestamp. Example: 2025-01-01T00:00:00Z.
pageinteger- Page number to return, starting at 1. Example: 1.
page_sizeinteger- Number of items per page (default 50, max 500). Example: 50.
project_idsstring- Comma-separated project ids; only messages in these projects. Example: 123456.
search_termstring- Only return messages whose name or text matches this term. Example: roadmap.
unread_onlyboolean- When true, only unread messages. Example: false.
teamwork_milestone_comments_listList the comments on a milestone.Read-onlyList Milestone Comments
List the comments on a milestone. Returns a page of comments with id, body, author and timestamp. Use to read a milestone's discussion.
Inputs
milestone_idintegerrequired- Id of the milestone. Example: 4001.
pageinteger- Page number to return, starting at 1. Example: 1.
page_sizeinteger- Number of items per page (default 50, max 500). Example: 50.
teamwork_milestone_getRetrieve one milestone by id.Read-onlyGet Milestone
Retrieve one milestone by id. Returns the milestone with title, description, deadline, status and linked task lists. Use when you have a milestone id and need its detail.
Inputs
milestone_idintegerrequired- Id of the milestone. Example: 4001.
teamwork_milestones_listList milestones across all projects.Read-onlyList Milestones
List milestones across all projects. Returns a page of milestones with id, title, deadline, status and project. Use to find upcoming or overdue milestones. Use teamwork_project_milestones_list for one project.
Inputs
assigned_to_user_idsstring- Comma-separated user ids; only milestones assigned to these users. Example: 101.
due_afterstring- Only milestones due on or after this date (YYYY-MM-DD). Example: 2025-01-01.
due_beforestring- Only milestones due on or before this date (YYYY-MM-DD). Example: 2025-12-31.
pageinteger- Page number to return, starting at 1. Example: 1.
page_sizeinteger- Number of items per page (default 50, max 500). Example: 50.
project_idsstring- Comma-separated project ids; only milestones in these projects. Example: 123456.
search_termstring- Only return milestones whose name or text matches this term. Example: roadmap.
teamwork_my_status_getRetrieve the current status message of the authenticated user.Read-onlyGet My Status
Retrieve the current status message of the authenticated user. Returns the status with id, message and date. Use to read your own status. Use teamwork_statuses_list for everyone.
Inputs
This tool takes no inputs.
teamwork_my_timers_listList the running and paused timers of the authenticated user.Read-onlyList My Timers
List the running and paused timers of the authenticated user. Returns each timer with id, task, project, running state and elapsed seconds. Use to see what you are timing right now. Use teamwork_timers_list for the site-wide list.
Inputs
This tool takes no inputs.
teamwork_notebook_categories_listList the notebook categories defined in one project.Read-onlyList Notebook Categories
List the notebook categories defined in one project. Returns each category with id, name and parent. Use to find a category id to pass when creating or updating a notebook.
Inputs
project_idintegerrequired- Id of the project. Example: 123456.
teamwork_notebook_comments_listList the comments on one notebook.Read-onlyList Notebook Comments
List the comments on one notebook. Returns a page of comments with body, author and timestamps. Use to read discussion on a notebook. Use teamwork_comments_list to search across items.
Inputs
notebook_idintegerrequired- Id of the notebook. Example: 2001.
pageinteger- Page number to return, starting at 1. Example: 1.
page_sizeinteger- Number of items per page (default 50, max 500). Example: 50.
teamwork_notebook_getRetrieve one notebook by id.Read-onlyGet Notebook
Retrieve one notebook by id. Returns the notebook with name, description and contents. Use when you have a notebook id and need its text.
Inputs
notebook_idintegerrequired- Id of the notebook. Example: 2001.
teamwork_notebook_version_getRetrieve one saved version of a notebook, including its contents.Read-onlyGet Notebook Version
Retrieve one saved version of a notebook, including its contents. Returns the version with contents, author and timestamp. Use after teamwork_notebook_versions_list to read an earlier version.
Inputs
notebook_idintegerrequired- Id of the notebook. Example: 2001.
version_idintegerrequired- Id of the version. Example: 9101.
teamwork_notebook_versions_listList the saved versions of a notebook.Read-onlyList Notebook Versions
List the saved versions of a notebook. Returns each version with id, author and timestamp. Use to review a notebook's edit history. Use teamwork_notebook_version_get to read one version.
Inputs
notebook_idintegerrequired- Id of the notebook. Example: 2001.
teamwork_notebooks_listList notebooks across projects.Read-onlyList Notebooks
List notebooks across projects. Returns a page of notebooks with id, name, project and last update. Use to find project documentation. Use teamwork_notebook_get for the contents.
Inputs
pageinteger- Page number to return, starting at 1. Example: 1.
page_sizeinteger- Number of items per page (default 50, max 500). Example: 50.
project_idsstring- Comma-separated project ids; only notebooks in these projects. Example: 123456.
search_termstring- Only return notebooks whose name or text matches this term. Example: roadmap.
teamwork_people_listList people on the Teamwork site, optionally filtered by name, email, company or project.Read-onlyList People
List people on the Teamwork site, optionally filtered by name, email, company or project. Returns a page of people with id, name, email, company and user type. Use to find a user id for assignment. Use teamwork_project_people_list for one project's members.
Inputs
company_idsstring- Comma-separated company ids; only people in these companies. Example: 55.
emailsstring- Comma-separated email addresses; only people with these emails. Example: ana@example.com.
pageinteger- Page number to return, starting at 1. Example: 1.
page_sizeinteger- Number of items per page (default 50, max 500). Example: 50.
project_idsstring- Comma-separated project ids; only members of these projects. Example: 123456.
search_termstring- Only return people whose name or text matches this term. Example: roadmap.
user_typestring- Only people of this type. Example: account. Allowed values: account, collaborator, contact.one of
accountcollaboratorcontact
teamwork_person_getRetrieve one person by id.Read-onlyGet Person
Retrieve one person by id. Returns the person's name, email, title, company and user type. Use when you have a user id and need their profile.
Inputs
person_idintegerrequired- Id of the person. Example: 101.
teamwork_personal_tasks_listList the personal tasks of the authenticated user, which live outside any project.Read-onlyList Personal Tasks
List the personal tasks of the authenticated user, which live outside any project. Returns a page of personal tasks with id, name, status and dates. Use for a user's private to-do list. Use teamwork_tasks_list for project tasks.
Inputs
pageinteger- Page number to return, starting at 1. Example: 1.
page_sizeinteger- Number of items per page (default 50, max 500). Example: 50.
teamwork_portfolio_board_columns_listList the columns of one portfolio board.Read-onlyList Portfolio Board Columns
List the columns of one portfolio board. Returns each column with id, name and colour. Use to find a column id. Use teamwork_portfolio_column_cards_list for the projects in a column.
Inputs
board_idintegerrequired- Id of the portfolio board. Example: 801.
teamwork_portfolio_board_getRetrieve one portfolio board by id.Read-onlyGet Portfolio Board
Retrieve one portfolio board by id. Returns the board with name, description, colour and project statistics. Use when you have a board id. Use teamwork_portfolio_boards_list to find boards.
Inputs
board_idintegerrequired- Id of the portfolio board. Example: 801.
teamwork_portfolio_boards_listList the portfolio boards, which group projects into columns for a high-level view.Read-onlyList Portfolio Boards
List the portfolio boards, which group projects into columns for a high-level view. Returns each board with id, name, description, colour and project count. Use to find a portfolio board id. Use teamwork_portfolio_board_columns_list for a board's columns.
Inputs
This tool takes no inputs.
teamwork_portfolio_column_cards_listList the projects (cards) inside one portfolio column.Read-onlyList Portfolio Column Projects
List the projects (cards) inside one portfolio column. Returns each card with its id and the project it represents. Use to see which projects sit in a column.
Inputs
column_idintegerrequired- Id of the portfolio column. Example: 901.
teamwork_project_activity_listList the latest activity inside one project.Read-onlyList Project Activity
List the latest activity inside one project. Returns activity entries with type, actor, item and timestamp, newest first. Use to see what changed in a single project. Use teamwork_activity_list for all projects.
Inputs
project_idintegerrequired- Id of the project. Example: 123456.
end_datestring- Only activity on or before this date (YYYY-MM-DD). Example: 2025-01-31.
pageinteger- Page number to return, starting at 1. Example: 1.
page_sizeinteger- Number of items per page (default 50, max 500). Example: 50.
start_datestring- Only activity on or after this date (YYYY-MM-DD). Example: 2025-01-01.
teamwork_project_categories_listList the project categories defined on the Teamwork site.Read-onlyList Project Categories
List the project categories defined on the Teamwork site. Returns category id, name and colour for each category. Use to find a category id to pass to teamwork_project_create or teamwork_projects_list.
Inputs
This tool takes no inputs.
teamwork_project_customfield_values_listList the custom field values set on one project.Read-onlyList Project Custom Field Values
List the custom field values set on one project. Returns a page of values with the field id and the stored value. Use to read a project's custom data. Use teamwork_customfields_list to see field definitions.
Inputs
project_idintegerrequired- Id of the project. Example: 123456.
pageinteger- Page number to return, starting at 1. Example: 1.
page_sizeinteger- Number of items per page (default 50, max 500). Example: 50.
teamwork_project_expenses_listList the expenses recorded in one project, optionally filtered by date or invoiced state.Read-onlyList Project Expenses
List the expenses recorded in one project, optionally filtered by date or invoiced state. Returns each expense with id, name, cost, date and invoiced state. Use when you know the project. Use teamwork_expenses_list for all projects.
Inputs
project_idintegerrequired- Id of the project. Example: 123456.
from_datestring- Only expenses on or after this date (YYYYMMDD). Example: 20250301.
invoiced_typestring- Filter by invoiced state. Example: NonInvoiced. Allowed values: Invoiced, NonInvoiced.one of
InvoicedNonInvoiced to_datestring- Only expenses on or before this date (YYYYMMDD). Example: 20250331.
teamwork_project_files_listList the files stored in one project.Read-onlyList Project Files
List the files stored in one project. Returns each file with id, name, size, category, uploader and date. Use to find a file id. Uploading files is not supported by these tools.
Inputs
project_idintegerrequired- Id of the project. Example: 123456.
teamwork_project_getRetrieve a single project by id.Read-onlyGet Project
Retrieve a single project by id. Returns the project with name, description, status, start and end dates, owner, company and category. Use after teamwork_projects_list when you have a project id and need its full detail.
Inputs
project_idintegerrequired- Id of the project to retrieve. Example: 123456.
includestring- Comma-separated related objects to sideload into the response. Allowed values: projectOwners, companies, projectCategories, tags, users, createdBy. Example: tags,companies.
teamwork_project_invoices_listList the invoices of one project.Read-onlyList Project Invoices
List the invoices of one project. Returns each invoice with id, number, status and totals. Use when you know the project. Use teamwork_invoices_list for all projects.
Inputs
project_idintegerrequired- Id of the project. Example: 123456.
pageinteger- Page number to return, starting at 1. Example: 1.
typestring- Which invoices to return. Example: active. Allowed values: active, all, completed.one of
activeallcompleted
teamwork_project_links_listList the links saved in one project.Read-onlyList Project Links
List the links saved in one project. Returns each link with id, name, URL and category. Use when you know the project. Use teamwork_links_list for all projects.
Inputs
project_idintegerrequired- Id of the project. Example: 123456.
teamwork_project_messages_archived_listList the archived messages of one project.Read-onlyList Archived Messages
List the archived messages of one project. Returns a summary record for each archived message with id, title and author. Use to find a message to bring back with teamwork_message_unarchive. Use teamwork_messages_list for active messages.
Inputs
project_idintegerrequired- Id of the project. Example: 123456.
teamwork_project_milestones_listList the milestones in one project.Read-onlyList Project Milestones
List the milestones in one project. Returns a page of milestones with id, title, deadline and status. Use when you know the project. Use teamwork_milestones_list to search across projects.
Inputs
project_idintegerrequired- Id of the project. Example: 123456.
pageinteger- Page number to return, starting at 1. Example: 1.
page_sizeinteger- Number of items per page (default 50, max 500). Example: 50.
teamwork_project_people_listList the people who are members of a project.Read-onlyList Project People
List the people who are members of a project. Returns a page of people with id, name, email and company. Use to see who works on a project. Use teamwork_people_list for everyone on the site.
Inputs
project_idintegerrequired- Id of the project whose members to list. Example: 123456.
pageinteger- Page number to return, starting at 1. Example: 1.
page_sizeinteger- Number of items per page (default 50, max 500). Example: 50.
search_termstring- Only return people whose name or text matches this term. Example: roadmap.
teamwork_project_person_getRetrieve one person as seen within a project.Read-onlyGet Project Person
Retrieve one person as seen within a project. Returns the person with name, email, company and project role details. Use to check a user's record in a project. Use teamwork_project_people_list for all members.
Inputs
person_idintegerrequired- Id of the person. Example: 101.
project_idintegerrequired- Id of the project. Example: 123456.
teamwork_project_risks_listList the risks in the risk register of one project.Read-onlyList Project Risks
List the risks in the risk register of one project. Returns a page of risks with source, probability, impact and mitigation plan, plus paging metadata. Use when you know the project. Use teamwork_risks_list across projects.
Inputs
project_idintegerrequired- Id of the project. Example: 123456.
order_modestring- Sort direction. Example: asc. Allowed values: asc, desc.one of
ascdesc pageinteger- Page number to return, starting at 1. Example: 1.
page_sizeinteger- Number of items per page (default 50, max 500). Example: 50.
search_termstring- Only return risks whose name or text matches this term. Example: roadmap.
teamwork_project_stats_getRetrieve the task, milestone and activity statistics of one project.Read-onlyGet Project Stats
Retrieve the task, milestone and activity statistics of one project. Returns counts of tasks, completed and late tasks, milestones and similar totals for the project. Use for a quick progress snapshot. Use teamwork_project_summary_get for the dashboard-style summary.
Inputs
project_idintegerrequired- Id of the project. Example: 123456.
teamwork_project_status_updates_listList the status updates posted on one project.Read-onlyList Status Updates for Project
List the status updates posted on one project. Returns a page of status updates with text, health, author and date. Use to read a project's status history. Use teamwork_status_updates_list for all projects.
Inputs
project_idintegerrequired- Id of the project. Example: 123456.
created_afterstring- Only updates created after this ISO 8601 timestamp. Example: 2025-01-01T00:00:00Z.
order_modestring- Sort direction. Example: asc. Allowed values: asc, desc.one of
ascdesc pageinteger- Page number to return, starting at 1. Example: 1.
page_sizeinteger- Number of items per page (default 50, max 500). Example: 50.
teamwork_project_summary_getRetrieve the dashboard summary of a project.Read-onlyGet Project Summary
Retrieve the dashboard summary of a project. Returns counters for tasks, milestones, events, risks, timers, unread items and project health. Use for a high-level status of one project. Use teamwork_project_stats_get for classic statistics.
Inputs
project_idintegerrequired- Id of the project. Example: 123456.
teamwork_project_tasklists_listList the task lists in one project.Read-onlyList Project Task Lists
List the task lists in one project. Returns a page of task lists with id, name, description and completion state. Use when you know the project. Use teamwork_tasklists_list to search across projects.
Inputs
project_idintegerrequired- Id of the project. Example: 123456.
pageinteger- Page number to return, starting at 1. Example: 1.
page_sizeinteger- Number of items per page (default 50, max 500). Example: 50.
teamwork_project_tasks_listList the tasks in one project, optionally filtered by assignee, tag, priority or due date.Read-onlyList Project Tasks
List the tasks in one project, optionally filtered by assignee, tag, priority or due date. Returns a page of tasks with id, name, status, priority, dates and assignees, plus paging metadata. Use when you know the project. Use teamwork_tasks_list to search across projects.
Inputs
project_idintegerrequired- Id of the project whose tasks to list. Example: 123456.
due_afterstring- Only tasks due on or after this date (YYYY-MM-DD). Example: 2025-01-01.
due_beforestring- Only tasks due on or before this date (YYYY-MM-DD). Example: 2025-12-31.
includestring- Comma-separated related objects to sideload into the response. Allowed values: projects, tasklists, parentTasks, companies, teams, users, milestones, comments, tags, timeTotals, subtaskStats, attachments. Example: tasklists,users.
include_completed_tasksboolean- When true, completed tasks are included. Example: false.
order_bystring- Field to sort by. Example: duedate.one of
idstartdatecreatedatpriorityprojectduedateupdatedattasknamecompletedatassignedtoestimatedtimedateaddeddateupdateddatecompletedtags order_modestring- Sort direction. Example: asc. Allowed values: asc, desc.one of
ascdesc pageinteger- Page number to return, starting at 1. Example: 1.
page_sizeinteger- Number of items per page (default 50, max 500). Example: 50.
prioritystring- Only tasks with this priority. Example: high. Allowed values: low, medium, high.one of
lowmediumhigh responsible_party_idsstring- Comma-separated user ids; only tasks assigned to these users. Example: 101,102.
search_termstring- Only return tasks whose name or text matches this term. Example: roadmap.
tag_idsstring- Comma-separated tag ids; only tasks with these tags. Example: 3,4.
task_filterstring- Preset filter on task dates and state. Example: overdue.one of
allanytimecompletedcreatedoverduetodayyesterdaystartedtomorrowthisweekwithin7within14within30within365nodatenoduedatenostartdatehasDateupcoming tasklist_idsstring- Comma-separated task list ids; only tasks in these lists. Example: 9001,9002.
updated_afterstring- Only tasks updated after this ISO 8601 timestamp. Example: 2025-01-01T00:00:00Z.
teamwork_project_template_getRetrieve one project template by id.Read-onlyGet Project Template
Retrieve one project template by id. Returns the template with name, description and settings. Use when you have a template id. Use teamwork_project_templates_list to find templates.
Inputs
template_idintegerrequired- Id of the project template. Example: 4321.
teamwork_project_templates_listList the project templates available on the Teamwork site.Read-onlyList Project Templates
List the project templates available on the Teamwork site. Returns a page of templates with id, name and description, plus paging metadata. Use to find a template id to pass to teamwork_project_clone with new_from_template. Use teamwork_project_template_get for one template.
Inputs
pageinteger- Page number to return, starting at 1. Example: 1.
page_sizeinteger- Number of items per page (default 50, max 500). Example: 50.
search_termstring- Only return templates whose name or text matches this term. Example: roadmap.
teamwork_project_time_entries_listList the time entries logged against one project.Read-onlyList Project Time Entries
List the time entries logged against one project. Returns a page of time entries with id, minutes, date, description, user and task. Use when you know the project. Use teamwork_time_entries_list for filters across projects.
Inputs
project_idintegerrequired- Id of the project. Example: 123456.
end_datestring- Only entries on or before this date (YYYY-MM-DD). Example: 2025-03-31.
pageinteger- Page number to return, starting at 1. Example: 1.
page_sizeinteger- Number of items per page (default 50, max 500). Example: 50.
start_datestring- Only entries on or after this date (YYYY-MM-DD). Example: 2025-03-01.
teamwork_project_time_total_getGet the total time logged against one project.Read-onlyGet Project Time Total
Get the total time logged against one project. Returns total, billable and non-billable minutes for the project. Use for a project's time summary. Use teamwork_time_total_get for site-wide totals with filters.
Inputs
project_idintegerrequired- Id of the project. Example: 123456.
end_datestring- Only time on or before this date (YYYY-MM-DD). Example: 2025-03-31.
start_datestring- Only time on or after this date (YYYY-MM-DD). Example: 2025-03-01.
teamwork_project_workflows_listList the board workflows applied to one project.Read-onlyList Project Workflows
List the board workflows applied to one project. Returns each workflow with id, name and status. Use to see which board a project uses. Use teamwork_workflows_list for all workflows.
Inputs
project_idintegerrequired- Id of the project. Example: 123456.
teamwork_projects_health_listList calculated health scores for projects.Read-onlyList Project Health
List calculated health scores for projects. Returns a page of projects with their health score and indicators, plus paging metadata. Use to spot projects that need attention. Use teamwork_project_summary_get for one project's counters.
Inputs
only_starred_projectsboolean- When true, only starred projects are scored. Example: false.
pageinteger- Page number to return, starting at 1. Example: 1.
page_sizeinteger- Number of items per page (default 50, max 500). Example: 50.
project_idsstring- Comma-separated project ids; only these projects. Leave empty for every project you can see. Example: 123456,123457.
teamwork_projects_listList projects in the Teamwork site, optionally filtered by name, owner, category, company or status.Read-onlyList Projects
List projects in the Teamwork site, optionally filtered by name, owner, category, company or status. Returns a page of projects with id, name, description, status, dates and owner, plus paging metadata. Use to browse or find a project id. Use teamwork_project_get for one project's full detail.
Inputs
includestring- Comma-separated related objects to sideload into the response. Allowed values: projectOwners, companies, projectCategories, tags, users, createdBy. Example: tags,companies.
include_archived_projectsboolean- When true, archived projects are included in the results. Example: false.
only_starred_projectsboolean- When true, only return projects starred by the authenticated user. Example: true.
order_bystring- Field to sort by. Example: name.one of
creatornamecompanynamedatecreatedstartdateduedatelastactivitynamenamecaseinsensitiveownercompanyownernamehealthtaskcompletionbudgetusedstarredstarredcompanynamestarredfirstlastworkedoncategorynamestatusidprojectnumber order_modestring- Sort direction. Example: asc. Allowed values: asc, desc.one of
ascdesc pageinteger- Page number to return, starting at 1. Example: 1.
page_sizeinteger- Number of items per page (default 50, max 500). Example: 50.
project_category_idsstring- Comma-separated project category ids; only projects in these categories. Example: 7,8.
project_company_idsstring- Comma-separated company ids; only projects belonging to these companies. Example: 55.
project_owner_idsstring- Comma-separated user ids; only projects owned by these users. Example: 101,102.
project_tag_idsstring- Comma-separated tag ids; only projects carrying these tags. Example: 3,4.
search_termstring- Only return projects whose name or text matches this term. Example: roadmap.
updated_afterstring- Only projects updated after this ISO 8601 timestamp. Example: 2025-01-01T00:00:00Z.
teamwork_projects_starred_listList the projects the authenticated user has starred.Read-onlyList Starred Projects
List the projects the authenticated user has starred. Returns a page of starred projects with id, name, status and dates, plus paging metadata. Use to find a user's favourite projects. Use teamwork_projects_list for all projects.
Inputs
order_bystring- Field to sort by. Example: name.one of
namenamecaseinsensitivedatecreatedstartdateduedatelastactivitycompanynameownernamecategorynamestatusid order_modestring- Sort direction. Example: asc. Allowed values: asc, desc.one of
ascdesc pageinteger- Page number to return, starting at 1. Example: 1.
page_sizeinteger- Number of items per page (default 50, max 500). Example: 50.
search_termstring- Only return projects whose name or text matches this term. Example: roadmap.
teamwork_risk_getRetrieve one risk by id.Read-onlyGet Risk
Retrieve one risk by id. Returns the risk with source, probability, impact, mitigation plan and project. Use when you have a risk id and need its detail.
Inputs
risk_idintegerrequired- Id of the risk. Example: 5101.
teamwork_risks_listList risks from the risk registers of all projects you can see.Read-onlyList Risks
List risks from the risk registers of all projects you can see. Returns a page of risks with source, probability, impact, mitigation plan and project, plus paging metadata. Use for a cross-project risk review. Use teamwork_project_risks_list for one project.
Inputs
order_modestring- Sort direction. Example: asc. Allowed values: asc, desc.one of
ascdesc pageinteger- Page number to return, starting at 1. Example: 1.
page_sizeinteger- Number of items per page (default 50, max 500). Example: 50.
project_idsstring- Comma-separated project ids; only risks in these projects. Example: 123456.
search_termstring- Only return risks whose name or text matches this term. Example: roadmap.
statusesstring- Comma-separated risk statuses to include. Example: open.
teamwork_searchSearch the Teamwork site for projects, tasks, messages and other items by text.Read-onlySearch Teamwork
Search the Teamwork site for projects, tasks, messages and other items by text. Returns matching items grouped by type, with ids and titles. Use when you only have a keyword. Use the list tools to filter a known object type.
Inputs
search_termstringrequired- Text to search for. Example: launch plan.
limitinteger- Maximum number of results to return. Example: 20.
project_idinteger- Restrict the search to one project. Example: 123456.
typesstring- Comma-separated item types to search, for example tasks, projects, messages. Example: tasks,projects.
teamwork_skills_listList the skills defined on the Teamwork site.Read-onlyList Skills
List the skills defined on the Teamwork site. Returns a page of skills with id and name. Use to find a skill id for resource planning.
Inputs
order_modestring- Sort direction. Example: asc. Allowed values: asc, desc.one of
ascdesc pageinteger- Page number to return, starting at 1. Example: 1.
page_sizeinteger- Number of items per page (default 50, max 500). Example: 50.
search_termstring- Only return skills whose name or text matches this term. Example: roadmap.
teamwork_status_updates_listList the project status updates posted across all projects you can see.Read-onlyList Project Status Updates
List the project status updates posted across all projects you can see. Returns a page of status updates with text, health, author, project and date. Use for a cross-project status feed. Use teamwork_project_status_updates_list for one project.
Inputs
created_afterstring- Only updates created after this ISO 8601 timestamp. Example: 2025-01-01T00:00:00Z.
order_bystring- Field to sort by. Example: date. Allowed values: date, color, health, project, user, id.one of
datecolorhealthprojectuserid order_modestring- Sort direction. Example: asc. Allowed values: asc, desc.one of
ascdesc pageinteger- Page number to return, starting at 1. Example: 1.
page_sizeinteger- Number of items per page (default 50, max 500). Example: 50.
teamwork_statuses_listList the latest status message of every person on the Teamwork site.Read-onlyList People Statuses
List the latest status message of every person on the Teamwork site. Returns a page of statuses with the person, message and date. Use to see what teammates are up to. Use teamwork_my_status_get for your own status.
Inputs
page_sizeinteger- Number of items per page (default 50, max 500). Example: 50.
search_termstring- Only return statuses whose name or text matches this term. Example: roadmap.
teamwork_subtasks_listList the subtasks of a task.Read-onlyList Subtasks
List the subtasks of a task. Returns a page of subtasks with id, name, status and assignees. Use to inspect a task's children. Use teamwork_subtask_create to add one.
Inputs
task_idintegerrequired- Id of the parent task. Example: 7654321.
pageinteger- Page number to return, starting at 1. Example: 1.
page_sizeinteger- Number of items per page (default 50, max 500). Example: 50.
teamwork_tag_getRetrieve one tag by id.Read-onlyGet Tag
Retrieve one tag by id. Returns the tag's name and colour. Use when you have a tag id and need its detail.
Inputs
tag_idintegerrequired- Id of the tag. Example: 3.
teamwork_task_activity_listList the activity log of one task.Read-onlyList Task Activity
List the activity log of one task. Returns activity entries with type, actor and timestamp. Use to see what changed on a task. Use teamwork_project_activity_list for a whole project.
Inputs
task_idintegerrequired- Id of the task. Example: 7654321.
teamwork_task_comments_listList the comments on a task.Read-onlyList Task Comments
List the comments on a task. Returns a page of comments with id, body, author and timestamp. Use to read a task's discussion. Use teamwork_task_comment_create to reply.
Inputs
task_idintegerrequired- Id of the task. Example: 7654321.
pageinteger- Page number to return, starting at 1. Example: 1.
page_sizeinteger- Number of items per page (default 50, max 500). Example: 50.
teamwork_task_customfield_values_listList the custom field values set on one task.Read-onlyList Task Custom Field Values
List the custom field values set on one task. Returns a page of values with the field id and the stored value. Use to read a task's custom data. Use teamwork_customfields_list to see field definitions.
Inputs
task_idintegerrequired- Id of the task. Example: 7654321.
pageinteger- Page number to return, starting at 1. Example: 1.
page_sizeinteger- Number of items per page (default 50, max 500). Example: 50.
teamwork_task_dependencies_listList the tasks that depend on a task, meaning tasks that cannot finish until this one is done.Read-onlyList Task Dependencies
List the tasks that depend on a task, meaning tasks that cannot finish until this one is done. Returns the dependent tasks with id, name and dependency type. Use to see what a task is blocking. Use teamwork_task_predecessors_list to see what blocks it.
Inputs
task_idintegerrequired- Id of the task. Example: 7654321.
teamwork_task_followers_listList the users who follow a task.Read-onlyList Task Followers
List the users who follow a task. Returns the followers with user id and which kinds of change they follow. Use to see who is notified about a task. Use teamwork_task_followers_set to change the followers.
Inputs
task_idintegerrequired- Id of the task. Example: 7654321.
return_user_infoboolean- When true, include name, company and avatar for each follower. Example: true.
teamwork_task_getRetrieve one task by id.Read-onlyGet Task
Retrieve one task by id. Returns the task with name, description, status, priority, dates, assignees, progress and estimated time. Use when you have a task id and need its full detail.
Inputs
task_idintegerrequired- Id of the task to retrieve. Example: 7654321.
includestring- Comma-separated related objects to sideload into the response. Allowed values: projects, tasklists, parentTasks, companies, teams, users, milestones, comments, tags, timeTotals, subtaskStats, attachments. Example: tasklists,users,comments.
teamwork_task_predecessors_listList the tasks that must be completed or started before a task can be completed.Read-onlyList Task Predecessors
List the tasks that must be completed or started before a task can be completed. Returns the predecessor tasks with id, name and dependency type. Use to see what is blocking a task. Use teamwork_task_dependencies_list for the opposite direction.
Inputs
task_idintegerrequired- Id of the task. Example: 7654321.
teamwork_task_reminders_listList the reminders set on a task.Read-onlyList Task Reminders
List the reminders set on a task. Returns each reminder with id, user, note and time. Use to see when a task will remind someone. Use teamwork_task_reminder_create to add one.
Inputs
task_idintegerrequired- Id of the task. Example: 7654321.
teamwork_task_time_entries_listList the time entries logged against one task.Read-onlyList Task Time Entries
List the time entries logged against one task. Returns a page of time entries with id, minutes, date, description and user. Use to see how much time went into a task.
Inputs
task_idintegerrequired- Id of the task. Example: 7654321.
pageinteger- Page number to return, starting at 1. Example: 1.
page_sizeinteger- Number of items per page (default 50, max 500). Example: 50.
teamwork_task_time_total_getGet the total time logged against one task.Read-onlyGet Task Time Total
Get the total time logged against one task. Returns total, billable and non-billable minutes for the task. Use for a task's time summary. Use teamwork_task_time_entries_list to see each entry.
Inputs
task_idintegerrequired- Id of the task. Example: 7654321.
teamwork_tasklist_getRetrieve one task list by id.Read-onlyGet Task List
Retrieve one task list by id. Returns the task list with name, description, project and milestone. Use when you have a task list id and need its detail.
Inputs
tasklist_idintegerrequired- Id of the task list. Example: 9001.
teamwork_tasklist_tasks_listList the tasks inside one task list.Read-onlyList Task List Tasks
List the tasks inside one task list. Returns a page of tasks with id, name, status, priority, dates and assignees, plus paging metadata. Use when you know the task list id. Use teamwork_tasklists_list to find task lists.
Inputs
tasklist_idintegerrequired- Id of the task list whose tasks to list. Example: 9001.
due_afterstring- Only tasks due on or after this date (YYYY-MM-DD). Example: 2025-01-01.
due_beforestring- Only tasks due on or before this date (YYYY-MM-DD). Example: 2025-12-31.
includestring- Comma-separated related objects to sideload into the response. Allowed values: projects, tasklists, parentTasks, companies, teams, users, milestones, comments, tags, timeTotals, subtaskStats, attachments. Example: tasklists,users.
include_completed_tasksboolean- When true, completed tasks are included. Example: false.
order_bystring- Field to sort by. Example: duedate.one of
idstartdatecreatedatpriorityprojectduedateupdatedattasknamecompletedatassignedtoestimatedtimedateaddeddateupdateddatecompletedtags order_modestring- Sort direction. Example: asc. Allowed values: asc, desc.one of
ascdesc pageinteger- Page number to return, starting at 1. Example: 1.
page_sizeinteger- Number of items per page (default 50, max 500). Example: 50.
prioritystring- Only tasks with this priority. Example: high. Allowed values: low, medium, high.one of
lowmediumhigh responsible_party_idsstring- Comma-separated user ids; only tasks assigned to these users. Example: 101,102.
search_termstring- Only return tasks whose name or text matches this term. Example: roadmap.
tag_idsstring- Comma-separated tag ids; only tasks with these tags. Example: 3,4.
task_filterstring- Preset filter on task dates and state. Example: overdue.one of
allanytimecompletedcreatedoverduetodayyesterdaystartedtomorrowthisweekwithin7within14within30within365nodatenoduedatenostartdatehasDateupcoming updated_afterstring- Only tasks updated after this ISO 8601 timestamp. Example: 2025-01-01T00:00:00Z.
teamwork_tasklist_templates_listList the task list templates available on the Teamwork site.Read-onlyList Task List Templates
List the task list templates available on the Teamwork site. Returns a page of task list templates with id and name. Use to find a reusable task list layout. Use teamwork_tasklists_list for real task lists.
Inputs
pageinteger- Page number to return, starting at 1. Example: 1.
page_sizeinteger- Number of items per page (default 50, max 500). Example: 50.
teamwork_tasklist_time_total_getGet the total time logged against the tasks of one task list.Read-onlyGet Task List Time Total
Get the total time logged against the tasks of one task list. Returns total, billable and non-billable minutes for the list. Use for a task list's time summary. Use teamwork_project_time_total_get for a whole project.
Inputs
tasklist_idintegerrequired- Id of the task list. Example: 9001.
teamwork_tasklists_listList task lists across all projects.Read-onlyList Task Lists
List task lists across all projects. Returns a page of task lists with id, name, description, project and completion state. Use to find a task list id. Use teamwork_project_tasklists_list for one project.
Inputs
pageinteger- Page number to return, starting at 1. Example: 1.
page_sizeinteger- Number of items per page (default 50, max 500). Example: 50.
project_idsstring- Comma-separated project ids; only lists in these projects. Example: 123456.
search_termstring- Only return task lists whose name or text matches this term. Example: roadmap.
show_completedboolean- When true, completed task lists are included. Example: false.
teamwork_tasks_listList tasks across all projects, optionally filtered by assignee, project, tag, priority or due date.Read-onlyList Tasks
List tasks across all projects, optionally filtered by assignee, project, tag, priority or due date. Returns a page of tasks with id, name, status, priority, dates and assignees, plus paging metadata. Use for cross-project task queries. Use teamwork_project_tasks_list or teamwork_tasklist_tasks_list to scope to one project or list.
Inputs
due_afterstring- Only tasks due on or after this date (YYYY-MM-DD). Example: 2025-01-01.
due_beforestring- Only tasks due on or before this date (YYYY-MM-DD). Example: 2025-12-31.
includestring- Comma-separated related objects to sideload into the response. Allowed values: projects, tasklists, parentTasks, companies, teams, users, milestones, comments, tags, timeTotals, subtaskStats, attachments. Example: tasklists,users.
include_completed_tasksboolean- When true, completed tasks are included. Example: false.
order_bystring- Field to sort by. Example: duedate.one of
idstartdatecreatedatpriorityprojectduedateupdatedattasknamecompletedatassignedtoestimatedtimedateaddeddateupdateddatecompletedtags order_modestring- Sort direction. Example: asc. Allowed values: asc, desc.one of
ascdesc pageinteger- Page number to return, starting at 1. Example: 1.
page_sizeinteger- Number of items per page (default 50, max 500). Example: 50.
prioritystring- Only tasks with this priority. Example: high. Allowed values: low, medium, high.one of
lowmediumhigh project_idsstring- Comma-separated project ids; only tasks in these projects. Example: 123456,123457.
responsible_party_idsstring- Comma-separated user ids; only tasks assigned to these users. Example: 101,102.
search_termstring- Only return tasks whose name or text matches this term. Example: roadmap.
tag_idsstring- Comma-separated tag ids; only tasks with these tags. Example: 3,4.
task_filterstring- Preset filter on task dates and state. Example: overdue.one of
allanytimecompletedcreatedoverduetodayyesterdaystartedtomorrowthisweekwithin7within14within30within365nodatenoduedatenostartdatehasDateupcoming tasklist_idsstring- Comma-separated task list ids; only tasks in these lists. Example: 9001,9002.
updated_afterstring- Only tasks updated after this ISO 8601 timestamp. Example: 2025-01-01T00:00:00Z.
teamwork_team_getRetrieve one team by id.Read-onlyGet Team
Retrieve one team by id. Returns the team with name, description and, when requested, its members. Use when you have a team id. Use teamwork_teams_list to find teams.
Inputs
team_idintegerrequired- Id of the team. Example: 1301.
includestring- Set to members to include the people on the team. Example: members. Allowed values: members.one of
members
teamwork_teams_listList the teams on the Teamwork site.Read-onlyList Teams
List the teams on the Teamwork site. Returns each team with id, name and member count. Use to find a team id. Use teamwork_team_get for one team's members.
Inputs
pageinteger- Page number to return, starting at 1. Example: 1.
page_sizeinteger- Number of items per page (default 50, max 500). Example: 50.
sort_bystring- Field to sort by. Example: name. Allowed values: name, dateAdded.one of
namedateAdded
teamwork_time_entries_listList logged time entries across projects, optionally filtered by project, task, user or date range.Read-onlyList Time Entries
List logged time entries across projects, optionally filtered by project, task, user or date range. Returns a page of time entries with id, minutes, date, description, user, task and project. Use for timesheets and reports. Use teamwork_time_total_get for aggregate totals.
Inputs
assigned_to_user_idsstring- Comma-separated user ids; only time logged by these users. Example: 101,102.
billable_typestring- Filter by billable state. Example: billable. Allowed values: all, billable, nonbillable.one of
allbillablenonbillable end_datestring- Only entries on or before this date (YYYY-MM-DD). Example: 2025-03-31.
pageinteger- Page number to return, starting at 1. Example: 1.
page_sizeinteger- Number of items per page (default 50, max 500). Example: 50.
project_idinteger- Only time logged against this project. Example: 123456.
start_datestring- Only entries on or after this date (YYYY-MM-DD). Example: 2025-03-01.
task_idinteger- Only time logged against this task. Example: 7654321.
teamwork_time_entry_getRetrieve one time entry by id.Read-onlyGet Time Entry
Retrieve one time entry by id. Returns the time entry with minutes, date, description, user, task and project. Use when you have a time entry id and need its detail.
Inputs
timelog_idintegerrequired- Id of the time entry. Example: 300100.
teamwork_time_total_getGet total logged and billable time, optionally for a project, task or date range.Read-onlyGet Time Totals
Get total logged and billable time, optionally for a project, task or date range. Returns total minutes and billable minutes for the selected filters. Use for a quick total. Use teamwork_time_entries_list for the individual entries.
Inputs
end_datestring- Only count entries on or before this date (YYYY-MM-DD). Example: 2025-03-31.
project_idinteger- Only count time logged against this project. Example: 123456.
start_datestring- Only count entries on or after this date (YYYY-MM-DD). Example: 2025-03-01.
task_idinteger- Only count time logged against this task. Example: 7654321.
teamwork_timer_getRetrieve one timer by id.Read-onlyGet Timer
Retrieve one timer by id. Returns the timer with task, project, description, running state and elapsed seconds. Use when you have a timer id. Use teamwork_timers_list to find timers.
Inputs
timer_idintegerrequired- Id of the timer. Example: 5001.
teamwork_timers_listList running and paused timers, optionally for one user, project or task.Read-onlyList Timers
List running and paused timers, optionally for one user, project or task. Returns timers with id, state, elapsed seconds, task and project. Use to see who is tracking time right now.
Inputs
pageinteger- Page number to return, starting at 1. Example: 1.
page_sizeinteger- Number of items per page (default 50, max 500). Example: 50.
project_idinteger- Only timers on this project. Example: 123456.
running_timers_onlyboolean- When true, only timers that are currently running. Example: true.
task_idinteger- Only timers on this task. Example: 7654321.
user_idinteger- Only timers belonging to this user. Example: 101.
teamwork_trashcan_project_items_listList the deleted items (tasks, task lists, milestones and so on) that sit in the trashcan of one project.Read-onlyList Trashed Project Items
List the deleted items (tasks, task lists, milestones and so on) that sit in the trashcan of one project. Returns the trashed items grouped by type, each with id, name and deletion date. Use to find the id of a deleted task or milestone to restore with teamwork_trashcan_restore.
Inputs
project_idintegerrequired- Id of the project whose trashcan to read. Example: 123456.
daysinteger- Only items deleted in the last this many days. Example: 30.
itemsstring- Comma-separated item types to return, for example tasks,tasklists. Use all for every type. Example: tasks,tasklists.
teamwork_trashcan_projects_listList the projects that were deleted and are still in the trashcan.Read-onlyList Trashed Projects
List the projects that were deleted and are still in the trashcan. Returns the deleted projects with id, name and deletion date. Use to find a deleted project id to restore with teamwork_trashcan_restore.
Inputs
daysinteger- Only projects deleted in the last this many days. Example: 30.
teamwork_workflow_stages_listList the stages (board columns) of a workflow.Read-onlyList Workflow Stages
List the stages (board columns) of a workflow. Returns each stage with id, name and display order. Use to find a stage id for teamwork_task_workflow_stage_move.
Inputs
workflow_idintegerrequired- Id of the workflow. Example: 1101.
teamwork_workflows_listList the board workflows defined on the Teamwork site.Read-onlyList Workflows
List the board workflows defined on the Teamwork site. Returns each workflow with id, name and status. Use to find a workflow id. Use teamwork_workflow_stages_list for its columns.
Inputs
search_termstring- Only return workflows whose name or text matches this term. Example: roadmap.
teamwork_workload_getGet the workload of users across projects for a period.Read-onlyGet Workload
Get the workload of users across projects for a period. Returns per-user workload totals grouped by day, week or month. Use to see who is overloaded or free. Use teamwork_tasks_list for the underlying tasks.
Inputs
end_datestring- End of the period (YYYY-MM-DD). Example: 2025-03-31.
group_bystring- Period used to aggregate the workload. Example: week. Allowed values: day, week, month.one of
dayweekmonth search_termstring- Only users whose name matches this term. Example: Ravi.
start_datestring- Start of the period (YYYY-MM-DD). Example: 2025-03-01.
teamwork_calendar_event_createCreate an event on your calendar.WriteCreate Calendar Event
Create an event on your calendar. Returns the id of the created event and a status of OK. Use to schedule time. Nobody is notified unless notify is true. Use teamwork_calendar_event_update to add attendees, a location or a project.
Inputs
endstringrequired- End of the event as an ISO 8601 date and time. Example: 2027-03-01T11:00:00Z.
startstringrequired- Start of the event as an ISO 8601 date and time. Example: 2027-03-01T10:00:00Z.
titlestringrequired- Title of the event. Example: Design review.
all_dayboolean- Set true for an all-day event. Example: false.
notifyboolean- Set true to notify attendees about the event. Defaults to false. Example: false.
teamwork_calendar_event_updateUpdate the title, times, location, description, project or attendees of a calendar event.WriteUpdate Calendar Event
Update the title, times, location, description, project or attendees of a calendar event. Returns a status of OK when the event was updated. Use to edit an event. Only the fields you supply are changed. Nobody is notified unless notify is true.
- Idempotent
Inputs
event_idintegerrequired- Id of the calendar event to update. Example: 7701.
all_dayboolean- Set true for an all-day event. Example: false.
attending_user_idsstring- Comma-separated ids of the users attending. Example: 101,102.
descriptionstring- New description of the event. Example: Review the latest mockups.
endstring- New end of the event as an ISO 8601 date and time. Example: 2027-03-02T11:00:00Z.
locationstring- Where the event takes place. Example: Meeting room 2.
notifyboolean- Set true to notify attendees about the change. Defaults to false. Example: false.
project_idinteger- Id of the project to link the event to. Example: 123456.
startstring- New start of the event as an ISO 8601 date and time. Example: 2027-03-02T10:00:00Z.
titlestring- New title of the event. Example: Design review (moved).
teamwork_comment_createAdd a comment to a milestone, notebook or link.WriteCreate Comment
Add a comment to a milestone, notebook or link. Returns the id of the created comment and a status of OK. Use for items other than tasks. Use teamwork_task_comment_create for a task and teamwork_message_reply_create for a message. Nobody is notified unless you list people in notify.
Inputs
bodystringrequired- Text of the comment. Plain text or HTML. Example: Looks good, ready to proceed.
item_idintegerrequired- Id of the milestone, notebook or link to comment on. Example: 4001.
resourcestringrequired- Type of item to comment on. Example: milestones. Allowed values: milestones, notebooks, links.one of
milestonesnotebookslinks is_privateboolean- Set true to make the comment private to the people it is shared with. Example: false.
teamwork_comment_updateChange the text of a comment.WriteUpdate Comment
Change the text of a comment. Returns a status of OK when the comment was updated. Use to edit a comment you posted. Nobody is notified of the change.
- Idempotent
Inputs
bodystringrequired- New text of the comment. Plain text or HTML. Example: Updated: ready to proceed once QA signs off.
comment_idintegerrequired- Id of the comment to update. Example: 88001.
is_privateboolean- Set true to make the comment private to the people it is shared with. Example: false.
teamwork_company_createCreate a company (client) on the Teamwork site.WriteCreate Company
Create a company (client) on the Teamwork site. Returns the created company with its id and name. Use before creating projects or people for a new client. Use teamwork_company_update to edit an existing one.
Inputs
namestringrequired- Name of the company. Example: Acme Corp.
address_line_1string- First line of the street address. Example: 1 Main Street.
citystring- City. Example: Springfield.
country_codestring- Two-letter ISO country code. Example: US.
emailstring- Primary email address of the company. Example: info@acme.example.com.
phonestring- Company phone number. Example: +1 555 0100.
profilestring- Free-text profile or notes shown on the company page.
statestring- State or region. Example: IL.
websitestring- Company website URL. Example: https://acme.example.com.
zipstring- Postal code. Example: 62701.
teamwork_company_updateUpdate the details of an existing company.WriteUpdate Company
Update the details of an existing company. Returns the updated company. Use to edit a company. Only the fields you supply are changed.
- Idempotent
Inputs
company_idintegerrequired- Id of the company to update. Example: 55.
address_line_1string- First line of the street address. Example: 1 Main Street.
citystring- City. Example: Springfield.
country_codestring- Two-letter ISO country code. Example: US.
emailstring- Primary email address of the company. Example: info@acme.example.com.
namestring- Name of the company. Example: Acme Corp.
phonestring- Company phone number. Example: +1 555 0100.
profilestring- Free-text profile or notes shown on the company page.
statestring- State or region. Example: IL.
websitestring- Company website URL. Example: https://acme.example.com.
zipstring- Postal code. Example: 62701.
teamwork_customfield_createCreate a custom field for projects, tasks or companies, either site-wide or limited to one project.WriteCreate Custom Field
Create a custom field for projects, tasks or companies, either site-wide or limited to one project. Returns the created custom field with its id. Use before setting field values. Pass project_id to keep the field inside one project. Use teamwork_customfield_delete to remove it.
Inputs
entitystringrequired- What the field is attached to. Example: task. Allowed values: project, task, company.one of
projecttaskcompany namestringrequired- Name of the custom field. Example: Customer tier.
typestringrequired- Kind of value the field holds. Example: text-short.one of
text-shorttext-longnumber-decimalnumber-integerfinancialdropdownmultiselectcheckboxpercentageurldatephoneemailstatusratinguser choicesarray- Options for dropdown and multiselect fields, one entry per option. Example: ["Gold", "Silver", "Bronze"].
currency_codestring- Three-letter currency code for financial fields. Example: USD.
descriptionstring- Description of the field. Example: Support tier of the customer.
is_privateboolean- Set true to hide the field from people without access. Example: false.
project_idinteger- Id of a project to limit the field to. Leave empty for a site-wide field. Example: 123456.
requiredboolean- Set true if the field must be filled in. Example: false.
teamwork_customfield_updateUpdate the name, description, required flag or privacy of a custom field.WriteUpdate Custom Field
Update the name, description, required flag or privacy of a custom field. Returns the updated custom field. Use to edit a field definition. Only the fields you supply are changed.
- Idempotent
Inputs
customfield_idintegerrequired- Id of the custom field to update. Example: 6801.
descriptionstring- New description of the field. Example: Plan the customer is on.
is_privateboolean- Set true to hide the field from people without access. Example: false.
namestring- New name of the custom field. Example: Customer plan.
requiredboolean- Set true if the field must be filled in. Example: false.
teamwork_expense_createRecord an expense in a project.WriteCreate Expense
Record an expense in a project. Returns the id of the created expense and a status of OK. Use to log a project cost such as travel or licences. The project must have Billing turned on (see teamwork_project_features_set).
Inputs
coststringrequired- Amount of the expense as a decimal string. Example: 250.00.
datestringrequired- Date of the expense in YYYYMMDD format. Example: 20250305.
namestringrequired- Name of the expense. Example: Conference ticket.
project_idintegerrequired- Id of the project the expense belongs to. Example: 123456.
descriptionstring- Description of the expense. Example: Ticket for the design conference.
teamwork_expense_updateUpdate the name, cost, date or description of an expense.WriteUpdate Expense
Update the name, cost, date or description of an expense. Returns a status of OK when the expense was updated. Use to correct an expense. Only the fields you supply are changed.
- Idempotent
Inputs
expense_idintegerrequired- Id of the expense to update. Example: 2201.
coststring- New amount of the expense as a decimal string. Example: 199.00.
datestring- New date of the expense in YYYYMMDD format. Example: 20250306.
descriptionstring- New description of the expense. Example: Discounted ticket.
namestring- New name of the expense. Example: Conference ticket (early bird).
teamwork_file_category_createCreate a file category in a project.WriteCreate File Category
Create a file category in a project. Returns the id of the created category and a status of OK. Use to group files in a project. Use teamwork_file_categories_list to see existing categories.
Inputs
namestringrequired- Name of the category. Example: Planning.
project_idintegerrequired- Id of the project to create the category in. Example: 123456.
parent_idinteger- Id of a parent category, to nest this one underneath it. Example: 501.
teamwork_file_category_updateRename a file category.WriteUpdate File Category
Rename a file category. Returns a status of OK when the category was updated. Use to rename a category. Use teamwork_file_categories_list to find its id.
- Idempotent
Inputs
category_idintegerrequired- Id of the file category to update. Example: 501.
namestringrequired- New name of the category. Example: Roadmap.
teamwork_invoice_add_timeAttach existing time entries to an invoice.WriteAdd Time to Invoice
Attach existing time entries to an invoice. Returns a status of OK when the time entries were added. Use to bill logged time. Find time entry ids with teamwork_time_entries_list.
- Idempotent
Inputs
invoice_idintegerrequired- Id of the invoice. Example: 3301.
time_entry_idsarrayrequired- Ids of the time entries to add to the invoice. Example: [300100, 300101].
teamwork_invoice_completeMark an invoice as complete.WriteComplete Invoice
Mark an invoice as complete. Returns a status of OK when the invoice was completed. Use when the invoice has been issued. Use teamwork_invoice_uncomplete to reopen it.
- Idempotent
Inputs
invoice_idintegerrequired- Id of the invoice to complete. Example: 3301.
teamwork_invoice_createCreate an invoice in a project.WriteCreate Invoice
Create an invoice in a project. Returns the id of the created invoice and a status of OK. Use to start billing a project. The project must have Billing turned on (see teamwork_project_features_set). Use teamwork_invoice_add_time to attach logged time.
Inputs
numberstringrequired- Invoice number shown on the invoice. Example: INV-0042.
project_idintegerrequired- Id of the project to invoice. Example: 123456.
currency_codestring- Three-letter currency code of the invoice. Example: USD.
descriptionstring- Description of the invoice. Example: Design work for March.
display_datestring- Date shown on the invoice in YYYYMMDD format. Example: 20250331.
fixed_coststring- Fixed amount for the invoice as a decimal string. Leave empty to bill logged time and expenses. Example: 1500.00.
po_numberstring- Purchase order number of the client. Example: PO-9981.
teamwork_invoice_uncompleteMark a completed invoice as not complete again.WriteReopen Invoice
Mark a completed invoice as not complete again. Returns a status of OK when the invoice was reopened. Use to undo teamwork_invoice_complete.
- Idempotent
Inputs
invoice_idintegerrequired- Id of the invoice to reopen. Example: 3301.
teamwork_invoice_updateUpdate the number, description, dates, currency or fixed cost of an invoice.WriteUpdate Invoice
Update the number, description, dates, currency or fixed cost of an invoice. Returns a status of OK when the invoice was updated. Use to edit an invoice. Only the fields you supply are changed.
- Idempotent
Inputs
invoice_idintegerrequired- Id of the invoice to update. Example: 3301.
currency_codestring- Three-letter currency code of the invoice. Example: USD.
descriptionstring- Description of the invoice. Example: Design work for March.
display_datestring- Date shown on the invoice in YYYYMMDD format. Example: 20250331.
fixed_coststring- Fixed amount for the invoice as a decimal string. Leave empty to bill logged time and expenses. Example: 1500.00.
numberstring- Invoice number shown on the invoice. Example: INV-0042.
po_numberstring- Purchase order number of the client. Example: PO-9981.
teamwork_link_category_createCreate a link category in a project.WriteCreate Link Category
Create a link category in a project. Returns the id of the created category and a status of OK. Use to group links in a project. Use teamwork_link_categories_list to see existing categories.
Inputs
namestringrequired- Name of the category. Example: Planning.
project_idintegerrequired- Id of the project to create the category in. Example: 123456.
parent_idinteger- Id of a parent category, to nest this one underneath it. Example: 501.
teamwork_link_category_updateRename a link category.WriteUpdate Link Category
Rename a link category. Returns a status of OK when the category was updated. Use to rename a category. Use teamwork_link_categories_list to find its id.
- Idempotent
Inputs
category_idintegerrequired- Id of the link category to update. Example: 501.
namestringrequired- New name of the category. Example: Roadmap.
teamwork_link_createSave a link in a project.WriteCreate Link
Save a link in a project. Returns the id of the created link and a status of OK. Use to bookmark an external resource in a project. Nobody is notified.
Inputs
namestringrequired- Name of the link. Example: Design mockups.
project_idintegerrequired- Id of the project to save the link in. Example: 123456.
urlstringrequired- Address the link points to. Example: https://example.com/mockups.
category_idinteger- Id of the link category to file the link under. Example: 501.
descriptionstring- Description of the link. Example: Figma file with the latest mockups.
is_privateboolean- Set true to make the link private to the people it is shared with. Example: false.
teamwork_link_updateUpdate the name, URL, description or category of a link.WriteUpdate Link
Update the name, URL, description or category of a link. Returns a status of OK when the link was updated. Use to edit a saved link. Only the fields you supply are changed.
- Idempotent
Inputs
link_idintegerrequired- Id of the link to update. Example: 3001.
category_idinteger- Id of the link category to file the link under. Example: 501.
descriptionstring- Description of the link. Example: Figma file with the latest mockups.
is_privateboolean- Set true to make the link private to the people it is shared with. Example: false.
namestring- Name of the link. Example: Design mockups.
urlstring- Address the link points to. Example: https://example.com/mockups.
teamwork_message_archiveArchive a message together with its replies.WriteArchive Message
Archive a message together with its replies. Returns a status of OK when the message was archived. Use to hide a finished discussion without deleting it. Use teamwork_message_unarchive to bring it back.
- Idempotent
Inputs
message_idintegerrequired- Id of the message to archive. Example: 6001.
teamwork_message_category_createCreate a message category in a project.WriteCreate Message Category
Create a message category in a project. Returns the id of the created category and a status of OK. Use to group messages in a project. Use teamwork_message_categories_list to see existing categories.
Inputs
namestringrequired- Name of the category. Example: Planning.
project_idintegerrequired- Id of the project to create the category in. Example: 123456.
parent_idinteger- Id of a parent category, to nest this one underneath it. Example: 501.
teamwork_message_category_updateRename a message category.WriteUpdate Message Category
Rename a message category. Returns a status of OK when the category was updated. Use to rename a category. Use teamwork_message_categories_list to find its id.
- Idempotent
Inputs
category_idintegerrequired- Id of the message category to update. Example: 501.
namestringrequired- New name of the category. Example: Roadmap.
teamwork_message_createPost a new message on a project's message board.WriteCreate Message
Post a new message on a project's message board. Returns the id of the created message and a status of OK. Use to start a discussion in a project. Use teamwork_message_reply_create to answer an existing message.
Inputs
bodystringrequired- Body of the message. Plain text or HTML.
project_idintegerrequired- Id of the project to post in. Example: 123456.
titlestringrequired- Title of the message. Example: Kickoff notes.
category_idstring- Id of the message category to file the post under. Example: 12.
is_privatestring- Set to '1' to make the message private, '0' for public. Example: 0.
notifystring- Comma-separated user ids to notify, or 'all' to notify everyone on the project. Example: 101,102.
teamwork_message_reply_createReply to a message board post.WriteCreate Message Reply
Reply to a message board post. Returns the id of the created reply and a status of OK. Use to answer an existing message. Use teamwork_message_create for a new topic.
Inputs
bodystringrequired- Text of the reply. Plain text or HTML.
message_idintegerrequired- Id of the message to reply to. Example: 6001.
notifystring- Comma-separated user ids to notify, or 'all'. Example: 101.
teamwork_message_reply_updateChange the body of a message reply.WriteUpdate Message Reply
Change the body of a message reply. Returns a status of OK when the reply was updated. Use to correct a reply after posting it. Use teamwork_message_reply_create to add a new one.
- Idempotent
Inputs
bodystringrequired- New body of the reply. Plain text or HTML. Example: Corrected figures are attached.
reply_idintegerrequired- Id of the message reply to update. Example: 6501.
teamwork_message_unarchiveRestore an archived message to the active message list.WriteUnarchive Message
Restore an archived message to the active message list. Returns a status of OK when the message was unarchived. Use to undo teamwork_message_archive.
- Idempotent
Inputs
message_idintegerrequired- Id of the archived message to restore. Example: 6001.
teamwork_message_updateUpdate the title, body, category or privacy of a message.WriteUpdate Message
Update the title, body, category or privacy of a message. Returns a status of OK when the message was updated. Use to edit a message after posting it. Only the fields you supply are changed and nobody is notified.
- Idempotent
Inputs
message_idintegerrequired- Id of the message to update. Example: 6001.
bodystring- New body of the message. Plain text or HTML. Example: Updated plan attached below.
category_idinteger- Id of the message category to move the message to. Example: 501.
is_privateboolean- Set true to make the message private to the people it is shared with. Example: false.
titlestring- New title of the message. Example: Launch plan v2.
teamwork_milestone_completeMark a milestone as complete.WriteComplete Milestone
Mark a milestone as complete. Returns a status of OK when the milestone was completed. Use when a milestone has been reached.
- Idempotent
Inputs
milestone_idintegerrequired- Id of the milestone to complete. Example: 4001.
teamwork_milestone_createCreate a milestone in a project.WriteCreate Milestone
Create a milestone in a project. Returns the id of the created milestone and a status of OK. Use to add a dated checkpoint to a project.
Inputs
deadlinestringrequired- Deadline in YYYYMMDD format. Example: 20250630.
project_idintegerrequired- Id of the project to create the milestone in. Example: 123456.
responsible_party_idsstringrequired- Comma-separated user ids responsible for the milestone. Teamwork rejects a milestone with no responsible party. Example: 101,102.
titlestringrequired- Title of the milestone. Example: Beta release.
descriptionstring- Description of the milestone.
is_privateboolean- When true the milestone is private. Example: false.
notifyboolean- When true, the responsible people are notified. Example: false.
reminderboolean- When true, a reminder is sent before the deadline. Example: false.
teamwork_milestone_uncompleteMark a completed milestone as not complete again.WriteReopen Milestone
Mark a completed milestone as not complete again. Returns a status of OK when the milestone was reopened. Use to undo teamwork_milestone_complete.
- Idempotent
Inputs
milestone_idintegerrequired- Id of the milestone to reopen. Example: 4001.
teamwork_milestone_updateUpdate the title, deadline, description or assignees of a milestone.WriteUpdate Milestone
Update the title, deadline, description or assignees of a milestone. Returns a status of OK when the milestone was updated. Use to reschedule or edit a milestone. Only the fields you supply are changed.
- Idempotent
Inputs
milestone_idintegerrequired- Id of the milestone to update. Example: 4001.
deadlinestring- New deadline in YYYYMMDD format. Example: 20250715.
descriptionstring- New description of the milestone.
notifyboolean- When true, the responsible people are notified. Example: false.
reminderboolean- When true, a reminder is sent before the deadline. Example: false.
responsible_party_idsstring- Comma-separated user ids responsible for the milestone. Example: 101,102.
titlestring- New title of the milestone. Example: Beta release (moved).
teamwork_my_status_setSet a new status message for the authenticated user.WriteSet My Status
Set a new status message for the authenticated user. Returns the id of the created status and a status of OK. Use to tell the team what you are doing. Use teamwork_my_status_delete to clear it.
Inputs
statusstringrequired- Text of the status message. Example: Heads down on the Q4 launch.
teamwork_notebook_category_createCreate a notebook category in a project.WriteCreate Notebook Category
Create a notebook category in a project. Returns the id of the created category and a status of OK. Use to group notebooks in a project. Use teamwork_notebook_categories_list to see existing categories.
Inputs
namestringrequired- Name of the category. Example: Planning.
project_idintegerrequired- Id of the project to create the category in. Example: 123456.
parent_idinteger- Id of a parent category, to nest this one underneath it. Example: 501.
teamwork_notebook_category_updateRename a notebook category.WriteUpdate Notebook Category
Rename a notebook category. Returns a status of OK when the category was updated. Use to rename a category. Use teamwork_notebook_categories_list to find its id.
- Idempotent
Inputs
category_idintegerrequired- Id of the notebook category to update. Example: 501.
namestringrequired- New name of the category. Example: Roadmap.
teamwork_notebook_createCreate a notebook in a project.WriteCreate Notebook
Create a notebook in a project. Returns the created notebook with its id. Use to add documentation or meeting notes to a project.
Inputs
contentsstringrequired- Content of the notebook. Markdown or HTML, matching the type. Example: # Agenda - Status.
namestringrequired- Name of the notebook. Example: Meeting notes.
project_idintegerrequired- Id of the project to create the notebook in. Example: 123456.
typestringrequired- Format of the contents. Example: MARKDOWN. Allowed values: MARKDOWN, HTML.one of
MARKDOWNHTML descriptionstring- Short description of the notebook.
is_privateboolean- When true the notebook is private. Example: false.
teamwork_notebook_lockLock a notebook so others cannot edit it.WriteLock Notebook
Lock a notebook so others cannot edit it. Returns an empty success response when the notebook was locked. Use before a long edit. Use teamwork_notebook_unlock to release the lock.
- Idempotent
Inputs
notebook_idintegerrequired- Id of the notebook to lock. Example: 2001.
teamwork_notebook_unlockUnlock a notebook so it can be edited again.WriteUnlock Notebook
Unlock a notebook so it can be edited again. Returns an empty success response when the notebook was unlocked. Use to undo teamwork_notebook_lock.
- Idempotent
Inputs
notebook_idintegerrequired- Id of the notebook to unlock. Example: 2001.
teamwork_notebook_updateUpdate the name, contents, description, category or privacy of a notebook.WriteUpdate Notebook
Update the name, contents, description, category or privacy of a notebook. Returns the updated notebook. Use to edit a notebook. Only the fields you supply are changed. Set new_version to keep the previous contents as a version.
- Idempotent
Inputs
notebook_idintegerrequired- Id of the notebook to update. Example: 2001.
category_idinteger- Id of the notebook category to move the notebook to. Example: 501.
contentsstring- New contents of the notebook, in the notebook's format. Example: # Runbook Step one.
descriptionstring- New description of the notebook. Example: Steps for launch day.
is_privateboolean- Set true to make the notebook private to the people it is shared with. Example: false.
namestring- New name of the notebook. Example: Launch runbook.
new_versionboolean- Set true to save the edit as a new version and keep the old contents. Example: true.
typestring- Format of the contents. Example: MARKDOWN. Allowed values: MARKDOWN, HTML.one of
MARKDOWNHTML
teamwork_portfolio_board_createCreate a portfolio board.WriteCreate Portfolio Board
Create a portfolio board. Returns the id of the created board and a status of OK. Use to start a new portfolio view. Add columns with teamwork_portfolio_column_create.
Inputs
namestringrequired- Name of the board. Example: 2027 Roadmap.
colorstring- Colour of the board as a hex code. Example: #3498DB.
descriptionstring- Description of the board. Example: Projects planned for 2027.
teamwork_portfolio_board_updateUpdate the name, description or colour of a portfolio board.WriteUpdate Portfolio Board
Update the name, description or colour of a portfolio board. Returns a status of OK when the board was updated. Use to edit a board. Only the fields you supply are changed.
- Idempotent
Inputs
board_idintegerrequired- Id of the portfolio board to update. Example: 801.
colorstring- New colour of the board as a hex code. Example: #27AE60.
descriptionstring- New description of the board. Example: Revised plan.
namestring- New name of the board. Example: 2027 Roadmap v2.
teamwork_portfolio_card_addPlace a project from the backlog into a portfolio column.WriteAdd Project to Portfolio Column
Place a project from the backlog into a portfolio column. Returns the id of the created card and a status of OK. Use to put a project on a board. Use teamwork_portfolio_card_move to shift it to another column later.
Inputs
column_idintegerrequired- Id of the portfolio column. Example: 901.
project_idintegerrequired- Id of the project to place in the column. Example: 123456.
teamwork_portfolio_card_moveMove a project card from one portfolio column to another.WriteMove Portfolio Card
Move a project card from one portfolio column to another. Returns a status of OK when the card was moved. Use to change a project's stage on a board. Find card and column ids with teamwork_portfolio_column_cards_list.
- Idempotent
Inputs
card_idintegerrequired- Id of the card to move. Example: 1001.
column_idintegerrequired- Id of the column to move the card to. Example: 902.
old_column_idintegerrequired- Id of the column the card is coming from. Example: 901.
teamwork_portfolio_column_createAdd a column to a portfolio board.WriteCreate Portfolio Column
Add a column to a portfolio board. Returns the id of the created column and a status of OK. Use to add a stage to a board, for example Planned or In flight.
Inputs
board_idintegerrequired- Id of the portfolio board. Example: 801.
namestringrequired- Name of the column. Example: In flight.
colorstring- Colour of the column as a hex code. Example: #F39C12.
teamwork_portfolio_column_updateRename or recolour a portfolio column.WriteUpdate Portfolio Column
Rename or recolour a portfolio column. Returns a status of OK when the column was updated. Use to edit a column. Only the fields you supply are changed.
- Idempotent
Inputs
column_idintegerrequired- Id of the portfolio column to update. Example: 901.
colorstring- New colour of the column as a hex code. Example: #27AE60.
namestring- New name of the column. Example: Shipped.
teamwork_project_archiveArchive a project so it becomes inactive and drops out of the active project list.WriteArchive Project
Archive a project so it becomes inactive and drops out of the active project list. Returns a status of OK when the project was archived. Use to retire a finished project without deleting it. Use teamwork_project_unarchive to bring it back.
- Idempotent
Inputs
project_idintegerrequired- Id of the project to archive. Example: 123456.
teamwork_project_cloneCopy an existing project into a new project, choosing which parts (task lists, tasks, milestones, notebooks, links, messages, files, comments) to carry over.WriteClone Project
Copy an existing project into a new project, choosing which parts (task lists, tasks, milestones, notebooks, links, messages, files, comments) to carry over. Returns the id of the new project and a status of OK. Cloning a large project can take a while. Use to start a project from an earlier one or from a template. Nothing is copied unless you set its copy flag, and project members are never copied unless copy_people is true.
Inputs
new_project_namestringrequired- Name of the new project. Example: SK Website Redesign Copy.
project_idintegerrequired- Id of the project or template to copy. Example: 123456.
company_idinteger- Id of the company (client) the new project belongs to. Example: 55.
copy_commentsboolean- Copy the comments into the new project. Defaults to false. Example: false.
copy_filesboolean- Copy the files into the new project. Defaults to false. Example: false.
copy_linksboolean- Copy the links into the new project. Defaults to false. Example: false.
copy_messagesboolean- Copy the messages into the new project. Defaults to false. Example: false.
copy_milestonesboolean- Copy the milestones into the new project. Defaults to false. Example: false.
copy_notebooksboolean- Copy the notebooks into the new project. Defaults to false. Example: false.
copy_peopleboolean- Copy the project members into the new project, which can notify them. Defaults to false. Example: false.
copy_tasklistsboolean- Copy the task lists (empty) into the new project. Defaults to false. Example: true.
copy_tasksboolean- Copy the tasks into the new project. Defaults to false. Example: true.
descriptionstring- Description of the new project. Example: Copy of the redesign project.
new_from_templateboolean- Set true when the source is a project template and the copy should be a normal project. Example: false.
to_templateboolean- Set true to turn the copy into a project template. Example: false.
teamwork_project_createCreate a new project in the Teamwork site.WriteCreate Project
Create a new project in the Teamwork site. Returns the id of the created project and a status of OK. Use to start a new project. Use teamwork_project_update to change an existing one.
Inputs
namestringrequired- Name of the new project. Example: Website Redesign.
category_idinteger- Id of the project category to file the project under. Example: 7.
company_idinteger- Id of the company (client) that the project belongs to. Example: 55.
descriptionstring- Description of the project.
end_datestring- Project end date in YYYYMMDD format. Example: 20250630.
is_privateboolean- When true the project is private and only visible to its members. Example: false.
project_owner_idinteger- User id of the project owner. Example: 101.
start_datestring- Project start date in YYYYMMDD format. Example: 20250101.
teamwork_project_customfield_value_addSet a custom field value on a project that does not have one for that field yet.WriteAdd Project Custom Field Value
Set a custom field value on a project that does not have one for that field yet. Returns the stored custom field value. Use to fill in a custom field on a project. Use teamwork_project_customfield_value_update to change an existing value.
Inputs
customfield_idintegerrequired- Id of the custom field the value belongs to. Example: 6801.
project_idintegerrequired- Id of the project. Example: 123456.
valuestringrequired- Value to store. Use text for text fields, a number for number fields, true or false for checkboxes, an ISO date for date fields, or a list of options for multiselect fields. Example: Gold.
teamwork_project_customfield_value_updateChange the value of a custom field already set on a project.WriteUpdate Project Custom Field Value
Change the value of a custom field already set on a project. Returns the updated custom field value. Use to edit a stored value. Use teamwork_project_customfield_value_add for a field with no value yet.
- Idempotent
Inputs
customfield_idintegerrequired- Id of the custom field the value belongs to. Example: 6801.
project_idintegerrequired- Id of the project. Example: 123456.
valuestringrequired- Value to store. Use text for text fields, a number for number fields, true or false for checkboxes, an ISO date for date fields, or a list of options for multiselect fields. Example: Gold.
value_idintegerrequired- Id of the stored value, which is the id field returned when listing or adding custom field values (not the id of the custom field itself). Example: 4724354.
teamwork_project_features_setTurn project features such as tasks, milestones, messages, files, time tracking, notebooks, links, billing and the risk register on or off.WriteSet Project Features
Turn project features such as tasks, milestones, messages, files, time tracking, notebooks, links, billing and the risk register on or off. Returns a status of OK when the settings were saved. Use to enable or disable the tabs of a project. Only the features you supply are changed. Use teamwork_project_update for name, dates and ownership details.
- Idempotent
Inputs
project_idintegerrequired- Id of the project to change. Example: 123456.
use_billingboolean- Turn the Billing feature on or off. Example: false.
use_filesboolean- Turn the Files feature on or off. Example: true.
use_linksboolean- Turn the Links feature on or off. Example: true.
use_messagesboolean- Turn the Messages feature on or off. Example: true.
use_milestonesboolean- Turn the Milestones feature on or off. Example: true.
use_notebookboolean- Turn the Notebooks feature on or off. Example: true.
use_riskregisterboolean- Turn the Risk register feature on or off. Example: true.
use_tasksboolean- Turn the Tasks feature on or off. Example: true.
use_timeboolean- Turn the Time tracking feature on or off. Example: true.
teamwork_project_owner_setSet the owner of a project to an existing user.WriteSet Project Owner
Set the owner of a project to an existing user. Returns a status of OK when the owner was changed. Use to hand a project to a different person. Use teamwork_people_list to find user ids.
- Idempotent
Inputs
owner_user_idintegerrequired- Id of the user who becomes the project owner. Example: 101.
project_idintegerrequired- Id of the project to change. Example: 123456.
teamwork_project_people_addAdd existing users to a project as members.WriteAdd People to Project
Add existing users to a project as members. Returns the updated project membership response from Teamwork. Use to give users access to a project. Users must already exist on the Teamwork site.
- Idempotent
Inputs
project_idintegerrequired- Id of the project to add people to. Example: 123456.
user_idsarrayrequired- Ids of the users to add to the project. Example: [101, 102].
teamwork_project_starAdd a project to the favourites of the authenticated user.WriteStar Project
Add a project to the favourites of the authenticated user. Returns a status of OK when the project was starred. Use to pin a project for quick access. Use teamwork_project_unstar to remove it, and teamwork_projects_starred_list to see starred projects.
- Idempotent
Inputs
project_idintegerrequired- Id of the project to star. Example: 123456.
teamwork_project_status_update_createPost a status update with a health rating on a project.WriteCreate Project Status Update
Post a status update with a health rating on a project. Returns the created status update with its id. Use to report progress on a project. Nobody is notified unless you pass notify_user_ids. Use teamwork_project_status_update_edit to change the text later.
Inputs
project_idintegerrequired- Id of the project to post the update on. Example: 123456.
textstringrequired- Text of the status update. Example: Design is done, build starts Monday.
healthstring- Health rating to attach to the project: 0 no status, 1 needs attention (red), 2 ready to release (yellow), 3 in progress (green). Example: 3. Allowed values: 0, 1, 2, 3.one of
0123 notify_user_idsstring- Comma-separated user ids to notify about the update. Leave empty to notify nobody. Example: 101,102.
teamwork_project_status_update_editChange the text of a project status update.WriteEdit Project Status Update
Change the text of a project status update. Returns a status of OK when the update was saved. Use to correct a status update you posted. Use teamwork_project_status_update_create for a new one.
- Idempotent
Inputs
textstringrequired- New text of the status update. Example: Design is done, build starts Tuesday.
update_idintegerrequired- Id of the status update to edit. Example: 8801.
teamwork_project_template_createCreate a new, empty project template.WriteCreate Project Template
Create a new, empty project template. Returns the id of the created template and a status of OK. Use to start a reusable project blueprint. Use teamwork_project_clone with to_template to turn an existing project into a template, and teamwork_project_delete to remove a template.
Inputs
namestringrequired- Name of the template. Example: Website Launch Template.
category_idinteger- Id of the project category to file the template under. Example: 7.
company_idinteger- Id of the company (client) the template belongs to. Example: 55.
descriptionstring- Description of the template. Example: Standard plan for launching a website.
teamwork_project_time_entry_createLog time against a project without attaching it to a task.WriteLog Time on Project
Log time against a project without attaching it to a task. Returns the created time entry with its id. Use for general project work. Use teamwork_task_time_entry_create for work on a specific task.
Inputs
datestringrequired- Date the time was worked, in YYYY-MM-DD format. Example: 2025-03-04.
minutesintegerrequired- Additional minutes worked (0 to 59). Example: 30.
project_idintegerrequired- Id of the project to log time against. Example: 123456.
descriptionstring- Description of the work done.
hoursinteger- Whole hours worked. Example: 1.
is_billableboolean- When true the time is billable. Example: true.
tag_idsarray- Ids of existing tags to attach to the time entry. Example: [3].
timestring- Start time of day in HH:MM:SS format. Example: 09:30:00.
user_idinteger- Id of the user the time is logged for. Defaults to the authenticated user. Example: 101.
teamwork_project_unarchiveReactivate an archived project so it appears in the active project list again.WriteUnarchive Project
Reactivate an archived project so it appears in the active project list again. Returns a status of OK when the project was reactivated. Use to undo teamwork_project_archive.
- Idempotent
Inputs
project_idintegerrequired- Id of the archived project to reactivate. Example: 123456.
teamwork_project_unstarRemove a project from the favourites of the authenticated user.WriteUnstar Project
Remove a project from the favourites of the authenticated user. Returns a status of OK when the project was unstarred. Use to undo teamwork_project_star.
- Idempotent
Inputs
project_idintegerrequired- Id of the project to unstar. Example: 123456.
teamwork_project_updateUpdate the name, description, dates, category, company or owner of an existing project.WriteUpdate Project
Update the name, description, dates, category, company or owner of an existing project. Returns a status of OK when the project was updated. Use to edit a project. Only the fields you supply are changed.
- Idempotent
Inputs
project_idintegerrequired- Id of the project to update. Example: 123456.
category_idinteger- Id of the project category to move the project to. Example: 7.
company_idinteger- Id of the company (client) that the project belongs to. Example: 55.
descriptionstring- New description for the project.
end_datestring- New end date in YYYYMMDD format. Example: 20250731.
is_privateboolean- Set true to make the project private, false to make it visible to the whole team. Example: false.
namestring- New name for the project. Example: Website Redesign v2.
start_datestring- New start date in YYYYMMDD format. Example: 20250201.
teamwork_project_workflow_applyApply a board workflow to a project so its tasks can be moved between stages.WriteApply Workflow to Project
Apply a board workflow to a project so its tasks can be moved between stages. Returns the workflow applied to the project. Use to turn on a board for a project. Use teamwork_project_workflow_remove to take it off.
Inputs
project_idintegerrequired- Id of the project. Example: 123456.
workflow_idintegerrequired- Id of the workflow to apply. Example: 1101.
teamwork_risk_createAdd a risk to the risk register of a project.WriteCreate Risk
Add a risk to the risk register of a project. Returns the created risk with its id. Use to log a project risk. Set at least one of impact_cost, impact_performance or impact_schedule to true. The project must have the Risk register feature turned on (see teamwork_project_features_set).
Inputs
project_idintegerrequired- Id of the project to add the risk to. Example: 123456.
sourcestringrequired- Description of the risk (what could go wrong). Example: Vendor may miss the delivery date.
impact_costboolean- Set true if the risk affects cost. Example: true.
impact_performanceboolean- Set true if the risk affects performance or quality. Example: false.
impact_scheduleboolean- Set true if the risk affects the schedule. Example: true.
impact_valueinteger- Size of the impact if the risk happens, as a score. Example: 75.
mitigation_planstring- What will be done to reduce or handle the risk. Example: Line up a backup vendor.
probability_valueinteger- Likelihood of the risk happening, as a score. Example: 50.
teamwork_risk_updateUpdate the description, scores, mitigation plan or impact areas of a risk.WriteUpdate Risk
Update the description, scores, mitigation plan or impact areas of a risk. Returns the updated risk. Use to edit a logged risk. Only the fields you supply are changed.
- Idempotent
Inputs
risk_idintegerrequired- Id of the risk to update. Example: 5101.
impact_costboolean- Set true if the risk affects cost. Example: true.
impact_performanceboolean- Set true if the risk affects performance or quality. Example: false.
impact_scheduleboolean- Set true if the risk affects the schedule. Example: true.
impact_valueinteger- Size of the impact if the risk happens, as a score. Example: 75.
mitigation_planstring- What will be done to reduce or handle the risk. Example: Line up a backup vendor.
probability_valueinteger- Likelihood of the risk happening, as a score. Example: 50.
sourcestring- Description of the risk (what could go wrong). Example: Vendor may miss the delivery date.
teamwork_subtask_createCreate a subtask under an existing task.WriteCreate Subtask
Create a subtask under an existing task. Returns the created subtask with its id and name. Use to break a task into smaller steps. Use teamwork_task_create for a top-level task.
Inputs
namestringrequired- Name (title) of the task. Example: Draft launch announcement.
task_idintegerrequired- Id of the parent task. Example: 7654321.
assignee_user_idsarray- Ids of the users to assign the task to. Example: [101, 102].
descriptionstring- Description of the task. Plain text or HTML.
due_datestring- Due date in YYYY-MM-DD format. Example: 2025-03-15.
estimated_minutesinteger- Estimated effort in minutes. Example: 120.
is_privateboolean- When true the task is only visible to the people it is shared with. Example: false.
prioritystring- Task priority. Example: high. Allowed values: low, medium, high.one of
lowmediumhigh progressinteger- Completion percentage from 0 to 100. Example: 25.
start_datestring- Start date in YYYY-MM-DD format. Example: 2025-03-01.
tag_idsarray- Ids of existing tags to attach to the task. Example: [3, 4].
teamwork_subtasks_quickaddCreate several subtasks under a task from one block of text, one subtask per line.WriteQuick Add Subtasks
Create several subtasks under a task from one block of text, one subtask per line. Returns a status of OK and the ids of the created subtasks. Use to bulk-create subtasks fast. Separate subtask names with a newline or ~|~. Nobody is notified unless notify is true. Use teamwork_subtask_create for one subtask with full detail.
Inputs
contentstringrequired- Names of the subtasks to create, separated by a newline or ~|~. Example: Write copy~|~Review copy.
task_idintegerrequired- Id of the parent task. Example: 7654321.
notifyboolean- Set true to notify the assignees of the new subtasks. Defaults to false. Example: false.
prioritystring- Priority applied to every created subtask. Example: medium. Allowed values: low, medium, high.one of
lowmediumhigh
teamwork_tag_createCreate a tag.WriteCreate Tag
Create a tag. Returns the created tag with its id. Use to add a tag that can then be attached to tasks, projects and time entries.
Inputs
namestringrequired- Name of the tag. Example: urgent.
colorstring- Colour of the tag as a hex code. Example: #ff22b1.
project_idinteger- Id of a project to scope the tag to. Omit for a site-wide tag. Example: 123456.
teamwork_tag_updateRename or recolour a tag.WriteUpdate Tag
Rename or recolour a tag. Returns the updated tag. Use to edit a tag. Only the fields you supply are changed.
- Idempotent
Inputs
tag_idintegerrequired- Id of the tag to update. Example: 3.
colorstring- New colour of the tag as a hex code. Example: #1d1c39.
namestring- New name of the tag. Example: high-priority.
teamwork_task_comment_createPost a comment on a task.WriteCreate Task Comment
Post a comment on a task. Returns the id of the created comment and a status of OK. Use to add a note to a task's discussion. Nobody is notified. Use teamwork_comment_create for milestones, notebooks and links.
Inputs
bodystringrequired- Text of the comment. Plain text or HTML.
task_idintegerrequired- Id of the task to comment on. Example: 7654321.
content_typestring- Format of the body. Example: TEXT. Allowed values: TEXT, HTML.one of
TEXTHTML is_privateboolean- When true the comment is only visible to the team, not clients. Example: false.
teamwork_task_completeMark a task as complete.WriteComplete Task
Mark a task as complete. Returns a status of OK when the task was completed. Use to close a task. Use teamwork_task_reopen to undo it.
- Idempotent
Inputs
task_idintegerrequired- Id of the task to complete. Example: 7654321.
teamwork_task_copyCopy a task into a task list in the same or another project.WriteCopy Task
Copy a task into a task list in the same or another project. Returns a status of OK and the id of the new task. Use to duplicate a task. Use teamwork_task_move to relocate it instead.
- Idempotent
Inputs
project_idintegerrequired- Id of the destination project. Example: 123456.
task_idintegerrequired- Id of the task to copy. Example: 7654321.
tasklist_idintegerrequired- Id of the destination task list. Example: 9002.
teamwork_task_createCreate a task in a task list.WriteCreate Task
Create a task in a task list. Returns the created task with its id, name and list. Use to add a task to an existing task list. Use teamwork_subtask_create to add a child of another task.
Inputs
namestringrequired- Name (title) of the task. Example: Draft launch announcement.
tasklist_idintegerrequired- Id of the task list to create the task in. Example: 9001.
assignee_user_idsarray- Ids of the users to assign the task to. Example: [101, 102].
descriptionstring- Description of the task. Plain text or HTML.
due_datestring- Due date in YYYY-MM-DD format. Example: 2025-03-15.
estimated_minutesinteger- Estimated effort in minutes. Example: 120.
is_privateboolean- When true the task is only visible to the people it is shared with. Example: false.
prioritystring- Task priority. Example: high. Allowed values: low, medium, high.one of
lowmediumhigh progressinteger- Completion percentage from 0 to 100. Example: 25.
start_datestring- Start date in YYYY-MM-DD format. Example: 2025-03-01.
tag_idsarray- Ids of existing tags to attach to the task. Example: [3, 4].
teamwork_task_customfield_value_addSet a custom field value on a task that does not have one for that field yet.WriteAdd Task Custom Field Value
Set a custom field value on a task that does not have one for that field yet. Returns the stored custom field value. Use to fill in a custom field on a task. Use teamwork_task_customfield_value_update to change an existing value.
Inputs
customfield_idintegerrequired- Id of the custom field the value belongs to. Example: 6801.
task_idintegerrequired- Id of the task. Example: 7654321.
valuestringrequired- Value to store. Use text for text fields, a number for number fields, true or false for checkboxes, an ISO date for date fields, or a list of options for multiselect fields. Example: Gold.
teamwork_task_customfield_value_updateChange the value of a custom field already set on a task.WriteUpdate Task Custom Field Value
Change the value of a custom field already set on a task. Returns the updated custom field value. Use to edit a stored value. Use teamwork_task_customfield_value_add for a field with no value yet.
- Idempotent
Inputs
customfield_idintegerrequired- Id of the custom field the value belongs to. Example: 6801.
task_idintegerrequired- Id of the task. Example: 7654321.
valuestringrequired- Value to store. Use text for text fields, a number for number fields, true or false for checkboxes, an ISO date for date fields, or a list of options for multiselect fields. Example: Gold.
value_idintegerrequired- Id of the stored value, which is the id field returned when listing or adding custom field values (not the id of the custom field itself). Example: 4724354.
teamwork_task_followers_setSet which users follow a task's changes, comments and completion.WriteSet Task Followers
Set which users follow a task's changes, comments and completion. Returns the updated task. Use to add followers who get notified about the task. Only the lists you supply are changed. Use teamwork_task_followers_list to see the current followers.
- Idempotent
Inputs
task_idintegerrequired- Id of the task. Example: 7654321.
change_follower_user_idsarray- Ids of users who follow changes made to the task. Example: [101].
comment_follower_user_idsarray- Ids of users who follow new comments on the task. Example: [101].
complete_follower_user_idsarray- Ids of users who are told when the task is completed. Example: [101].
teamwork_task_moveMove a task to a task list in another project, or to another list in the same project.WriteMove Task
Move a task to a task list in another project, or to another list in the same project. Returns a status of OK when the task was moved. Use to relocate a task. Use teamwork_task_copy to leave the original in place.
- Idempotent
Inputs
project_idintegerrequired- Id of the destination project. Example: 123456.
task_idintegerrequired- Id of the task to move. Example: 7654321.
tasklist_idintegerrequired- Id of the destination task list. Example: 9002.
teamwork_task_predecessors_setReplace the predecessors of a task with a new list of blocking tasks.WriteSet Task Predecessors
Replace the predecessors of a task with a new list of blocking tasks. Returns the updated task. Use to add or remove task dependencies. Include every predecessor the task should keep, because the list replaces the current one. Pass an empty list to clear all predecessors.
- Idempotent
Inputs
predecessorsarrayrequired- Full list of predecessors. Each entry names the blocking task by id and says whether it must be completed or only started first. Example: [{"id": 7654320, "type": "complete"}].
task_idintegerrequired- Id of the task that depends on the others. Example: 7654321.
teamwork_task_reminder_createAdd a reminder to a task for one or more users at a given date and time.WriteCreate Task Reminder
Add a reminder to a task for one or more users at a given date and time. Returns the created reminder. Use to schedule a nudge on a task. The reminder is only sent when the time arrives. Use teamwork_task_reminder_delete to remove it.
Inputs
remind_atstringrequired- When to send the reminder, as an ISO 8601 date and time. Example: 2027-06-01T09:00:00Z.
task_idintegerrequired- Id of the task. Example: 7654321.
user_idsarrayrequired- Ids of the users to remind. Example: [101].
notestring- Note included in the reminder. Example: Check progress before the review.
reminder_typestring- How the reminder is delivered. Example: email. Allowed values: email, sms, push.one of
emailsmspush
teamwork_task_reopenMark a completed task as not complete again.WriteReopen Task
Mark a completed task as not complete again. Returns a status of OK when the task was reopened. Use to undo teamwork_task_complete.
- Idempotent
Inputs
task_idintegerrequired- Id of the task to reopen. Example: 7654321.
teamwork_task_time_entry_createLog time against a task.WriteLog Time on Task
Log time against a task. Returns the created time entry with its id. Use to record work on a task. Use teamwork_project_time_entry_create when the time is not tied to a task.
Inputs
datestringrequired- Date the time was worked, in YYYY-MM-DD format. Example: 2025-03-04.
minutesintegerrequired- Additional minutes worked (0 to 59). Example: 30.
task_idintegerrequired- Id of the task to log time against. Example: 7654321.
descriptionstring- Description of the work done.
hoursinteger- Whole hours worked. Example: 1.
is_billableboolean- When true the time is billable. Example: true.
tag_idsarray- Ids of existing tags to attach to the time entry. Example: [3].
timestring- Start time of day in HH:MM:SS format. Example: 09:30:00.
user_idinteger- Id of the user the time is logged for. Defaults to the authenticated user. Example: 101.
teamwork_task_updateUpdate fields on an existing task.WriteUpdate Task
Update fields on an existing task. Returns the updated task. Use to rename, reschedule, reassign or re-prioritise a task. Only the fields you supply are changed. Use teamwork_task_complete to mark a task done.
- Idempotent
Inputs
task_idintegerrequired- Id of the task to update. Example: 7654321.
assignee_user_idsarray- Ids of the users to assign the task to. Example: [101, 102].
descriptionstring- Description of the task. Plain text or HTML.
due_datestring- Due date in YYYY-MM-DD format. Example: 2025-03-15.
estimated_minutesinteger- Estimated effort in minutes. Example: 120.
is_privateboolean- When true the task is only visible to the people it is shared with. Example: false.
namestring- Name (title) of the task. Example: Draft launch announcement.
prioritystring- Task priority. Example: high. Allowed values: low, medium, high.one of
lowmediumhigh progressinteger- Completion percentage from 0 to 100. Example: 25.
start_datestring- Start date in YYYY-MM-DD format. Example: 2025-03-01.
tag_idsarray- Ids of existing tags to attach to the task. Example: [3, 4].
teamwork_task_workflow_stage_moveMove a task to a stage of a workflow board, optionally after another task.WriteMove Task to Workflow Stage
Move a task to a stage of a workflow board, optionally after another task. Returns an empty success response when the task was moved. Use to change a task's board column. Find stage ids with teamwork_workflow_stages_list.
- Idempotent
Inputs
stage_idintegerrequired- Id of the destination stage. Example: 1201.
task_idintegerrequired- Id of the task to move. Example: 7654321.
workflow_idintegerrequired- Id of the workflow. Example: 1101.
position_after_task_idinteger- Id of the task to place this one after in the stage. Example: 7654320.
teamwork_tasklist_copyCopy a task list, with its tasks, into the same or another project.WriteCopy Task List
Copy a task list, with its tasks, into the same or another project. Returns a status of OK and the id of the new task list. Use to duplicate a list. Use teamwork_tasklist_move to relocate it instead.
- Idempotent
Inputs
project_idintegerrequired- Id of the destination project. Example: 123456.
tasklist_idintegerrequired- Id of the task list to copy. Example: 9001.
include_completed_tasksboolean- Set true to also copy completed tasks. Defaults to false. Example: false.
teamwork_tasklist_createCreate a task list in a project.WriteCreate Task List
Create a task list in a project. Returns the id of the created task list and a status of OK. Use to add a list to a project before creating tasks with teamwork_task_create.
Inputs
namestringrequired- Name of the task list. Example: Sprint 12.
project_idintegerrequired- Id of the project to create the task list in. Example: 123456.
descriptionstring- Description of the task list.
is_privateboolean- When true the list is only visible to project members with private access. Example: false.
milestone_idinteger- Id of a milestone to attach the list to. Example: 4001.
teamwork_tasklist_moveMove a task list, with its tasks, to another project.WriteMove Task List
Move a task list, with its tasks, to another project. Returns a status of OK when the list was moved. Use to relocate a list. Use teamwork_tasklist_copy to leave the original in place.
- Idempotent
Inputs
project_idintegerrequired- Id of the destination project. Example: 123456.
tasklist_idintegerrequired- Id of the task list to move. Example: 9001.
teamwork_tasklist_updateUpdate the name, description or milestone of a task list.WriteUpdate Task List
Update the name, description or milestone of a task list. Returns a status of OK when the task list was updated. Use to rename or re-describe a list. Only the fields you supply are changed.
- Idempotent
Inputs
tasklist_idintegerrequired- Id of the task list to update. Example: 9001.
descriptionstring- New description of the task list.
is_privateboolean- Set true to make the list private. Example: false.
milestone_idinteger- Id of a milestone to attach the list to. Example: 4001.
namestring- New name of the task list. Example: Sprint 13.
teamwork_tasklists_reorderMove the listed task lists to the top of a project in the order given.WriteReorder Task Lists
Move the listed task lists to the top of a project in the order given. Returns a status of OK when the lists were reordered. Use to prioritise lists inside a project. Lists you leave out keep their order below the listed ones.
- Idempotent
Inputs
project_idintegerrequired- Id of the project. Example: 123456.
tasklist_idsarrayrequired- Ids of the task lists in the order they should appear at the top. Example: [9002, 9001].
teamwork_tasks_quickaddCreate several tasks in a task list from one block of text, one task per line.WriteQuick Add Tasks
Create several tasks in a task list from one block of text, one task per line. Returns a status of OK and the ids of the created tasks. Use to bulk-create tasks fast. Separate task names with a newline or ~|~. Nobody is notified unless notify is true. Use teamwork_task_create for one task with full detail.
Inputs
contentstringrequired- Names of the tasks to create, separated by a newline or ~|~. Example: Draft brief~|~Review brief~|~Publish brief.
project_idintegerrequired- Id of the project the task list belongs to. Example: 123456.
tasklist_idintegerrequired- Id of the task list to add the tasks to. Example: 9001.
descriptionstring- Description applied to every created task. Example: Created from the quick add list.
due_datestring- Due date applied to every created task, in YYYYMMDD format. Example: 20271231.
notifyboolean- Set true to notify the assignees of the new tasks. Defaults to false. Example: false.
prioritystring- Priority applied to every created task. Example: medium. Allowed values: low, medium, high.one of
lowmediumhigh
teamwork_tasks_reorderMove the listed tasks to the top of a task list in the order given.WriteReorder Tasks in Task List
Move the listed tasks to the top of a task list in the order given. Returns a status of OK when the tasks were reordered. Use to prioritise tasks within a list. Tasks you leave out keep their relative order below the listed ones, and completed tasks cannot be reordered.
- Idempotent
Inputs
task_idsarrayrequired- Ids of the tasks in the order they should appear at the top of the list. Example: [7654322, 7654321].
tasklist_idintegerrequired- Id of the task list. Example: 9001.
teamwork_time_entry_updateUpdate an existing time entry.WriteUpdate Time Entry
Update an existing time entry. Returns the updated time entry. Use to correct logged time. Only the fields you supply are changed.
- Idempotent
Inputs
timelog_idintegerrequired- Id of the time entry to update. Example: 300100.
datestring- Date the time was worked, in YYYY-MM-DD format. Example: 2025-03-04.
descriptionstring- Description of the work done.
hoursinteger- Whole hours worked. Example: 1.
is_billableboolean- When true the time is billable. Example: true.
minutesinteger- Additional minutes worked (0 to 59). Example: 30.
tag_idsarray- Ids of existing tags to attach to the time entry. Example: [3].
timestring- Start time of day in HH:MM:SS format. Example: 09:30:00.
user_idinteger- Id of the user the time is logged for. Defaults to the authenticated user. Example: 101.
teamwork_timer_completeStop a timer and turn it into a logged time entry.WriteComplete Timer
Stop a timer and turn it into a logged time entry. Returns the completed timer and the resulting time entry. Use to finish a timer started with teamwork_timer_start.
- Idempotent
Inputs
timer_idintegerrequired- Id of the timer to complete. Example: 5001.
teamwork_timer_pausePause a running timer.WritePause Timer
Pause a running timer. Returns the paused timer. Use when work stops for a while. Use teamwork_timer_resume to continue it.
- Idempotent
Inputs
timer_idintegerrequired- Id of the timer to pause. Example: 5001.
teamwork_timer_resumeResume a paused timer.WriteResume Timer
Resume a paused timer. Any other running timer is paused first. Returns the running timer. Use to continue timing after teamwork_timer_pause.
- Idempotent
Inputs
timer_idintegerrequired- Id of the timer to resume. Example: 5001.
teamwork_timer_startStart a timer for the authenticated user on a project, optionally on a task in it.WriteStart Timer
Start a timer for the authenticated user on a project, optionally on a task in it. Returns the created timer with its id and state. Use to begin live time tracking. Use teamwork_timer_complete to stop it and log the time.
Inputs
project_idintegerrequired- Id of the project to track time against. Required: a timer with no project can't be updated or logged afterwards. Example: 123456.
descriptionstring- Description of the work being timed.
is_billableboolean- When true the tracked time is billable. Example: true.
stop_running_timersboolean- When true, any other running timers of the user are stopped first. Example: true.
task_idinteger- Id of the task to track time against. Example: 7654321.
teamwork_timer_updateChange the description, billable flag, task or project of a timer.WriteUpdate Timer
Change the description, billable flag, task or project of a timer. Returns the updated timer. Use to correct a running or paused timer. Only the fields you supply are changed. Use teamwork_timer_complete to turn it into a time entry.
- Idempotent
Inputs
timer_idintegerrequired- Id of the timer to update. Example: 5001.
descriptionstring- New description of the work being timed. Example: Reviewing the brief.
is_billableboolean- Set true if the time is billable. Example: true.
project_idinteger- Id of the project the timer belongs to. Example: 123456.
task_idinteger- Id of the task the timer belongs to. Example: 7654321.
teamwork_trashcan_restoreRestore a deleted project, task, task list, milestone, message, notebook, link, file, time entry, comment or expense from the trashcan.WriteRestore From Trashcan
Restore a deleted project, task, task list, milestone, message, notebook, link, file, time entry, comment or expense from the trashcan. Returns a status of OK when the item was restored. Use to undo a delete. Find the id with teamwork_trashcan_projects_list or teamwork_trashcan_project_items_list.
- Idempotent
Inputs
item_idintegerrequired- Id of the deleted item to restore. Example: 7654321.
resourcestringrequired- Type of item to restore. Example: tasks.one of
projectstasksmilestonestasklistsmessagesmessagerepliesnotebooksfilesfileversionstimelogslinkscommentsexpenses include_commentsboolean- Also restore the comments of the item. Defaults to true. Example: true.
include_subtasksstring- Tasks only. none restores no subtasks, sameDeletedDate restores subtasks deleted together with the task, any other value restores all of them. Example: sameDeletedDate.
teamwork_workflow_createCreate a board workflow, optionally dedicated to one project.WriteCreate Workflow
Create a board workflow, optionally dedicated to one project. Returns the created workflow with its id. Use to set up a board. Pass project_id with project_specific true to keep the workflow inside one project. Add columns with teamwork_workflow_stage_create.
Inputs
namestringrequired- Name of the workflow. Example: Delivery board.
project_idinteger- Id of the project the workflow belongs to. Leave empty for a site-wide workflow. Example: 123456.
project_specificboolean- Set true to dedicate the workflow to the project given in project_id. Example: true.
teamwork_workflow_stage_createAdd a stage (board column) to a workflow.WriteCreate Workflow Stage
Add a stage (board column) to a workflow. Returns the created stage with its id. Use to add a column to a board. Use teamwork_workflow_stages_list to see the existing stages.
Inputs
namestringrequired- Name of the stage. Example: In review.
workflow_idintegerrequired- Id of the workflow. Example: 1101.
colorstring- Colour of the stage as a hex code. Example: #3498DB.
position_after_stage_idinteger- Id of the stage to place this one after. Example: 1201.
teamwork_workflow_stage_updateRename, recolour or reposition a stage of a workflow.WriteUpdate Workflow Stage
Rename, recolour or reposition a stage of a workflow. Returns the updated stage. Use to edit a board column. Only the fields you supply are changed.
- Idempotent
Inputs
stage_idintegerrequired- Id of the stage to update. Example: 1201.
workflow_idintegerrequired- Id of the workflow. Example: 1101.
colorstring- New colour of the stage as a hex code. Example: #27AE60.
namestring- New name of the stage. Example: Ready for QA.
position_after_stage_idinteger- Id of the stage to place this one after. Example: 1201.
teamwork_workflow_updateRename a board workflow.WriteUpdate Workflow
Rename a board workflow. Returns the updated workflow. Use to change a workflow's name. Use teamwork_workflow_stage_update to change its columns.
- Idempotent
Inputs
namestringrequired- New name of the workflow. Example: Delivery board v2.
workflow_idintegerrequired- Id of the workflow to update. Example: 1101.
teamwork_activity_deleteDelete one entry from the activity feed.DestructiveDelete Activity Entry
Delete one entry from the activity feed. Returns an empty success response when the entry was deleted. Use only to remove a single feed entry. Find ids with teamwork_activity_list or teamwork_project_activity_list.
- Idempotent
Inputs
activity_idintegerrequired- Id of the activity entry to delete. Example: 9501.
teamwork_calendar_event_deleteDelete a calendar event.DestructiveDelete Calendar Event
Delete a calendar event. Returns a status of OK when the event was deleted. Use only when the event should be removed. Use teamwork_calendar_event_update to reschedule it instead.
- Idempotent
Inputs
event_idintegerrequired- Id of the calendar event to delete. Example: 7701.
teamwork_comment_deleteDelete a comment.DestructiveDelete Comment
Delete a comment. Returns a status of OK when the comment was deleted. Use only when the comment should be removed. Use teamwork_comment_update to edit it instead, and teamwork_trashcan_restore to undo a delete.
- Idempotent
Inputs
comment_idintegerrequired- Id of the comment to delete. Example: 88001.
teamwork_company_deleteDelete a company (client) from the Teamwork site.DestructiveDelete Company
Delete a company (client) from the Teamwork site. Returns an empty success response when the company was deleted. Use only when the company should be removed. Use teamwork_company_update to edit it instead.
- Idempotent
Inputs
company_idintegerrequired- Id of the company to delete. Example: 55.
teamwork_customfield_deleteDelete a custom field definition and all the values stored in it.DestructiveDelete Custom Field
Delete a custom field definition and all the values stored in it. Returns an empty success response when the field was deleted. Use only when the field is no longer needed. Use teamwork_customfield_update to rename it instead.
- Idempotent
Inputs
customfield_idintegerrequired- Id of the custom field to delete. Example: 6801.
teamwork_expense_deleteDelete an expense.DestructiveDelete Expense
Delete an expense. Returns a status of OK when the expense was deleted. Use only when the expense should be removed. Use teamwork_trashcan_restore to undo a delete.
- Idempotent
Inputs
expense_idintegerrequired- Id of the expense to delete. Example: 2201.
teamwork_file_category_deleteDelete a file category.DestructiveDelete File Category
Delete a file category. Returns a status of OK when the category was deleted. Use only when the category is no longer needed. Use teamwork_file_category_update to rename it instead.
- Idempotent
Inputs
category_idintegerrequired- Id of the file category to delete. Example: 501.
teamwork_file_deleteDelete a file from a project.DestructiveDelete File
Delete a file from a project. Returns a status of OK when the file was deleted. Use only when the file should be removed. Use teamwork_trashcan_restore to undo a delete.
- Idempotent
Inputs
file_idintegerrequired- Id of the file to delete. Example: 4401.
teamwork_invoice_deleteDelete an invoice.DestructiveDelete Invoice
Delete an invoice. Returns a status of OK when the invoice was deleted. Use only when the invoice should be removed. Use teamwork_invoice_complete to close it instead.
- Idempotent
Inputs
invoice_idintegerrequired- Id of the invoice to delete. Example: 3301.
teamwork_link_category_deleteDelete a link category.DestructiveDelete Link Category
Delete a link category. Returns a status of OK when the category was deleted. Use only when the category is no longer needed. Use teamwork_link_category_update to rename it instead.
- Idempotent
Inputs
category_idintegerrequired- Id of the link category to delete. Example: 501.
teamwork_link_deleteDelete a link.DestructiveDelete Link
Delete a link. Returns a status of OK when the link was deleted. Use only when the link should be removed. Use teamwork_trashcan_restore to undo a delete.
- Idempotent
Inputs
link_idintegerrequired- Id of the link to delete. Example: 3001.
teamwork_message_category_deleteDelete a message category.DestructiveDelete Message Category
Delete a message category. Returns a status of OK when the category was deleted. Use only when the category is no longer needed. Use teamwork_message_category_update to rename it instead.
- Idempotent
Inputs
category_idintegerrequired- Id of the message category to delete. Example: 501.
teamwork_message_deleteDelete a message together with its replies.DestructiveDelete Message
Delete a message together with its replies. Returns a status of OK when the message was deleted. Use only when the message should be removed. Use teamwork_message_archive to keep it but hide it, and teamwork_trashcan_restore to undo a delete.
- Idempotent
Inputs
message_idintegerrequired- Id of the message to delete. Example: 6001.
teamwork_message_reply_deleteDelete a reply on a message.DestructiveDelete Message Reply
Delete a reply on a message. Returns a status of OK when the reply was deleted. Use only when the reply should be removed from the discussion.
- Idempotent
Inputs
reply_idintegerrequired- Id of the message reply to delete. Example: 6501.
teamwork_milestone_deleteDelete a milestone.DestructiveDelete Milestone
Delete a milestone. Returns a status of OK when the milestone was deleted. Use only when the milestone should be removed. Use teamwork_milestone_complete to close it instead, and teamwork_trashcan_restore to undo a delete.
- Idempotent
Inputs
milestone_idintegerrequired- Id of the milestone to delete. Example: 4001.
teamwork_my_status_deleteDelete a status message of the authenticated user.DestructiveDelete My Status
Delete a status message of the authenticated user. Returns a status of OK when the status was deleted. Use to clear a status. Find the id with teamwork_my_status_get.
- Idempotent
Inputs
status_idintegerrequired- Id of the status to delete. Example: 9301.
teamwork_notebook_category_deleteDelete a notebook category.DestructiveDelete Notebook Category
Delete a notebook category. Returns a status of OK when the category was deleted. Use only when the category is no longer needed. Use teamwork_notebook_category_update to rename it instead.
- Idempotent
Inputs
category_idintegerrequired- Id of the notebook category to delete. Example: 501.
teamwork_notebook_deleteDelete a notebook.DestructiveDelete Notebook
Delete a notebook. Returns an empty success response when the notebook was deleted. Use only when the notebook should be removed. Use teamwork_trashcan_restore to undo a delete.
- Idempotent
Inputs
notebook_idintegerrequired- Id of the notebook to delete. Example: 2001.
teamwork_portfolio_board_deleteDelete a portfolio board.DestructiveDelete Portfolio Board
Delete a portfolio board. Returns a status of OK when the board was deleted. Use only when the board is no longer needed. The projects on it are not deleted.
- Idempotent
Inputs
board_idintegerrequired- Id of the portfolio board to delete. Example: 801.
teamwork_portfolio_card_deleteRemove a project card from a portfolio column.DestructiveRemove Project from Portfolio Column
Remove a project card from a portfolio column. Returns a status of OK when the card was removed. The project itself is not deleted. Use to take a project off a board.
- Idempotent
Inputs
card_idintegerrequired- Id of the card to remove. Example: 1001.
teamwork_portfolio_column_deleteDelete a portfolio column.DestructiveDelete Portfolio Column
Delete a portfolio column. Returns a status of OK when the column was deleted. Use only when the column is no longer needed.
- Idempotent
Inputs
column_idintegerrequired- Id of the portfolio column to delete. Example: 901.
teamwork_project_customfield_value_deleteRemove a custom field value from a project.DestructiveDelete Project Custom Field Value
Remove a custom field value from a project. Returns an empty success response when the value was removed. Use to clear a value without deleting the field definition. Find the value id with the list tool.
- Idempotent
Inputs
project_idintegerrequired- Id of the project. Example: 123456.
value_idintegerrequired- Id of the stored value, which is the id field returned when listing or adding custom field values (not the id of the custom field itself). Example: 4724354.
teamwork_project_deleteDelete a project and everything inside it (tasks, task lists, milestones, messages, files and time entries).DestructiveDelete Project
Delete a project and everything inside it (tasks, task lists, milestones, messages, files and time entries). Returns a status of OK when the project was deleted. Teamwork moves it to the trash, where an admin can restore it for a limited time. Use only when the whole project should be removed. Use teamwork_project_archive to keep it but hide it, and teamwork_trashcan_restore to undo a delete.
- Idempotent
Inputs
project_idintegerrequired- Id of the project to delete. Example: 123456.
teamwork_project_people_removeRemove users from the member list of a project.DestructiveRemove People from Project
Remove users from the member list of a project. Returns a status of OK when the users were removed. Use to take people off a project. Use teamwork_project_people_add to add them, and teamwork_project_people_list to see current members.
- Idempotent
Inputs
project_idintegerrequired- Id of the project. Example: 123456.
user_idsstringrequired- Comma-separated ids of the users to remove. Example: 101,102.
teamwork_project_status_update_deleteDelete a project status update.DestructiveDelete Project Status Update
Delete a project status update. Returns a status of OK when the update was deleted. Use only when the update should be removed from the project's history.
- Idempotent
Inputs
update_idintegerrequired- Id of the status update to delete. Example: 8801.
teamwork_project_workflow_removeRemove a board workflow from a project.DestructiveRemove Workflow from Project
Remove a board workflow from a project. Returns an empty success response when the workflow was removed. Use to turn a project's board off. Find the workflow id with teamwork_project_workflows_list. Tasks keep their data but lose their stage placement.
- Idempotent
Inputs
project_idintegerrequired- Id of the project. Example: 123456.
workflow_idintegerrequired- Id of the workflow to remove from the project. Example: 1101.
teamwork_risk_deleteDelete a risk from a project's risk register.DestructiveDelete Risk
Delete a risk from a project's risk register. Returns an empty success response when the risk was deleted. Use only when the risk should be removed. Use teamwork_risk_update to change its details instead.
- Idempotent
Inputs
risk_idintegerrequired- Id of the risk to delete. Example: 5101.
teamwork_tag_deleteDelete a tag.DestructiveDelete Tag
Delete a tag. Returns an empty success response when the tag was deleted. Use only when the tag should be removed from the site.
- Idempotent
Inputs
tag_idintegerrequired- Id of the tag to delete. Example: 3.
teamwork_task_customfield_value_deleteRemove a custom field value from a task.DestructiveDelete Task Custom Field Value
Remove a custom field value from a task. Returns an empty success response when the value was removed. Use to clear a value without deleting the field definition. Find the value id with the list tool.
- Idempotent
Inputs
task_idintegerrequired- Id of the task. Example: 7654321.
value_idintegerrequired- Id of the stored value, which is the id field returned when listing or adding custom field values (not the id of the custom field itself). Example: 4724354.
teamwork_task_deleteDelete a task.DestructiveDelete Task
Delete a task. Returns an empty success response when the task was deleted. Use only when the task should be removed. Use teamwork_task_complete to close a task instead.
- Idempotent
Inputs
task_idintegerrequired- Id of the task to delete. Example: 7654321.
teamwork_task_reminder_deleteDelete a reminder from a task.DestructiveDelete Task Reminder
Delete a reminder from a task. Returns an empty success response when the reminder was deleted. Use to cancel a reminder. Find the id with teamwork_task_reminders_list.
- Idempotent
Inputs
reminder_idintegerrequired- Id of the reminder to delete. Example: 6101.
task_idintegerrequired- Id of the task. Example: 7654321.
teamwork_tasklist_deleteDelete a task list.DestructiveDelete Task List
Delete a task list. Returns an empty success response when the list was deleted. Use only when the list should be removed.
- Idempotent
Inputs
tasklist_idintegerrequired- Id of the task list to delete. Example: 9001.
teamwork_time_entry_deleteDelete a time entry.DestructiveDelete Time Entry
Delete a time entry. Returns an empty success response when the entry was deleted. Use only to remove logged time that was recorded in error.
- Idempotent
Inputs
timelog_idintegerrequired- Id of the time entry to delete. Example: 300100.
teamwork_timer_deleteDelete a timer without logging its time.DestructiveDelete Timer
Delete a timer without logging its time. Returns an empty success response when the timer was deleted. Use to discard a timer. Use teamwork_timer_complete to save its time as an entry instead.
- Idempotent
Inputs
timer_idintegerrequired- Id of the timer to delete. Example: 5001.
teamwork_workflow_deleteDelete a board workflow.DestructiveDelete Workflow
Delete a board workflow. Returns an empty success response when the workflow was deleted. Use only when the board is no longer needed. Use teamwork_project_workflow_remove to detach it from one project instead.
- Idempotent
Inputs
workflow_idintegerrequired- Id of the workflow to delete. Example: 1101.
No tools match.