# Start Timer — Clockify

> 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…

- Key: `clockify-start-timer`
- Type: Action (Write)
- Version: 0.0.2
- App: Clockify (`clockify`) — https://pipedream.com/apps/clockify.md
- This page (HTML): https://pipedream.com/apps/clockify/actions/start-timer
- Hints: open-world
- Source: https://github.com/PipedreamHQ/pipedream/blob/master/components/clockify/actions/start-timer/start-timer.mjs

## Description

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](https://docs.clockify.me/#tag/Time-entry/operation/createTimeEntry), or [starting for another member](https://docs.clockify.me/#tag/Time-entry/operation/createForOthers) when `User` is set

## Props

| Prop | Type | Required | Description |
|---|---|---|---|
| `workspaceId` | `string` | Yes | Identifier of a workspace Options are loaded from the connected account. |
| `projectId` | `string` | No | Identifier of a project Options are loaded from the connected account. |
| `taskId` | `string` | No | Identifier of a task Options are loaded from the connected account. |
| `userId` | `string` | No | Starts the timer for this workspace member instead of yourself. Leave blank to start the timer for your own account. Options are loaded from the connected account. |
| `start` | `string` | No | Start date and time of the timer, in ISO 8601 format. Example: 2026-08-05T09:00:00Z. Defaults to the current time if left blank. |
| `timeEntryDescription` | `string` | No | Description of the time entry |
| `billable` | `boolean` | No | Whether the time entry is billable |
| `tagIds` | `string[]` | No | Array of tag identifiers Options are loaded from the connected account. |
| `timeEntryType` | `string` | No | The type of the time entry |

## Run it

**MCP**

```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()

// listTools() hands your model this tool's input schema, so it can
// fill the arguments itself:
const result = await mcp.callTool({
  name: "clockify-start-timer",
  arguments: {
    workspaceId: "Workspace",
    projectId: "Project",
  },
})
```

**TypeScript**

```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-start-timer",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    clockify: { authProvisionId: "apn_xxxxxxx" },
    workspaceId: "Workspace",
    projectId: "Project",
  },
})

console.log(result)
```

**cURL**

```bash
curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
  -H "Content-Type: application/json" \
  -H "X-PD-Environment: production" \
  -H "Authorization: Bearer {access_token}" \
  -d '{
    "external_user_id": "{external_user_id}",
    "id": "clockify-start-timer",
    "configured_props": {
      "clockify": { "authProvisionId": "apn_xxxxxxx" },
      "workspaceId": "Workspace",
      "projectId": "Project"
    }
  }'
```

---

- App: https://pipedream.com/apps/clockify.md · All apps: https://pipedream.com/apps
