Free SKILL.md scraped from GitHub. Clone the repo or copy the file directly into your Claude Code skills directory.
npx versuz@latest install composiohq-awesome-claude-skills-composio-skills-clockify-automationgit clone https://github.com/ComposioHQ/awesome-claude-skills.gitcp awesome-claude-skills/SKILL.MD ~/.claude/skills/composiohq-awesome-claude-skills-composio-skills-clockify-automation/SKILL.md---
name: Clockify Automation
description: "Automate time tracking workflows in Clockify -- create and manage time entries, workspaces, and users through natural language commands."
requires:
mcp:
- rube
---
# Clockify Automation
Automate your Clockify time tracking operations directly from Claude Code. Log time entries, query historical data, manage workspaces, and audit team activity -- all without leaving your terminal.
**Toolkit docs:** [composio.dev/toolkits/clockify](https://composio.dev/toolkits/clockify)
---
## Setup
1. Add the Rube MCP server to your Claude Code config with URL: `https://rube.app/mcp`
2. When prompted, authenticate your Clockify account through the connection link provided
3. Start automating your time tracking workflows with natural language
---
## Core Workflows
### 1. Create Time Entries
Log time with project, task, and tag associations, plus billable status.
**Tool:** `CLOCKIFY_CREATE_TIME_ENTRY`
```
Log 2 hours of work on project 64a687e2 in workspace 64a687e3 starting at 9am UTC today with description "API development"
```
Key parameters:
- `workspaceId` (required) -- workspace where the entry is created
- `start` (required) -- ISO 8601 start time (e.g., `2026-02-11T09:00:00Z`)
- `end` -- ISO 8601 end time; omit to create a running timer
- `projectId` -- associate with a project
- `taskId` -- associate with a task
- `description` -- work description (0-3000 chars)
- `tagIds` -- array of tag IDs
- `billable` -- whether the entry is billable
- `customFieldValues` -- array of custom field entries with `customFieldId` and `value`
### 2. Query Time Entries
Retrieve historical time entries for reporting, auditing, and invoicing.
**Tool:** `CLOCKIFY_GET_TIME_ENTRIES`
```
Get all time entries for user abc123 in workspace xyz789 from January 2026
```
Key parameters:
- `workspaceId` (required) -- workspace to query
- `userId` (required) -- user whose entries to retrieve
- `start` / `end` -- ISO 8601 date range filters
- `project` -- filter by project ID
- `task` -- filter by task ID
- `tags` -- comma-separated tag IDs
- `description` -- text filter (partial match)
- `hydrated` -- set `true` to get full project/task/tag objects instead of just IDs
- `in-progress` -- set `true` to return only the running timer
- `page` / `page-size` -- pagination (default 50 per page)
### 3. Delete Time Entries
Remove erroneous, duplicate, or cancelled time entries.
**Tool:** `CLOCKIFY_DELETE_TIME_ENTRY`
```
Delete time entry 5b715448 from workspace 64a687e3
```
- Requires `workspaceId` and `id` (the time entry ID)
- Use for cleanup of bad imports or duplicates
### 4. Manage Workspaces
List all workspaces the authenticated user belongs to.
**Tool:** `CLOCKIFY_GET_ALL_MY_WORKSPACES`
```
Show me all my Clockify workspaces
```
- Optional `roles` filter -- array of roles like `["WORKSPACE_ADMIN", "OWNER"]`
- Use this to discover workspace IDs before creating or querying entries
### 5. User Information
Retrieve current user details and list workspace members.
**Tools:** `CLOCKIFY_GET_CURRENTLY_LOGGED_IN_USER_INFO`, `CLOCKIFY_FIND_ALL_USERS_ON_WORKSPACE`
```
Who am I logged in as? Then list all users in workspace 64a687e3
```
- `CLOCKIFY_GET_CURRENTLY_LOGGED_IN_USER_INFO` returns the authenticated user's profile (no parameters needed)
- `CLOCKIFY_FIND_ALL_USERS_ON_WORKSPACE` requires `workspaceId`; supports `name`, `email` filters and pagination (`page`, `page-size` max 100)
### 6. Running Timer Management
Start a timer by omitting `end` in create, or check for running entries.
**Tools:** `CLOCKIFY_CREATE_TIME_ENTRY`, `CLOCKIFY_GET_TIME_ENTRIES`
```
Start a timer on project abc in workspace xyz with description "Working on bug fix"
```
- Create without `end` to start a running timer
- Use `CLOCKIFY_GET_TIME_ENTRIES` with `in-progress: true` to check if a timer is running
---
## Known Pitfalls
- **Workspace and user IDs are required:** Most Clockify tools require both `workspaceId` and `userId`. Always call `CLOCKIFY_GET_ALL_MY_WORKSPACES` and `CLOCKIFY_GET_CURRENTLY_LOGGED_IN_USER_INFO` first to resolve these IDs.
- **ISO 8601 timestamps:** All time parameters must be in ISO 8601 format with timezone (e.g., `2026-02-11T09:00:00Z`). Omitting the timezone causes unpredictable behavior.
- **Running timers:** Only one timer can run at a time. Creating a new entry without `end` will fail if another timer is already active. Stop the existing timer first.
- **Pagination defaults:** `CLOCKIFY_GET_TIME_ENTRIES` defaults to 50 entries per page. For full exports, loop through pages until no more results are returned.
- **Tag IDs are workspace-scoped:** Tag IDs from one workspace cannot be used in another. Always resolve tags within the target workspace context.
---
## Quick Reference
| Tool Slug | Description |
|---|---|
| `CLOCKIFY_CREATE_TIME_ENTRY` | Create a time entry or start a timer (requires `workspaceId`, `start`) |
| `CLOCKIFY_GET_TIME_ENTRIES` | List time entries with filters (requires `workspaceId`, `userId`) |
| `CLOCKIFY_DELETE_TIME_ENTRY` | Delete a time entry (requires `workspaceId`, `id`) |
| `CLOCKIFY_GET_ALL_MY_WORKSPACES` | List all workspaces for the authenticated user |
| `CLOCKIFY_GET_CURRENTLY_LOGGED_IN_USER_INFO` | Get current user profile info |
| `CLOCKIFY_FIND_ALL_USERS_ON_WORKSPACE` | List all users in a workspace (requires `workspaceId`) |
---
*Powered by [Composio](https://composio.dev)*