productivity
Clockify CLI for AI Agents
Use the Clockify CLI from KosmoKrator to call Clockify tools headlessly, return JSON, inspect schemas, and automate workflows from coding agents, scripts, and CI.Clockify CLI Setup
Clockify can be configured headlessly with `kosmokrator integrations:configure clockify`.
# 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 clockify --set api_key="$CLOCKIFY_API_KEY" --enable --read allow --write ask --json
kosmokrator integrations:doctor clockify --json
kosmokrator integrations:status --json Credentials
Authentication type: API key api_key. Configure credentials once, then reuse the same stored profile from scripts, coding CLIs, Lua, and MCP.
| Key | Env var | Type | Required | Label |
|---|---|---|---|---|
api_key | CLOCKIFY_API_KEY | Secret secret | yes | API Key |
Command Patterns
The generic command is stable across every integration. The provider shortcut is shorter for humans.
kosmo integrations:call clockify.clockify_list_workspaces '{}' --json kosmo integrations:clockify clockify_list_workspaces '{}' --json Discovery
These commands return structured output for coding agents that need to inspect capabilities before choosing a function.
kosmo integrations:docs clockify --json
kosmo integrations:docs clockify.clockify_list_workspaces --json
kosmo integrations:schema clockify.clockify_list_workspaces --json
kosmo integrations:search "Clockify" --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.
clockify.clockify_list_workspaces
List all Clockify workspaces the authenticated user belongs to. Returns workspace IDs and names needed for other Clockify tools.
read - Parameters
- none
kosmo integrations:call clockify.clockify_list_workspaces '{}' --json kosmo integrations:clockify clockify_list_workspaces '{}' --json clockify.clockify_get_workspace
Get details for a single Clockify workspace by ID.
read - Parameters
- workspace_id
kosmo integrations:call clockify.clockify_get_workspace '{"workspace_id":"example_workspace_id"}' --json kosmo integrations:clockify clockify_get_workspace '{"workspace_id":"example_workspace_id"}' --json clockify.clockify_list_projects
List projects in a Clockify workspace. Optionally filter by name and paginate results.
read - Parameters
- workspace_id, name, page, page_size
kosmo integrations:call clockify.clockify_list_projects '{"workspace_id":"example_workspace_id","name":"example_name","page":1,"page_size":1}' --json kosmo integrations:clockify clockify_list_projects '{"workspace_id":"example_workspace_id","name":"example_name","page":1,"page_size":1}' --json clockify.clockify_get_project
Get details for a single Clockify project by ID.
read - Parameters
- workspace_id, project_id
kosmo integrations:call clockify.clockify_get_project '{"workspace_id":"example_workspace_id","project_id":"example_project_id"}' --json kosmo integrations:clockify clockify_get_project '{"workspace_id":"example_workspace_id","project_id":"example_project_id"}' --json clockify.clockify_create_project
Create a new project in a Clockify workspace.
write - Parameters
- workspace_id, name, color, is_public
kosmo integrations:call clockify.clockify_create_project '{"workspace_id":"example_workspace_id","name":"example_name","color":"example_color","is_public":true}' --json kosmo integrations:clockify clockify_create_project '{"workspace_id":"example_workspace_id","name":"example_name","color":"example_color","is_public":true}' --json clockify.clockify_list_time_entries
List time entries in a Clockify workspace. Optionally filter by date range or project.
read - Parameters
- workspace_id, start, end, project, page, page_size
kosmo integrations:call clockify.clockify_list_time_entries '{"workspace_id":"example_workspace_id","start":"example_start","end":"example_end","project":"example_project","page":1,"page_size":1}' --json kosmo integrations:clockify clockify_list_time_entries '{"workspace_id":"example_workspace_id","start":"example_start","end":"example_end","project":"example_project","page":1,"page_size":1}' --json clockify.clockify_get_time_entry
Get details for a single Clockify time entry by ID.
read - Parameters
- workspace_id, time_entry_id
kosmo integrations:call clockify.clockify_get_time_entry '{"workspace_id":"example_workspace_id","time_entry_id":"example_time_entry_id"}' --json kosmo integrations:clockify clockify_get_time_entry '{"workspace_id":"example_workspace_id","time_entry_id":"example_time_entry_id"}' --json clockify.clockify_create_time_entry
Create a new time entry in a Clockify workspace. Provide start/end times, a description, and optionally a project.
write - Parameters
- workspace_id, start, end, description, project_id
kosmo integrations:call clockify.clockify_create_time_entry '{"workspace_id":"example_workspace_id","start":"example_start","end":"example_end","description":"example_description","project_id":"example_project_id"}' --json kosmo integrations:clockify clockify_create_time_entry '{"workspace_id":"example_workspace_id","start":"example_start","end":"example_end","description":"example_description","project_id":"example_project_id"}' --json clockify.clockify_update_time_entry
Update an existing Clockify time entry. Provide the fields you want to change.
write - Parameters
- workspace_id, time_entry_id, start, end, description, project_id
kosmo integrations:call clockify.clockify_update_time_entry '{"workspace_id":"example_workspace_id","time_entry_id":"example_time_entry_id","start":"example_start","end":"example_end","description":"example_description","project_id":"example_project_id"}' --json kosmo integrations:clockify clockify_update_time_entry '{"workspace_id":"example_workspace_id","time_entry_id":"example_time_entry_id","start":"example_start","end":"example_end","description":"example_description","project_id":"example_project_id"}' --json clockify.clockify_delete_time_entry
Delete a Clockify time entry. This action cannot be undone.
write - Parameters
- workspace_id, time_entry_id
kosmo integrations:call clockify.clockify_delete_time_entry '{"workspace_id":"example_workspace_id","time_entry_id":"example_time_entry_id"}' --json kosmo integrations:clockify clockify_delete_time_entry '{"workspace_id":"example_workspace_id","time_entry_id":"example_time_entry_id"}' --json clockify.clockify_list_tasks
List tasks for a Clockify project.
read - Parameters
- workspace_id, project_id, page, page_size
kosmo integrations:call clockify.clockify_list_tasks '{"workspace_id":"example_workspace_id","project_id":"example_project_id","page":1,"page_size":1}' --json kosmo integrations:clockify clockify_list_tasks '{"workspace_id":"example_workspace_id","project_id":"example_project_id","page":1,"page_size":1}' --json clockify.clockify_get_current_user
Get the authenticated Clockify user profile. Use this to verify your API key is working.
read - Parameters
- none
kosmo integrations:call clockify.clockify_get_current_user '{}' --json kosmo integrations:clockify clockify_get_current_user '{}' --json Function Schemas
Use these parameter tables when building CLI payloads without calling integrations:schema first.
clockify.clockify_list_workspaces 0 parameters
kosmo integrations:schema clockify.clockify_list_workspaces --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
clockify.clockify_get_workspace 1 parameters
kosmo integrations:schema clockify.clockify_get_workspace --json | Parameter | Type | Required | Description |
|---|---|---|---|
workspace_id | string | yes | The workspace ID. |
clockify.clockify_list_projects 4 parameters
kosmo integrations:schema clockify.clockify_list_projects --json | Parameter | Type | Required | Description |
|---|---|---|---|
workspace_id | string | yes | The workspace ID. |
name | string | no | Filter by project name (partial match). |
page | integer | no | Page number (1-based, default: 1). |
page_size | integer | no | Items per page (default: 50). |
clockify.clockify_get_project 2 parameters
kosmo integrations:schema clockify.clockify_get_project --json | Parameter | Type | Required | Description |
|---|---|---|---|
workspace_id | string | yes | The workspace ID. |
project_id | string | yes | The project ID. |
clockify.clockify_create_project 4 parameters
kosmo integrations:schema clockify.clockify_create_project --json | Parameter | Type | Required | Description |
|---|---|---|---|
workspace_id | string | yes | The workspace ID. |
name | string | yes | Project name. |
color | string | no | Hex color code (e.g. "#ff0000"). Defaults to "#03a9f4". |
is_public | boolean | no | Whether the project is publicly visible. Defaults to false. |
clockify.clockify_list_time_entries 6 parameters
kosmo integrations:schema clockify.clockify_list_time_entries --json | Parameter | Type | Required | Description |
|---|---|---|---|
workspace_id | string | yes | The workspace ID. |
start | string | no | Start date filter (ISO 8601, e.g. "2026-01-01T00:00:00Z"). |
end | string | no | End date filter (ISO 8601). |
project | string | no | Filter by project ID. |
page | integer | no | Page number (1-based, default: 1). |
page_size | integer | no | Items per page (default: 50). |
clockify.clockify_get_time_entry 2 parameters
kosmo integrations:schema clockify.clockify_get_time_entry --json | Parameter | Type | Required | Description |
|---|---|---|---|
workspace_id | string | yes | The workspace ID. |
time_entry_id | string | yes | The time entry ID. |
clockify.clockify_create_time_entry 5 parameters
kosmo integrations:schema clockify.clockify_create_time_entry --json | Parameter | Type | Required | Description |
|---|---|---|---|
workspace_id | string | yes | The workspace ID. |
start | string | yes | Start time (ISO 8601, e.g. "2026-04-05T09:00:00Z"). |
end | string | yes | End time (ISO 8601, e.g. "2026-04-05T17:00:00Z"). |
description | string | no | Description of the time entry. |
project_id | string | no | Project ID to assign the time entry to. |
clockify.clockify_update_time_entry 6 parameters
kosmo integrations:schema clockify.clockify_update_time_entry --json | Parameter | Type | Required | Description |
|---|---|---|---|
workspace_id | string | yes | The workspace ID. |
time_entry_id | string | yes | The time entry ID. |
start | string | no | New start time (ISO 8601). |
end | string | no | New end time (ISO 8601). |
description | string | no | New description. |
project_id | string | no | New project ID to assign. |
clockify.clockify_delete_time_entry 2 parameters
kosmo integrations:schema clockify.clockify_delete_time_entry --json | Parameter | Type | Required | Description |
|---|---|---|---|
workspace_id | string | yes | The workspace ID. |
time_entry_id | string | yes | The time entry ID to delete. |
clockify.clockify_list_tasks 4 parameters
kosmo integrations:schema clockify.clockify_list_tasks --json | Parameter | Type | Required | Description |
|---|---|---|---|
workspace_id | string | yes | The workspace ID. |
project_id | string | yes | The project ID. |
page | integer | no | Page number (1-based, default: 1). |
page_size | integer | no | Items per page (default: 50). |
clockify.clockify_get_current_user 0 parameters
kosmo integrations:schema clockify.clockify_get_current_user --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
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.