# Wakatime

Your Toolhouse AI Worker can connect to Wakatime using 17 specialized tools.

## Auth Connection

This service requires an auth connection to use its tools. You can set this up in your Toolhouse dashboard under [Auth Connections](https://toolhouse.app/auth-connections?authkit_slugs=wakatime).

## Tools (17)

### `Wakatime Get Aggregate Stats`

Integration name: **WAKATIME\_GET\_AGGREGATE\_STATS**

Tool to retrieve aggregate coding statistics across all WakaTime users for a given time range. Use when analyzing global trends in programming languages, editors, operating systems, and categories.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example         | Description                                                                              |
| --------- | ------ | :------: | --------------- | ---------------------------------------------------------------------------------------- |
| `range`   | string |     ✅    | `"last_7_days"` | Time range for aggregate stats; either 'last\_7\_days' or a specific year (e.g., '2023') |

***

### `Wakatime Get Current User Status Bar Today`

Integration name: **WAKATIME\_GET\_CURRENT\_USER\_STATUS\_BAR\_TODAY**

Tool to get current user's coding activity today for displaying in IDE status bars. Use when you need a summary of today's coding time broken down by projects, languages, editors, etc.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter     | Type    | Required | Example              | Description                                                                                                                                                     |
| ------------- | ------- | :------: | -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `project`     | string  |          | `"my-web-app"`       | Filter results to a specific project by name. When provided, includes branches and entities fields in response.                                                 |
| `timeout`     | integer |          | —                    | Keystroke timeout value in minutes; overrides user's default setting. Determines how long between keystrokes before activity is considered a different session. |
| `branches`    | string  |          | `"main,develop"`     | Comma-separated list of branch names to include in results. Filters activity to only these branches.                                                            |
| `timezone`    | string  |          | `"America/New_York"` | Timezone for the requested day in Olson format (e.g., 'America/Los\_Angeles'). Defaults to user's timezone setting.                                             |
| `writes_only` | boolean |          | —                    | When true, only counts file write events (not just cursor movement). Defaults to user's preference setting.                                                     |

***

### `Wakatime Get Editors`

Integration name: **WAKATIME\_GET\_EDITORS**

Tool to list WakaTime IDE plugins with metadata. Use when you want to discover available IDE integrations and their latest versions.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type    | Required | Example | Description                                          |
| ------------ | ------- | :------: | ------- | ---------------------------------------------------- |
| `unreleased` | boolean |          | `true`  | Include unreleased IDE plugins in the returned list. |

***

### `Wakatime Get Goals`

Integration name: **WAKATIME\_GET\_GOALS**

Tool to list a user's goals with progress series and metadata. Use after authenticating the user with read\_goals scope.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example     | Description                                                                    |
| --------- | ------ | :------: | ----------- | ------------------------------------------------------------------------------ |
| `user`    | string |          | `"current"` | User identifier; use 'current' for the authenticated user or specify a user ID |

***

### `Wakatime Get Insights`

Integration name: **WAKATIME\_GET\_INSIGHTS**

Tool to retrieve an insight for a user over a time range. Use when analyzing user coding metrics after authentication.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter      | Type    | Required | Example         | Description                                                                                                                                           |
| -------------- | ------- | :------: | --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| `user`         | string  |     ✅    | `"current"`     | User identifier path segment; use 'current' for the authenticated user or specify a user ID                                                           |
| `range`        | string  |     ✅    | `"last_7_days"` | Time range for the insight; either a year (YYYY), a month (YYYY-MM), or one of: last\_7\_days, last\_30\_days, last\_6\_months, last\_year, all\_time |
| `timeout`      | integer |          | `2`             | Keystroke timeout in seconds for stats; defaults to the user's setting                                                                                |
| `weekday`      | —       |          | `0`             | Filter to a specific weekday; only applied when insight\_type is 'days'; Accepts 0–6 or weekday name                                                  |
| `writes_only`  | boolean |          | `true`          | Whether to include only write events in stats; defaults to the user's setting                                                                         |
| `insight_type` | string  |     ✅    | `"projects"`    | Type of insight to retrieve                                                                                                                           |

***

### `Wakatime Get Leaders`

Integration name: **WAKATIME\_GET\_LEADERS**

Tool to list public leaders ranked by coding activity. Use when viewing top coders globally or filtering by language, country code, or hireable status.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter      | Type    | Required | Example    | Description                                                                       |
| -------------- | ------- | :------: | ---------- | --------------------------------------------------------------------------------- |
| `page`         | integer |          | `1`        | Page number to fetch; authenticated calls default to page containing current user |
| `language`     | string  |          | `"python"` | Filter leaders by a specific language (e.g., 'python')                            |
| `is_hireable`  | boolean |          | `true`     | Filter leaders by hireable badge                                                  |
| `country_code` | string  |          | `"US"`     | Filter leaders by a two-letter country code (e.g., 'US')                          |

***

### `Wakatime Get Machine Names`

Integration name: **WAKATIME\_GET\_MACHINE\_NAMES**

Tool to list a user's machines including last seen time. Use when needing machine names for a specific user.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example     | Description                                                                                        |
| --------- | ------ | :------: | ----------- | -------------------------------------------------------------------------------------------------- |
| `user`    | string |          | `"current"` | User identifier. Defaults to 'current' for the authenticated user. Can also be a specific user ID. |

***

### `Wakatime Get Meta`

Integration name: **WAKATIME\_GET\_META**

Tool to retrieve WakaTime API meta information, including public IP addresses used by WakaTime servers. Use when you need to know WakaTime's infrastructure details for network configuration or security purposes.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called. *No parameters required.*

***

### `Wakatime Get Oauth Authorize`

Integration name: **WAKATIME\_GET\_OAUTH\_AUTHORIZE**

Tool to generate OAuth 2.0 authorization URL. Use when redirecting users to WakaTime to grant access.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter       | Type   | Required | Example                                | Description                                                                            |
| --------------- | ------ | :------: | -------------------------------------- | -------------------------------------------------------------------------------------- |
| `scope`         | string |          | `"read_stats write_data"`              | Space- or comma-separated list of scopes to request (e.g., 'read\_stats write\_data'). |
| `state`         | string |          | `"xyz123"`                             | Opaque value to maintain state between request and callback; returned unchanged.       |
| `client_id`     | string |     ✅    | `"abcdef123456"`                       | Your WakaTime App ID (found at wakatime.com/apps).                                     |
| `redirect_uri`  | string |     ✅    | `"https://yourapp.com/oauth/callback"` | Redirect URI registered in your WakaTime app settings.                                 |
| `force_approve` | string |          | `"true"`                               | If provided, forces the user to re-approve (behavior may vary).                        |
| `response_type` | string |     ✅    | `"code"`                               | Must be "code" for authorization-code flow or "token" for implicit flow.               |

***

### `Wakatime Get User`

Integration name: **WAKATIME\_GET\_USER**

Tool to get detailed profile information for a WakaTime user by user ID or username. Use 'current' as the user parameter to get the authenticated user's details. Returns comprehensive profile data including display name, email, timezone, plan, and privacy settings.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example     | Description                                                 |
| --------- | ------ | :------: | ----------- | ----------------------------------------------------------- |
| `user`    | string |     ✅    | `"current"` | User ID, username, or 'current' for the authenticated user. |

***

### `Wakatime Get Users All Time Since Today`

Integration name: **WAKATIME\_GET\_USERS\_ALL\_TIME\_SINCE\_TODAY**

Tool to retrieve total coding time since account creation for a user. Use after authenticating to fetch all-time stats.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example                | Description                                                  |
| --------- | ------ | :------: | ---------------------- | ------------------------------------------------------------ |
| `user`    | string |     ✅    | `"john_doe"`           | User path segment. Use 'current' for the authenticated user. |
| `project` | string |          | `"my-awesome-project"` | Optional project name to filter totals                       |

***

### `Wakatime Get User Stats`

Integration name: **WAKATIME\_GET\_USER\_STATS**

Tool to retrieve coding statistics for a user over the default time range. Returns comprehensive metrics including languages, editors, projects, and daily averages. Use when analyzing a user's coding patterns and productivity metrics.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter     | Type    | Required | Example     | Description                                                                                                       |
| ------------- | ------- | :------: | ----------- | ----------------------------------------------------------------------------------------------------------------- |
| `user`        | string  |     ✅    | `"current"` | User identifier; use 'current' for the authenticated user or specify a user ID.                                   |
| `timeout`     | integer |          | `15`        | Override the user's keystroke timeout setting (in minutes). If not specified, uses the user's preference.         |
| `writes_only` | boolean |          | `false`     | Override the user's writes\_only setting. When true, only track writing activity; when false, track all activity. |

***

### `Wakatime Get User Stats By Range`

Integration name: **WAKATIME\_GET\_USER\_STATS\_BY\_RANGE**

Tool to retrieve comprehensive coding statistics for a user over a specific time range. Returns breakdowns by language, editor, project, OS, and more, along with daily averages and best day. Use when analyzing productivity patterns or generating coding activity reports for time periods.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter     | Type    | Required | Example         | Description                                                                                                                                                          |
| ------------- | ------- | :------: | --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `user`        | string  |     ✅    | `"current"`     | User identifier; use 'current' for the authenticated user or specify a user ID                                                                                       |
| `range`       | string  |     ✅    | `"last_7_days"` | Time range for stats; accepts 'last\_7\_days', 'last\_30\_days', 'last\_6\_months', 'last\_year', 'all\_time', a specific year (YYYY), or a specific month (YYYY-MM) |
| `timeout`     | integer |          | `15`            | Override the user's keystroke timeout setting (in minutes); defaults to user's preference                                                                            |
| `writes_only` | boolean |          | `true`          | Override the user's writes\_only setting; if true, only track write operations                                                                                       |

***

### `Wakatime Get User Summaries`

Integration name: **WAKATIME\_GET\_USER\_SUMMARIES**

Get user's coding activity for a time range as daily summaries. Returns detailed breakdowns by projects, languages, editors, and more for each day. Use when you need to analyze coding patterns, track project time, or generate activity reports over a date range. Requires 'read\_summaries' scope.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter     | Type    | Required | Example              | Description                                                                                                                    |
| ------------- | ------- | :------: | -------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| `end`         | string  |          | `"2024-01-31"`       | End date of the time range in YYYY-MM-DD format. Required if 'range' parameter is not provided.                                |
| `user`        | string  |     ✅    | `"current"`          | User ID or 'current' for the authenticated user.                                                                               |
| `range`       | string  |          | `"Last 7 Days"`      | Predefined date range options for summaries.                                                                                   |
| `start`       | string  |          | `"2024-01-01"`       | Start date of the time range in YYYY-MM-DD format. Required if 'range' parameter is not provided.                              |
| `project`     | string  |          | `"my-project"`       | Filter results by specific project name.                                                                                       |
| `timeout`     | integer |          | `15`                 | Override the user's keystroke timeout setting in minutes. Controls how long between keystrokes before ending a coding session. |
| `branches`    | string  |          | `"main,develop"`     | Filter by comma-separated list of branch names.                                                                                |
| `timezone`    | string  |          | `"America/New_York"` | Override the user's timezone in Olson format (e.g., 'America/Los\_Angeles', 'Europe/London'). Affects how days are segmented.  |
| `writes_only` | boolean |          | `true`               | Override the user's writes\_only setting. If true, only count time when files are modified, not just viewed.                   |

***

### `Wakatime List Program Languages`

Integration name: **WAKATIME\_LIST\_PROGRAM\_LANGUAGES**

Tool to list all verified program languages supported by WakaTime. Use when you need to discover available programming languages tracked by WakaTime.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type    | Required | Example | Description                                                             |
| --------- | ------- | :------: | ------- | ----------------------------------------------------------------------- |
| `page`    | integer |          | `1`     | Page number for pagination (1-indexed). Defaults to 1 if not specified. |

***

### `Wakatime List User Projects`

Integration name: **WAKATIME\_LIST\_USER\_PROJECTS**

List WakaTime projects for a specified user. Returns project names, IDs, creation dates, and last activity times. Use to discover available projects for any user before querying project-specific stats.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type    | Required | Example        | Description                                                          |
| --------- | ------- | :------: | -------------- | -------------------------------------------------------------------- |
| `q`       | string  |          | `"my-project"` | Filter project names by search term. Case-insensitive partial match. |
| `page`    | integer |          | `1`            | Page number for paginated results. Defaults to 1 if not specified.   |
| `user`    | string  |     ✅    | `"current"`    | User ID or 'current' for the authenticated user.                     |

***

### `Wakatime List User User Agents`

Integration name: **WAKATIME\_LIST\_USER\_USER\_AGENTS**

Tool to list plugins and editors which have sent data for a specified user. Use when needing to discover which development environments and tools a user is actively using.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example     | Description                                                                                        |
| --------- | ------ | :------: | ----------- | -------------------------------------------------------------------------------------------------- |
| `user`    | string |          | `"current"` | User identifier. Defaults to 'current' for the authenticated user. Can also be a specific user ID. |

***


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.toolhouse.ai/toolhouse/integrations/wakatime.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
