---
canonical_url: "https://docs.composio.dev/toolkits/teamwork"
markdown_url: "https://docs.composio.dev/toolkits/teamwork.md"
product: "platform"
version: null
last_updated: null
---

# Teamwork

Teamwork is a project management platform for planning projects, coordinating tasks, collaborating with teams, and tracking time.

- **Category:** project management
- **Auth:** API_KEY
- **Composio-managed OAuth available?** N/A
- **Tools:** 12
- **Triggers:** 0
- **Slug:** `TEAMWORK`
- **Version:** 00000000_00

## Tools

### Create Tag

**Slug:** `TEAMWORK_CREATE_TAG`

Create a Teamwork tag, or return the existing installation tag when the same name already exists.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Non-empty tag name. |
| `color` | string | No | Optional six-digit hex color, such as #3455DB. |
| `project_id` | integer | No | Project ID for a project tag, or 0 for an installation-wide tag. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Task

**Slug:** `TEAMWORK_CREATE_TASK`

Create a task in a Teamwork task list with common scheduling, assignment, estimate, privacy, and tag fields.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Task name. |
| `tag_ids` | array | No | Existing Teamwork tag IDs to attach. |
| `due_date` | string | No | Task due date as YYYY-MM-DD. |
| `is_private` | boolean | No | Whether the task should be private. |
| `start_date` | string | No | Task start date as YYYY-MM-DD. |
| `description` | string | No | Plain-text task description. |
| `fire_webhook` | boolean | No | Allow Teamwork entity-update webhooks for this request. |
| `task_list_id` | integer | Yes | ID of the task list that will contain the task. |
| `notify_assignees` | boolean | No | Notify assignees about the new task. |
| `assignee_user_ids` | array | No | Teamwork person IDs to assign. |
| `estimated_minutes` | integer | No | Estimated effort in minutes. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Milestones

**Slug:** `TEAMWORK_LIST_MILESTONES`

List visible Teamwork milestones by project, status, due-date range, assignee, or text. Returns one page and an opaque continuation cursor.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `statuses` | array | No | Filter by one or more milestone statuses, such as completed, incomplete, late, today, or upcoming. |
| `due_after` | string | No | Only return milestones due on or after this YYYY-MM-DD date. |
| `page_size` | integer | No | Maximum number of milestones to return in this page (1-500). |
| `due_before` | string | No | Only return milestones due on or before this YYYY-MM-DD date. |
| `next_cursor` | string | No | Opaque cursor returned by a previous call. Omit for the first page and keep all filters unchanged when continuing. |
| `project_ids` | array | No | Only return milestones in these Teamwork projects. |
| `search_term` | string | No | Filter milestones by name or description. |
| `assigned_user_ids` | array | No | Only return milestones assigned to these Teamwork people. |
| `include_completed` | boolean | No | Include completed milestones. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List People

**Slug:** `TEAMWORK_LIST_PEOPLE`

List people visible to the connected Teamwork user for assignment and ownership workflows.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page_size` | integer | No | Maximum people to return in this page (1-500). |
| `user_type` | string ("account" | "collaborator" | "contact") | No | Filter by account, collaborator, or contact. |
| `next_cursor` | string | No | Opaque cursor returned by a previous call; omit for the first page. |
| `project_ids` | array | No | Only return people associated with these project IDs. |
| `search_term` | string | No | Filter people by name or other text indexed by Teamwork. |
| `include_clients` | boolean | No | Include client users. |
| `include_collaborators` | boolean | No | Include collaborator users. |
| `include_service_accounts` | boolean | No | Include service accounts. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Projects

**Slug:** `TEAMWORK_LIST_PROJECTS`

List projects visible to the connected Teamwork user, with focused filters for name, status, company, membership, and archival state. Returns one page and an opaque continuation cursor.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page_size` | integer | No | Maximum number of projects to return in this page (1-500). |
| `company_ids` | array | No | Return projects belonging to these Teamwork company IDs. |
| `next_cursor` | string | No | Opaque cursor returned by a previous call. Omit for the first page and keep all filters unchanged when continuing. |
| `search_term` | string | No | Filter projects by name. |
| `updated_after` | string | No | Only return projects updated after this ISO 8601 timestamp. |
| `include_archived` | boolean | No | Include archived projects in the results. |
| `only_my_projects` | boolean | No | Only return projects where the connected user has explicit membership. |
| `project_statuses` | array | No | Filter by one or more project statuses: active, current, late, upcoming, completed, or deleted. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Tags

