# Everhour — Pipedream Connect

> Everhour is one of the best time tracking tools for teams. See who’s tracking time, who’s overworked and who can handle more. Keep track of all your project budgets, schedule threshold alerts, use forward resource planning. Build any kind of reports and send professional-looking invoices.

- API slug: `everhour` (use in MCP headers and tool keys)
- Auth: API key (Pipedream-managed)
- Categories: Productivity
- Website: https://everhour.com
- This page (HTML): https://pipedream.com/apps/everhour
- Tools: 5 actions · 3 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: everhour`

```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": "everhour",
      },
    },
  },
)

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

const { tools } = await mcp.listTools()

// e.g. run Create Task:
const result = await mcp.callTool({
  name: "everhour-create-task",
  arguments: {
    projectId: "Project ID",
    name: "Task Name",
  },
})
```

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

## API proxy

For a Everhour 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.everhour.com/users/me

curl "https://api.pipedream.com/v1/connect/{project_id}/proxy/aHR0cHM6Ly9hcGkuZXZlcmhvdXIuY29tL3VzZXJzL21l?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: "everhour-create-task",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    everhour: { authProvisionId: "apn_xxxxxxx" },
    projectId: "Project ID",
    name: "Task Name",
  },
})
```

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

## Actions (5)

### `everhour-create-task` — Create Task (Write)

Creates a new task in Everhour. See the documentation

Full schema: https://pipedream.com/apps/everhour/actions/create-task.md

### `everhour-list-project-id-options` — List Project ID Options (Read-only)

Retrieves available options for the Project ID field.

Full schema: https://pipedream.com/apps/everhour/actions/list-project-id-options.md

### `everhour-list-tags-options` — List Tag IDs Options (Read-only)

Retrieves available options for the Tag IDs field.

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

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

Begins a new timer for a task. See the documentation

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

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

Halts the current running timer. See the documentation

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

## Triggers (3)

### `everhour-new-client-instant` — New Client (Instant) (Instant)

Emit new event when a client is added.

Full schema: https://pipedream.com/apps/everhour/triggers/new-client-instant.md

### `everhour-new-task-instant` — New Task Created (Instant) (Instant)

Emit new event when a task is created.

Full schema: https://pipedream.com/apps/everhour/triggers/new-task-instant.md

### `everhour-task-time-updated-instant` — New Task Time Updated (Instant) (Instant)

Emit new event when a task's time spent is modified in Everhour.

Full schema: https://pipedream.com/apps/everhour/triggers/task-time-updated-instant.md

---

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