WakaTime connects to a Nagent workspace with OAuth sign-in. Once it is connected, agents can call 17 WakaTime actions, such as "Get Aggregate Stats", "Get current user's status bar summary for today" and "List IDE Plugins". Nothing is enabled on connect: each action is allowed one at a time, and an action with side effects runs or waits for a person according to the agent's level.
Every operation an agent can call against WakaTime, with input parameters and output schema.
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
Agents can call 17 WakaTime actions on Nagent, including "Get Aggregate Stats", "Get current user's status bar summary for today" and "List IDE Plugins". Get Aggregate Stats: Retrieve aggregate coding statistics across all WakaTime users for a given time range. Each action is listed on this page with its input parameters and its output.
WakaTime connects with OAuth sign-in, under your workspace's own connection. Nothing is enabled on connect: each action is allowed one at a time and can be scoped to the agents that need it.
Get Aggregate Stats takes 1 required input: range. It returns data, error and successful.