**Slug:** `TEAMWORK_LIST_TAGS`

List Teamwork tags visible to the connected user, optionally filtered by project, item type, name, or usage. Returns one page and an opaque continuation cursor.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_type` | string ("all" | "project" | "task" | "tasklist" | "milestone" | "message" | "comment" | "timelog" | "file" | "user" | "company" | "invoice" | "risk" | "notebook" | "link" | "event" | "notebookversion" | "fileversion") | No | Filter tag usage by item type, such as project, task, tasklist, milestone, timelog, user, or company. |
| `page_size` | integer | No | Maximum number of tags to return in this page (1-500). |
| `next_cursor` | string | No | Opaque cursor returned by a previous call. Omit for the first page and keep all filters unchanged when continuing. |
| `project_ids` | array | No | Only return tags associated with these projects. Installation-wide tags may have project ID 0. |
| `recent_only` | boolean | No | When true, return recently used tags instead of all accessible tags. |
| `search_term` | string | No | Filter tags by name. |
| `with_counters` | boolean | No | Include each tag's usage count. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Task Lists

**Slug:** `TEAMWORK_LIST_TASK_LISTS`

List Teamwork task lists, usually within one or more projects, so an agent can place or locate tasks.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page_size` | integer | No | Maximum task lists in this page (1-500). |
| `next_cursor` | string | No | Opaque cursor returned by a previous call; omit for the first page. |
| `project_ids` | array | No | Only return task lists in these projects. |
| `search_term` | string | No | Filter task lists by name. |
| `include_empty` | boolean | No | Include task lists that contain no tasks. |
| `updated_after` | string | No | Only return task lists updated after this ISO 8601 timestamp. |
| `show_completed` | boolean | No | Include completed task lists. |
| `include_archived_projects` | boolean | No | Include task lists from archived projects. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Tasks

**Slug:** `TEAMWORK_LIST_TASKS`

List and filter Teamwork tasks by project, task list, assignee, dates, completion state, or tags. Returns one page and an opaque cursor for continuation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tag_ids` | array | No | Only return tasks carrying these tag IDs. |
| `due_after` | string | No | Only return tasks due on or after this YYYY-MM-DD date. |
| `page_size` | integer | No | Maximum tasks in this page (1-500). |
| `due_before` | string | No | Only return tasks due on or before this YYYY-MM-DD date. |
| `next_cursor` | string | No | Opaque cursor returned by a previous call; omit for the first page. |
| `project_ids` | array | No | Only return tasks in these projects. |
| `search_term` | string | No | Filter by task text. |
| `task_filter` | string ("all" | "anytime" | "completed" | "created" | "overdue" | "today" | "yesterday" | "started" | "tomorrow" | "thisweek" | "within7" | "within14" | "within30" | "within365" | "nodate" | "noduedate" | "nostartdate" | "newTaskDefaults" | "hasDate") | No | Teamwork date or state preset used to select a predefined task window. |
| `task_list_ids` | array | No | Only return tasks in these task lists. |
| `assigned_user_ids` | array | No | Only return tasks assigned to these people. |
| `include_completed` | boolean | No | Include completed tasks. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Time Entries

**Slug:** `TEAMWORK_LIST_TIME_ENTRIES`

List accessible Teamwork time entries by project, task, person, date range, billing state, or tags. Returns one page and an opaque continuation cursor.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tag_ids` | array | No | Only return time entries with these tag IDs. |
| `end_date` | string | No | Only return entries on or before this ISO 8601 date-time. |
| `task_ids` | array | No | Only return time entries linked to these tasks. |
| `user_ids` | array | No | Only return time entries for these people. |
| `page_size` | integer | No | Maximum time entries in this page (1-500). |
| `start_date` | string | No | Only return entries on or after this ISO 8601 date-time. |
| `next_cursor` | string | No | Opaque cursor returned by a previous call; omit for the first page. |
| `project_ids` | array | No | Only return time entries for these projects. |
| `billable_type` | string ("all" | "billable" | "non-billable") | No | Filter by all, billable, or non-billable entries. |
| `invoiced_type` | string ("all" | "invoiced" | "noninvoiced") | No | Filter by all, invoiced, or noninvoiced entries. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Log Time Entry

