# Clockify — Pipedream Connect

> 100% Free Time Tracking Software

- API slug: `clockify` (use in MCP headers and tool keys)
- Auth: API key (Pipedream-managed)
- Categories: Productivity
- Website: https://clockify.me/
- This page (HTML): https://pipedream.com/apps/clockify
- Tools: 24 actions · 0 triggers

## Connect via MCP (recommended)

- Endpoint: `https://remote.mcp.pipedream.net/v3`
- Headers: `Authorization: Bearer <token>` · `x-pd-project-id` · `x-pd-environment` · `x-pd-external-user-id` · `x-pd-app-slug: clockify`

```ts
import { Client } from "@modelcontextprotocol/sdk/client/index.js"
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const accessToken = await pd.rawAccessToken

const transport = new StreamableHTTPClientTransport(
  new URL("https://remote.mcp.pipedream.net/v3"),
  {
    requestInit: {
      headers: {
        Authorization: `Bearer ${accessToken}`,
        "x-pd-project-id": process.env.PIPEDREAM_PROJECT_ID!,
        "x-pd-environment": "production",
        "x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
        "x-pd-app-slug": "clockify",
      },
    },
  },
)

const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)

const { tools } = await mcp.listTools()

// e.g. run Add Members To Project:
const result = await mcp.callTool({
  name: "clockify-add-members-to-project",
  arguments: {
    workspaceId: "Workspace",
    projectId: "Project",
  },
})
```

