productivity
Teamwork CLI for AI Agents
Use the Teamwork CLI from KosmoKrator to call Teamwork tools headlessly, return JSON, inspect schemas, and automate workflows from coding agents, scripts, and CI.Teamwork CLI Setup
Teamwork can be configured headlessly with `kosmokrator integrations:configure teamwork`.
# Install KosmoKrator first if it is not available on PATH.
curl -fsSL https://raw.githubusercontent.com/OpenCompanyApp/kosmokrator/main/install.sh | bash
# Configure and verify this integration.
kosmokrator integrations:configure teamwork --set api_token="$TEAMWORK_API_TOKEN" --enable --read allow --write ask --json
kosmokrator integrations:doctor teamwork --json
kosmokrator integrations:status --json Credentials
Authentication type: API token api_token. Configure credentials once, then reuse the same stored profile from scripts, coding CLIs, Lua, and MCP.
| Key | Env var | Type | Required | Label |
|---|---|---|---|---|
api_token | TEAMWORK_API_TOKEN | Secret secret | yes | API Token |
Command Patterns
The generic command is stable across every integration. The provider shortcut is shorter for humans.
kosmo integrations:call teamwork.teamwork_create_task '{"projectId":1,"name":"example_name","description":"example_description","assigneeId":1,"dueDate":"example_dueDate","priority":"example_priority","startDate":"example_startDate"}' --json kosmo integrations:teamwork teamwork_create_task '{"projectId":1,"name":"example_name","description":"example_description","assigneeId":1,"dueDate":"example_dueDate","priority":"example_priority","startDate":"example_startDate"}' --json Discovery
These commands return structured output for coding agents that need to inspect capabilities before choosing a function.
kosmo integrations:docs teamwork --json
kosmo integrations:docs teamwork.teamwork_create_task --json
kosmo integrations:schema teamwork.teamwork_create_task --json
kosmo integrations:search "Teamwork" --json
kosmo integrations:list --json Automation Contexts
The same configured command surface works in these environments. The command does not change unless the host wrapper, credentials, or permissions change.
CLI Functions
Every function below can be called headlessly. Commands are highlighted, copyable, and scroll horizontally when payloads are long.
teamwork.teamwork_create_task
Create a new task in Teamwork.
write - Parameters
- projectId, name, description, assigneeId, dueDate, priority, startDate
kosmo integrations:call teamwork.teamwork_create_task '{"projectId":1,"name":"example_name","description":"example_description","assigneeId":1,"dueDate":"example_dueDate","priority":"example_priority","startDate":"example_startDate"}' --json kosmo integrations:teamwork teamwork_create_task '{"projectId":1,"name":"example_name","description":"example_description","assigneeId":1,"dueDate":"example_dueDate","priority":"example_priority","startDate":"example_startDate"}' --json teamwork.teamwork_get_current_user
Get the currently authenticated Teamwork user.
read - Parameters
- none
kosmo integrations:call teamwork.teamwork_get_current_user '{}' --json kosmo integrations:teamwork teamwork_get_current_user '{}' --json teamwork.teamwork_get_project
Get detailed information about a Teamwork project.
read - Parameters
- id
kosmo integrations:call teamwork.teamwork_get_project '{"id":1}' --json kosmo integrations:teamwork teamwork_get_project '{"id":1}' --json teamwork.teamwork_get_task
Get detailed information about a Teamwork task.
read - Parameters
- id
kosmo integrations:call teamwork.teamwork_get_task '{"id":1}' --json kosmo integrations:teamwork teamwork_get_task '{"id":1}' --json teamwork.teamwork_list_projects
List projects in Teamwork with optional filters.
read - Parameters
- status, page, pageSize
kosmo integrations:call teamwork.teamwork_list_projects '{"status":"example_status","page":1,"pageSize":1}' --json kosmo integrations:teamwork teamwork_list_projects '{"status":"example_status","page":1,"pageSize":1}' --json teamwork.teamwork_list_tasks
List tasks in Teamwork with optional filters.
read - Parameters
- projectId, page, pageSize, filter, sort
kosmo integrations:call teamwork.teamwork_list_tasks '{"projectId":1,"page":1,"pageSize":1,"filter":"example_filter","sort":"example_sort"}' --json kosmo integrations:teamwork teamwork_list_tasks '{"projectId":1,"page":1,"pageSize":1,"filter":"example_filter","sort":"example_sort"}' --json teamwork.teamwork_list_timers
List time timers for the authenticated user in Teamwork.
read - Parameters
- page, pageSize
kosmo integrations:call teamwork.teamwork_list_timers '{"page":1,"pageSize":1}' --json kosmo integrations:teamwork teamwork_list_timers '{"page":1,"pageSize":1}' --json Function Schemas
Use these parameter tables when building CLI payloads without calling integrations:schema first.
teamwork.teamwork_create_task 7 parameters
kosmo integrations:schema teamwork.teamwork_create_task --json | Parameter | Type | Required | Description |
|---|---|---|---|
projectId | integer | yes | The project ID to create the task in. |
name | string | yes | Name of the task. |
description | string | no | Detailed description of the task. |
assigneeId | integer | no | User ID to assign the task to. |
dueDate | string | no | Due date in YYYYMMDD format. |
priority | string | no | Task priority (e.g. "low", "medium", "high"). |
startDate | string | no | Start date in YYYYMMDD format. |
teamwork.teamwork_get_current_user 0 parameters
kosmo integrations:schema teamwork.teamwork_get_current_user --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
teamwork.teamwork_get_project 1 parameters
kosmo integrations:schema teamwork.teamwork_get_project --json | Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | yes | The project ID. |
teamwork.teamwork_get_task 1 parameters
kosmo integrations:schema teamwork.teamwork_get_task --json | Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | yes | The task ID. |
teamwork.teamwork_list_projects 3 parameters
kosmo integrations:schema teamwork.teamwork_list_projects --json | Parameter | Type | Required | Description |
|---|---|---|---|
status | string | no | Filter by project status (e.g. "active", "late", "completed"). |
page | integer | no | Page number for pagination. |
pageSize | integer | no | Number of projects per page (max 500). |
teamwork.teamwork_list_tasks 5 parameters
kosmo integrations:schema teamwork.teamwork_list_tasks --json | Parameter | Type | Required | Description |
|---|---|---|---|
projectId | integer | no | Project ID to filter tasks by. |
page | integer | no | Page number for pagination. |
pageSize | integer | no | Number of tasks per page (max 500). |
filter | string | no | Filter tasks (e.g. "all", "overdue", "today"). |
sort | string | no | Sort order (e.g. "duedate", "priority"). |
teamwork.teamwork_list_timers 2 parameters
kosmo integrations:schema teamwork.teamwork_list_timers --json | Parameter | Type | Required | Description |
|---|---|---|---|
page | integer | no | Page number for pagination. |
pageSize | integer | no | Number of timers per page. |
Permissions
Headless calls still follow the integration read/write permission policy. Configure read/write defaults with
integrations:configure. Add --force only for trusted automation that should bypass that policy.