**Slug:** `TEAMWORK_LOG_TIME_ENTRY`

Log time against a Teamwork task with a date, duration, optional start time, description, person, billing state, and tags without changing task status.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `date` | string | Yes | Date worked as YYYY-MM-DD. |
| `hours` | integer | No | Whole hours worked (0 or greater). |
| `is_utc` | boolean | No | Whether date and start_time should be interpreted as UTC. |
| `minutes` | integer | No | Additional minutes worked (0-59). |
| `tag_ids` | array | No | Tag IDs to attach to the time entry. |
| `task_id` | integer | Yes | ID of the task receiving the time entry. |
| `user_id` | integer | No | Person ID to attribute the entry to; omit for the connected user when Teamwork permits. |
| `start_time` | string | No | Optional local start time as HH:MM:SS. |
| `description` | string | No | Description of the work performed. |
| `is_billable` | boolean | No | Whether the time is billable. |
| `fire_webhook` | boolean | No | Allow Teamwork entity-update webhooks for this request. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Teamwork

**Slug:** `TEAMWORK_SEARCH_RESOURCES`

Search across Teamwork projects, tasks, task lists, milestones, people, companies, time entries, and other supported item types. Returns one page of lightweight references, optional sideloaded details, and a continuation cursor.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum number of matches to return in this page. |
| `types` | array | No | Resource types to search. Use all or one or more supported types such as projects, tasks, tasklists, milestones, users, companies, or timelogs. |
| `order_by` | string ("relevance" | "date") | No | Order results by relevance or date. |
| `project_id` | integer | No | Restrict results to one Teamwork project ID. |
| `next_cursor` | string | No | Opaque cursor returned by a previous call. Omit for the first page; the cursor retains and enforces all filters from the original search. |
| `search_term` | string | Yes | Text to search for. |
| `updated_after` | string | No | Only search items updated after this ISO 8601 timestamp. Omit to use Teamwork's default search window. |
| `include_details` | array | No | Sideload full objects for selected result types, such as projects, tasks, tasklists, milestones, users, companies, or timelogs. |
| `include_completed` | boolean | No | Include completed tasks, task lists, and milestones. |
| `include_archived_projects` | boolean | No | Include results from archived projects. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Task

**Slug:** `TEAMWORK_UPDATE_TASK`

Update selected fields of an existing Teamwork task while leaving omitted task fields unchanged.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Replacement task name. |
| `tag_ids` | array | No | Replace attached tag IDs. |
| `task_id` | integer | Yes | ID of the task to update. |
| `due_date` | string | No | Replacement due date as YYYY-MM-DD. |
| `progress` | integer | No | Completion percentage from 0 to 100. |
| `is_private` | boolean | No | Set whether the task is private. |
| `start_date` | string | No | Replacement start date as YYYY-MM-DD. |
| `description` | string | No | Replacement plain-text description. |
| `fire_webhook` | boolean | No | Allow Teamwork entity-update webhooks for this request. |
| `notify_assignees` | boolean | No | Notify assignees about the update. |
| `assignee_user_ids` | array | No | Replace task assignees with these Teamwork person IDs. |
| `estimated_minutes` | integer | No | Replacement estimate in minutes. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