Docs: [MCP guide](https://pipedream.com/docs/connect/mcp/developers.md)

## API proxy

For a Clockify endpoint with no pre-built tool, the proxy forwards your request with the connected user's credentials attached.

```bash
# The path segment is the target URL, URL-safe base64 encoded:
# https://api.clockify.me/api/v1/user

curl "https://api.pipedream.com/v1/connect/{project_id}/proxy/aHR0cHM6Ly9hcGkuY2xvY2tpZnkubWUvYXBpL3YxL3VzZXI?external_user_id={external_user_id}&account_id=apn_xxxxxxx" \
  -H "Authorization: Bearer {access_token}" \
  -H "x-pd-environment: production"
```

Docs: [API proxy guide](https://pipedream.com/docs/connect/api-proxy.md)

## SDK

```ts
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const result = await pd.actions.run({
  id: "clockify-add-members-to-project",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    clockify: { authProvisionId: "apn_xxxxxxx" },
    workspaceId: "Workspace",
    projectId: "Project",
  },
})
```

Docs: [Managed auth guide](https://pipedream.com/docs/connect/managed-auth/quickstart.md) · [Tools guide](https://pipedream.com/docs/connect/components.md)

## Actions (24)

### `clockify-add-members-to-project` — Add Members To Project (Write)

Adds member(s) to a project in Clockify. See the documentation

Full schema: https://pipedream.com/apps/clockify/actions/add-members-to-project.md

### `clockify-add-task-to-project` — Add Task To Project (Write)

Adds a task to an existing project in a Clockify workspace. Tasks are the units of work that time entries are logged against, so create the task before calling Log Time Entry or Start Timer with a task. Optionally assign workspace members to it. Use List Projects to find the project ID. See the…

Full schema: https://pipedream.com/apps/clockify/actions/add-task-to-project.md

### `clockify-create-client` — Create Client (Write)

Creates a new client in a Clockify workspace. Requires a client name; address and note are optional. See the documentation

Full schema: https://pipedream.com/apps/clockify/actions/create-client.md

### `clockify-create-invoice` — Create Invoice (Write)

Creates a new invoice for a client in a Clockify workspace. Set Import From and Import To to bill tracked time: the invoice is created and the time entries logged in that period are imported as line items. Leave both blank to create an empty invoice. The invoice is created first and the tracked…

Full schema: https://pipedream.com/apps/clockify/actions/create-invoice.md

### `clockify-create-project` — Create Project (Write)

Creates a new project in a Clockify workspace. Only the name is required; link the project to a client so its time can be invoiced, and set an hourly rate to make tracked time billable at that rate. Use Add Task To Project afterwards to add the tasks that time entries are logged against. See the…

Full schema: https://pipedream.com/apps/clockify/actions/create-project.md

### `clockify-create-tag` — Create Tag (Write)

Creates a new tag in a Clockify workspace. Requires the tag name. See the documentation

Full schema: https://pipedream.com/apps/clockify/actions/create-tag.md

### `clockify-delete-client` — Delete Client (Write)

Deletes a client from a Clockify workspace. This cannot be undone. Clockify only allows deleting archived clients, so this action archives the client first if it isn't already. Use List Clients to find the ID of the client to delete. See the documentation and the update endpoint used for the…

Full schema: https://pipedream.com/apps/clockify/actions/delete-client.md

### `clockify-delete-invoice` — Delete Invoice (Write)

Deletes an invoice from a Clockify workspace. This cannot be undone. Use List Invoices to find the ID of the invoice to delete. See the documentation

Full schema: https://pipedream.com/apps/clockify/actions/delete-invoice.md

### `clockify-delete-tag` — Delete Tag (Write)

Deletes a tag from a Clockify workspace. This cannot be undone. Use List Tags to find the ID of the tag to delete. See the documentation

Full schema: https://pipedream.com/apps/clockify/actions/delete-tag.md

### `clockify-get-time-entry-report` — Get Time Entry Report (Read-only)

Get a time entry report. See the documentation

Full schema: https://pipedream.com/apps/clockify/actions/get-time-entry-report.md

### `clockify-list-clients` — List Clients (Read-only)

List all clients in a Clockify workspace. Optionally filter by a substring of the client name or by archived status, and page through results with the page and page size inputs. See the documentation

Full schema: https://pipedream.com/apps/clockify/actions/list-clients.md

### `clockify-list-invoices` — List Invoices (Read-only)

Returns a single page of invoices in a Clockify workspace. Use the page and pageSize inputs to page through results. See the documentation

Full schema: https://pipedream.com/apps/clockify/actions/list-invoices.md

### `clockify-list-projects` — List Projects (Read-only)

List all projects in a Clockify workspace. See the documentation

Full schema: https://pipedream.com/apps/clockify/actions/list-projects.md

### `clockify-list-tags` — List Tags (Read-only)

List all tags in a Clockify workspace. Optionally filter by a substring of the tag name, and page through results with the page and page size inputs. See the documentation

Full schema: https://pipedream.com/apps/clockify/actions/list-tags.md

### `clockify-list-tasks` — List Tasks (Read-only)

Returns a single page of tasks in a Clockify project, optionally filtered by a substring of the task name or by active status. Tasks belong to a project, so set both Workspace and Project — use List Projects to find the project ID. Use the Page and Page Size inputs to page through results. See the…

Full schema: https://pipedream.com/apps/clockify/actions/list-tasks.md

### `clockify-list-time-entries` — List Time Entries (Read-only)

List all time entries in a Clockify workspace. See the documentation

Full schema: https://pipedream.com/apps/clockify/actions/list-time-entries.md

### `clockify-list-workspace-id-options` — List Workspace Options (Read-only)

Lists the workspaces the authenticated user belongs to, as { label, value } pairs where value is the workspace ID that every other Clockify action requires. Call this first when you don't already know which workspace to operate on. See the documentation

Full schema: https://pipedream.com/apps/clockify/actions/list-workspace-id-options.md

### `clockify-log-time-entry` — Log Time Entry (Write)

Logs a completed time entry with an explicit start and end time in Clockify — use this to backfill time already tracked elsewhere. Use Start Timer instead if you want to start a running timer with no end time yet. See the documentation, or logging for another member when User is set

Full schema: https://pipedream.com/apps/clockify/actions/log-time-entry.md

### `clockify-start-timer` — Start Timer (Write)

Starts a running timer for a new time entry in Clockify — no end time is set. Use Stop Timer to stop it, or Update Time Entry to set an end time later. Use Log Time Entry instead if you already know both the start and end time. See the documentation, or starting for another member when User is set

Full schema: https://pipedream.com/apps/clockify/actions/start-timer.md

### `clockify-stop-timer` — Stop Timer (Write)

Stops the currently running timer for a workspace member in Clockify, setting its end time. See the documentation

Full schema: https://pipedream.com/apps/clockify/actions/stop-timer.md

### `clockify-update-client` — Update Client (Write)

Updates an existing client in a Clockify workspace. Set only the fields you want to change — Clockify's update endpoint replaces the whole client, so this action fetches the current record first and merges your changes into it. Use List Clients to find the ID of the client to update. See the…

Full schema: https://pipedream.com/apps/clockify/actions/update-client.md

### `clockify-update-invoice` — Update Invoice (Write)

Updates an existing invoice in a Clockify workspace. Clockify's update endpoint replaces the entire invoice, so this action first fetches the current invoice and merges your changes into it — fields you don't set are left unchanged, including the invoice's tax and discount percentages, which this…

Full schema: https://pipedream.com/apps/clockify/actions/update-invoice.md

### `clockify-update-tag` — Update Tag (Write)

Updates the name of an existing tag in a Clockify workspace. Use List Tags to find the ID of the tag to update. See the documentation

Full schema: https://pipedream.com/apps/clockify/actions/update-tag.md

### `clockify-update-time-entry` — Update Time Entry (Write)

Updates an existing time entry in Clockify — change its start/end time, project, task, description, billable status, or tags. Clockify's update endpoint replaces the entire entry, so this action first fetches the current entry and merges your changes into it before saving — fields you don't set are…

Full schema: https://pipedream.com/apps/clockify/actions/update-time-entry.md

---

- All apps: https://pipedream.com/apps — index: https://pipedream.com/llms.txt
- Pipedream docs for agents: https://pipedream.com/docs/llms.txt
