WakaTime offers automatic time tracking for developers, integrating with code editors and delivering dashboards on coding activity, project progress, and productivity
WakaTime offers automatic time tracking for developers, integrating with code editors and delivering dashboards on coding activity, project progress, and productivity On Nagent, WakaTime is exposed as a fully-configurable time tracking software integration that any agent can call — 17 actions, and OAuth authentication. No code is required to wire WakaTime into your workflow — connect it once via the External Integrations panel and reuse it across every agent you build.
Agent builders use WakaTime to automate the kinds of tasks time tracking software teams previously handled manually. Concrete examples — each one is a single agent step in Nagent — include:
Every action and trigger is paired with a structured input/output schema (visible in the sections below), so when you wire WakaTime into Helix — our agentic agent builder — the editor knows exactly what each step expects and produces. Configure once, deploy anywhere across your Nagent agents.
Every operation an agent can call against WakaTime, with input parameters and output schema. Drop these into any step of an agent built in Helix.
WAKATIME_GET_AGGREGATE_STATSTool 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.
Input parameters
Time range for aggregate stats; either 'last_7_days' or a specific year (e.g., '2023')
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
WAKATIME_GET_CURRENT_USER_STATUS_BAR_TODAYTool 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.
Input parameters
Filter results to a specific project by name. When provided, includes branches and entities fields in response.
Keystroke timeout value in minutes; overrides user's default setting. Determines how long between keystrokes before activity is considered a different session.
Comma-separated list of branch names to include in results. Filters activity to only these branches.
Timezone for the requested day in Olson format (e.g., 'America/Los_Angeles'). Defaults to user's timezone setting.
When true, only counts file write events (not just cursor movement). Defaults to user's preference setting.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
WAKATIME_GET_EDITORSTool to list WakaTime IDE plugins with metadata. Use when you want to discover available IDE integrations and their latest versions.
Input parameters
Include unreleased IDE plugins in the returned list.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
WAKATIME_GET_GOALSTool to list a user's goals with progress series and metadata. Use after authenticating the user with read_goals scope.
Input parameters
User identifier; use 'current' for the authenticated user or specify a user ID
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
WAKATIME_GET_INSIGHTSTool to retrieve an insight for a user over a time range. Use when analyzing user coding metrics after authentication.
Input parameters
User identifier path segment; use 'current' for the authenticated user or specify a user ID
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
Keystroke timeout in seconds for stats; defaults to the user's setting
Filter to a specific weekday; only applied when insight_type is 'days'; Accepts 0–6 or weekday name
Whether to include only write events in stats; defaults to the user's setting
Type of insight to retrieve
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
WAKATIME_GET_LEADERSTool to list public leaders ranked by coding activity. Use when viewing top coders globally or filtering by language, country code, or hireable status.
Input parameters
Page number to fetch; authenticated calls default to page containing current user
Filter leaders by a specific language (e.g., 'python')
Filter leaders by hireable badge
Filter leaders by a two-letter country code (e.g., 'US')
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
WAKATIME_GET_MACHINE_NAMESTool to list a user's machines including last seen time. Use when needing machine names for a specific user.
Input parameters
User identifier. Defaults to 'current' for the authenticated user. Can also be a specific user ID.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
WAKATIME_GET_METATool 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.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
WAKATIME_GET_OAUTH_AUTHORIZETool to generate OAuth 2.0 authorization URL. Use when redirecting users to WakaTime to grant access.
Input parameters
Space- or comma-separated list of scopes to request (e.g., 'read_stats write_data').
Opaque value to maintain state between request and callback; returned unchanged.
Your WakaTime App ID (found at wakatime.com/apps).
Redirect URI registered in your WakaTime app settings.
If provided, forces the user to re-approve (behavior may vary).
Must be "code" for authorization-code flow or "token" for implicit flow.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
WAKATIME_GET_USERTool 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.
Input parameters
User ID, username, or 'current' for the authenticated user.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
WAKATIME_GET_USERS_ALL_TIME_SINCE_TODAYTool to retrieve total coding time since account creation for a user. Use after authenticating to fetch all-time stats.
Input parameters
User path segment. Use 'current' for the authenticated user.
Optional project name to filter totals
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
WAKATIME_GET_USER_STATSTool 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.
Input parameters
User identifier; use 'current' for the authenticated user or specify a user ID.
Override the user's keystroke timeout setting (in minutes). If not specified, uses the user's preference.
Override the user's writes_only setting. When true, only track writing activity; when false, track all activity.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
WAKATIME_GET_USER_STATS_BY_RANGETool 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.
Input parameters
User identifier; use 'current' for the authenticated user or specify a user ID
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)
Override the user's keystroke timeout setting (in minutes); defaults to user's preference
Override the user's writes_only setting; if true, only track write operations
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
WAKATIME_GET_USER_SUMMARIESGet 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.
Input parameters
End date of the time range in YYYY-MM-DD format. Required if 'range' parameter is not provided.
User ID or 'current' for the authenticated user.
Predefined date range options for summaries.
Start date of the time range in YYYY-MM-DD format. Required if 'range' parameter is not provided.
Filter results by specific project name.
Override the user's keystroke timeout setting in minutes. Controls how long between keystrokes before ending a coding session.
Filter by comma-separated list of branch names.
Override the user's timezone in Olson format (e.g., 'America/Los_Angeles', 'Europe/London'). Affects how days are segmented.
Override the user's writes_only setting. If true, only count time when files are modified, not just viewed.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
WAKATIME_LIST_PROGRAM_LANGUAGESTool to list all verified program languages supported by WakaTime. Use when you need to discover available programming languages tracked by WakaTime.
Input parameters
Page number for pagination (1-indexed). Defaults to 1 if not specified.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
WAKATIME_LIST_USER_PROJECTSList 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.
Input parameters
Filter project names by search term. Case-insensitive partial match.
Page number for paginated results. Defaults to 1 if not specified.
User ID or 'current' for the authenticated user.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
WAKATIME_LIST_USER_USER_AGENTSTool 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.
Input parameters
User identifier. Defaults to 'current' for the authenticated user. Can also be a specific user ID.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
No publicly available marketplace agent is found using this tool yet. There are 43 agents privately built on Nagent that already use WakaTime.
Build on Nagent
Connect WakaTime to any Nagent agent in minutes — no API key management, no boilerplate. Just configure and deploy.
The five questions agent builders ask before adopting a new integration.
Open the External Integrations panel inside Nagent (app.nagent.ai/externalIntegration), find WakaTime, and click "Connect Now." You'll authenticate with OAuth — Nagent handles credential storage and refresh automatically. Once connected, WakaTime is available to any agent in your workspace.
No. Nagent provides no-code integration for every tool. Once WakaTime is connected, you configure its 17 actions directly in the agent builder UI — no API calls, no boilerplate, no schema management.
Helix — Nagent's agentic agent builder — lets you drop WakaTime steps into any workflow visually. Pick an action (e.g., one of those listed above), fill in the inputs (Helix knows the required vs. optional schema for each parameter), and connect it to upstream/downstream steps. Triggers run as the entry point of an agent, so when a WakaTime event fires, the agent kicks off automatically.
Every WakaTime action and trigger ships with a fully-typed schema — input parameters with name, type, required flag, and description, plus the output payload shape. The schemas are documented in the sections above. Helix uses these schemas to validate your configuration at build time and to type-check the data flowing between steps.
Yes. While WakaTime ships with 17 pre-built time tracking software actions, you can layer custom logic around them inside Helix — pre/post-processing steps, conditional branches, retries, or stitching WakaTime together with other connected tools. For deeper customization, talk to our team about Nagent's Agentic AI Lab — forward-deployed engineers who build WakaTime-based workflows tailored to your business.