Time Doctor integration
Time Doctor is employee time tracking and workforce analytics software. Read worklogs, meeting logs, connectivity gaps, app and website usage, productivity and timesheet statistics, screenshots and other captured files, work schedules, attendance and leave, software cost insights and Google Calendar meetings; manage users, invitations, projects, tasks, groups (tags), breaks, productivity categories, manual time edits, IP allow-lists and notification rules. Almost every tool needs a company id (from list_companies). Login, registration, SSO, Auth v2 token routes, the existing-token listing, company creation, directory sync, calendar connection management, tracking-client file registration, payroll (its responses are undocumented and can carry payee account identifiers) and pending approvals (Time Doctor does not serve the documented route) are not exposed. Authentication is a Time Doctor legacy (v1) API token, valid for six months, sent as Authorization: JWT <token>; Time Doctor says v1 may be restricted or deprecated per deployment policy (no removal date announced), and the short-lived Auth v2 tokens cannot be stored as a credential.
Say what should happen.
The workflow builds itself.
What you can do with Time Doctor
Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.
Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.
User, 12 operations
delete_userDelete userDELETERemoves a user from the company. By default the user is soft-deleted and data kept; delete-permanently true erases the user and all their data, which cannot be undone.get_userGet userGETRetrieve detailed information about a specific user by their ID.get_user_with_idle_statusGet user with idle statusGETGets one user like get_user, plus real-time activity and idle status information.list_user_categoriesList user categoriesGETRetrieve productivity categories specific to a user or group.list_usersList usersGETRetrieve a list of users in the company with optional filtering and pagination. This endpoint supports multiple query options to filter and customize the user list.list_users_extendedList users extendedGETLists the company's users with account details (hire date, timezones, role, active and email-confirmed flags, 2FA). Use list_users for filtering and paging.list_users_with_idle_statusList users with idle statusGETLists users like list_users, plus real-time idle status information about each user's activity.make_project_publicMake project publicDELETEMakes a private project public: removes every user-specific access restriction, so all users can see and track time on it.remove_project_userRemove project userDELETERevoke a specific user's access to a private project. This endpoint removes the user from the project's access list.set_project_userSet project userPUTGrant or modify user access to a private project. This endpoint makes the project private (if not already) and assigns specific access permissions to a user.set_user_categorySet user categoryPOSTConfigure user-specific or group-specific productivity classification override.update_userUpdate userPUTUpdates a user's settings in the company (role, project access, tracking, screenshot and report options). Send only the fields to change; leave a field out to keep it.
Project, 7 operations
create_projectCreate projectPOSTCreate a new project in the company. Projects help organize work by grouping related tasks and activities.delete_projectDelete projectDELETERemove a project from the company. Deleting a project will remove it from the system. Ensure all necessary data is backed up before deletion.get_projectGet projectGETRetrieve detailed information about a specific project. This endpoint returns comprehensive project data including settings, assigned users, and access permissions.get_stats_projectGet stats projectGETReturns time per project statistics for users over a from/to range, per period (days by default). Leave sort and ratio out unless needed; the fields returned depend on fields, ratio, group-by and level (user by default).get_timesheet_stats_projectGet timesheet stats projectGETTimesheet variant of the time per project statistics: shaped for timesheet views, over a from/to range. Leave sort and ratio out unless needed; the fields returned depend on fields, ratio, group-by and level (user by default).list_projectsList projectsGETRetrieve a list of all projects in the company. This endpoint returns all projects with optional filtering and pagination.update_projectUpdate projectPUTUpdate project information and settings. This endpoint allows modification of project details such as name, description, status, and other configuration options.
Tag, 7 operations
add_user_tagAdd user tagPOSTAdd a user to a group (tag) as a member. This endpoint assigns a user to a group, making them a member of that organizational unit.create_tagCreate tagPOSTCreate a new group (tag) in the company. This endpoint creates a new organizational group for categorizing users into teams, departments, or other organizational units.delete_tagDelete tagDELETEDelete a group (tag) from the company. This endpoint removes a group. Users who were members of this group will no longer be associated with it.delete_user_tagDelete user tagDELETERemove a user from a group (tag). This endpoint removes a user's membership from a group. The user will no longer be associated with that organizational unit.get_tagGet tagGETRetrieve details of a specific group (tag). This endpoint returns complete information about a group including its name, members, managers, and configuration.list_tagsList tagsGETRetrieve list of all groups (tags) in the company. Groups (also called tags) are used to organize users into teams, departments, or other organizational units.update_tagUpdate tagPUTUpdate details of a specific group (tag). This endpoint modifies group properties such as name, description, or other configuration settings.
Task, 7 operations
create_taskCreate taskPOSTCreate a new task in the company. Tasks help organize and categorize work activities. They can be assigned to projects and used to track time spent on specific work items.delete_taskDelete taskDELETEArchive or restore a task. This endpoint archives a task (soft delete) or restores a previously archived task.get_stats_taskGet stats taskGETReturns time per task statistics for users over a from/to range, per period (days by default). Leave sort and ratio out unless needed; the fields returned depend on fields, ratio, group-by and level (user by default).get_taskGet taskGETRetrieve detailed information about a specific task. This endpoint returns comprehensive task data including name, project assignment, and archive status.get_timesheet_stats_taskGet timesheet stats taskGETTimesheet variant of the time per task statistics: shaped for timesheet views, over a from/to range. Leave sort and ratio out unless needed; the fields returned depend on fields, ratio, group-by and level (user by default).list_tasksList tasksGETRetrieve a list of all tasks in the company. Tasks represent specific work items or activities that can be assigned to projects.update_taskUpdate taskPUTUpdate task information and settings. This endpoint allows modification of task details such as name, project assignment, and other configuration options.
Break, 5 operations
create_breakCreate breakPOSTCreate a new break time record. This endpoint records a break period for a user, specifying start time, duration, and break type (paid/unpaid).delete_breakDelete breakDELETERemove a break time record. This endpoint deletes a break entry, typically used to correct errors or remove incorrectly recorded breaks.get_breakGet breakGETRetrieve detailed information about a specific break. This endpoint returns complete break details including start time, duration, break type, and associated user information.list_breaksList breaksGETRetrieve list of break time records for users.update_breakUpdate breakPUTUpdates a break type. Time Doctor requires name and type on every update: read the break with get_break and send them back with your change; leave other fields out to keep them.
Category, 5 operations
get_software_cost_by_categoryGet software cost by categoryGETGet software cost insights aggregated by categoryget_stats_categoryGet stats categoryGETReturns time per productivity category statistics for users over a from/to range, per period (days by default). Leave sort and ratio out unless needed; the fields returned depend on fields, ratio, group-by and level (user by default).get_timesheet_stats_categoryGet timesheet stats categoryGETTimesheet variant of the time per productivity category statistics: shaped for timesheet views, over a from/to range. Leave sort and ratio out unless needed; the fields returned depend on fields, ratio, group-by and level (user by default).list_categoriesList categoriesGETRetrieve list of productivity categories configured in the company. Categories classify applications and websites as productive, unproductive, or neutral.set_company_categorySet company categoryPOSTConfigure productivity classification for an application or website at company level.
Ipaddress, 5 operations
create_ip_addressCreate ip addressPOSTAdd a new IP address to the company whitelist. This endpoint creates a new IP address record, allowing access from the specified IP address or range.delete_ip_addressDelete ip addressDELETERemove an IP address from the company whitelist. This endpoint archives an IP address record, preventing access from that IP.get_ip_addressGet ip addressGETRetrieve details of a specific IP address record. This endpoint returns complete information about a whitelisted IP address including its configuration, status, and metadata.list_ip_addressesList ip addressesGETRetrieve list of allowed IP addresses for company access control.update_ip_addressUpdate ip addressPUTUpdate an existing IP address record. This endpoint modifies IP address configuration such as the IP range, description, or enable/disable status.
Summary, 5 operations
get_calendar_summaryGet calendar summaryGETGet summary statistics for calendar meetings across multiple users.get_software_cost_summaryGet software cost summaryGETGet summary statistics for software cost insightsget_software_cost_timesheet_summaryGet software cost timesheet summaryGETGet software cost insights summary with timesheet breakdownget_stats_summaryGet stats summaryGETReturns summary statistics for users over a from/to range, per period (days by default). Leave sort and ratio out unless needed; the fields returned depend on fields, ratio, group-by and level (user by default).get_timesheet_stats_summaryGet timesheet stats summaryGETTimesheet variant of the summary statistics: shaped for timesheet views, over a from/to range. Leave sort and ratio out unless needed; the fields returned depend on fields, ratio, group-by and level (user by default).
Work schedule, 5 operations
delete_work_scheduleDelete work scheduleDELETERemove a specific work schedule entry. This endpoint deletes a schedule entry, typically used to remove incorrect schedules or cancel planned shifts.get_work_scheduleGet work scheduleGETRetrieve details of a specific work schedule entry.list_work_schedulesList work schedulesGETRetrieve work schedules for users including shifts, time off, and leave periods. This endpoint returns work schedule data via streaming for efficient handling of large datasets.replace_work_schedulesReplace work schedulesPUTReplaces work schedules in bulk: every existing schedule between from and to is removed first, then the schedules in items are inserted. Read them with list_work_schedules first.update_work_scheduleUpdate work schedulePUTUpdates one work schedule entry (for example approving a leave request). Time Doctor requires approved on every update: send its current value unless you are changing it.
Notification, 4 operations
create_notificationCreate notificationPOSTCreates a notification rule. notification is an object with name, notifyType, condType, condValue, scope, dataIds, daysApplicable, active and recipientIds (user ids who receive it).get_notificationGet notificationGETRetrieve detailed information about a specific notification. This endpoint returns complete notification details including content, status, and delivery information.list_notificationsList notificationsGETRetrieve list of notifications for the authenticated user. This endpoint returns all notifications sent to the user, including system alerts, reminders, and custom notifications.update_notificationUpdate notificationPUTUpdates a notification rule. notification may carry name, notifyType, condType, condValue, scope, dataIds, daysApplicable and active; leave a key out to keep it.
Bulk, 3 operations
check_invitations_bulkCheck invitations bulkPOSTChecks which of the given email addresses already belong to a company member. Read-only: returns a map keyed by email; addresses with no member are left out.create_invitations_bulkCreate invitations bulkPOSTInvites several people at once. users is an array of {name, email, role, employeeId}. noSendEmail false emails every invitation at once; true creates them without email.update_edit_times_bulkUpdate edit times bulkPUTUpdates several manual time edits. items is an array of {userId, start, end, taskId, projectId, operation (add or remove), reason, approved}.
Company, 3 operations
get_companyGet companyGETRetrieve detailed information about a specific company. This endpoint returns comprehensive company data including settings, configuration, and administrative information.list_companiesList companiesGETRetrieve list of companies where the authenticated user has administrative access. This endpoint returns all companies that the user owns or administers.update_companyUpdate companyPUTUpdates company settings. Time Doctor requires name on every update: read it with get_company and send it back. Leave other fields out to keep their current value.
Edit time, 3 operations
create_edit_timeCreate edit timePOSTCreate a manual time entry or adjustment for a user.list_edit_timesList edit timesGETRetrieve manual time edits and adjustments for user(s).update_edit_timeUpdate edit timePUTUpdates a manual time edit. Time Doctor requires start, taskId, projectId, operation, reason and approved on every update: read the edit with list_edit_times and send its values back with your change.
File, 3 operations
delete_fileDelete fileDELETERemove a specific file entry from the system. This endpoint deletes the metadata entry for a specific file.list_filesList filesGETRetrieve list of all files (screenshots, webcam captures, etc.) for users.list_files_of_typeList files of typeGETRetrieve files filtered by specific type (screenshots, webcam, etc.).
Total, 3 operations
get_stats_totalGet stats totalGETReturns total tracked time statistics for users over a from/to range, per period (days by default). Leave sort and ratio out unless needed; the fields returned depend on fields, ratio, group-by and level (user by default).get_timesheet_stats_totalGet timesheet stats totalGETTimesheet variant of the total tracked time statistics: shaped for timesheet views, over a from/to range. Leave sort and ratio out unless needed; the fields returned depend on fields, ratio, group-by and level (user by default).get_users_totalsGet users totalsGETRetrieve comprehensive configuration details for all users in the company.
Manager, 2 operations
add_tag_managerAdd tag managerPOSTAssign a manager to a group (tag). This endpoint designates a user as a manager for the group, granting them management permissions for group members.delete_tag_managerDelete tag managerDELETERemove a manager from a group (tag). This endpoint revokes a user's manager permissions for the group. The user can still be a regular member of the group.
Outlier, 2 operations
get_stats_outliersGet stats outliersGETReturns outlier statistics for users over a from/to range, per period (days by default). Leave sort and ratio out unless needed; the fields returned depend on fields, ratio, group-by and level (user by default).get_timesheet_stats_outliersGet timesheet stats outliersGETTimesheet variant of the outlier statistics: shaped for timesheet views, over a from/to range. Leave sort and ratio out unless needed; the fields returned depend on fields, ratio, group-by and level (user by default).
Paged, 2 operations
list_meeting_log_pagedList meeting log pagedGETFlat, paged meeting records for MCP and other clients that need `paging.totalCount`.list_worklog_pagedList worklog pagedGETFlat, paged worklog ranges for MCP and other clients that need `paging.totalCount`.
Shift, 2 operations
get_stats_shiftGet stats shiftGETReturns shift statistics for users over a from/to range, per period (days by default). Leave sort and ratio out unless needed; the fields returned depend on fields, ratio, group-by and level (user by default).get_timesheet_stats_shiftGet timesheet stats shiftGETTimesheet variant of the shift statistics: shaped for timesheet views, over a from/to range. Leave sort and ratio out unless needed; the fields returned depend on fields, ratio, group-by and level (user by default).
Stats, 2 operations
get_leave_statsGet leave statsGETRetrieve aggregated leave statistics including total and approved leave counts.get_timeuse_statsGet timeuse statsGETRetrieve aggregated statistics about application and website usage.
Summary v2, 2 operations
get_software_cost_summary_monthlyGet software cost summary monthlyGETSoftware cost summary statistics as one aggregation: from and to on the first or last day of a month, range over 26 days, at most 6 calendar months. Optional category filter.get_software_cost_timesheet_summary_monthlyGet software cost timesheet summary monthlyGETSoftware cost insights summary per timesheet range, over at most 6 calendar months.
Work life, 2 operations
get_stats_work_lifeGet stats work lifeGETReturns work-life balance statistics for users over a from/to range, per period (days by default). Leave sort and ratio out unless needed; the fields returned depend on fields, ratio, group-by and level (user by default).get_timesheet_stats_work_lifeGet timesheet stats work lifeGETTimesheet variant of the work-life balance statistics: shaped for timesheet views, over a from/to range. Leave sort and ratio out unless needed; the fields returned depend on fields, ratio, group-by and level (user by default).
Worklog, 2 operations
get_worklogGet worklogGETRetrieve detailed work activity log for a user within a specified time range.update_worklogUpdate worklogPUTModifies a user's worklog ranges between start and end, for example to set their taskId and projectId. Applies to the authenticated user unless user is given.
Attendance, 1 operation
get_work_schedules_attendanceGet work schedules attendanceGETRetrieve Attendance Report rows for scheduled shifts in a date range.
By ssid, 1 operation
delete_ip_addresses_by_ssidDelete ip addresses by ssidDELETEArchive all IP address whitelist records that share the same WiFi network name (SSID). Each matching active record is archived using the same audit trail as single-record delete.
Category group hierarchy, 1 operation
get_software_category_hierarchyGet software category hierarchyGETGet category group hierarchy for the company from BigQuery (reporting_hierarchy_groups).
Category v2, 1 operation
get_software_cost_by_category_monthlyGet software cost by category monthlyGETSoftware cost insights by category as one aggregation: from and to on the first or last day of a month, range over 26 days, at most 6 calendar months. Requires category ids.
Count, 1 operation
get_file_countsGet file countsGETRetrieve aggregated file counts for screenshots and other tracked media.
Disconnectivity, 1 operation
get_disconnectivityGet disconnectivityGETRetrieve periods when the user was offline or disconnected from tracking.
Event, 1 operation
get_calendar_eventsGet calendar eventsGETFetch calendar events directly from Google Calendar API.
Exist, 1 operation
check_invitationCheck invitationGETCheck if an invitation exists for a specific email address. This endpoint verifies whether a user has been invited to the company and returns the invitation status.
Invitation, 1 operation
create_invitationCreate invitationPOSTInvites a person to the company by email. With noSendEmail false Time Doctor emails the invitation at once; true creates it without an email. Role defaults to the company's normal user role if left out.
Issue, 1 operation
get_work_schedules_issuesGet work schedules issuesGETRetrieve work schedule issues and conflicts for dashboard monitoring.
Managed, 1 operation
list_managed_usersList managed usersGETRetrieve list of users managed by the specified user. This endpoint returns all users that the specified user has administrative rights over.
Meetinglog, 1 operation
get_meeting_logGet meeting logGETRetrieve meeting activity logs for user(s) within a specified time range.
Signed url, 1 operation
get_file_signed_urlGet file signed urlGETGenerate a temporary signed URL for secure file download.
Stored event, 1 operation
get_stored_calendar_eventsGet stored calendar eventsGETRetrieve calendar events from local database storage.
Subscribe, 1 operation
subscribe_notificationSubscribe notificationPOSTSubscribe to a specific notification type or channel.
Timezone, 1 operation
get_company_timezonesGet company timezonesGETRetrieve timezone information for all users in the company.
Unique event, 1 operation
get_unique_calendar_eventsGet unique calendar eventsGETGet deduplicated calendar meetings for users with connected Google Calendar.
Unrated count, 1 operation
get_unrated_category_countGet unrated category countGETGet count of uncategorized applications and websites.
Unsubscribe, 1 operation
unsubscribe_notificationUnsubscribe notificationPOSTUnsubscribe from a specific notification type or channel. This endpoint disables notifications for a specific type, allowing users to opt-out of receiving certain notifications.
Use Time Doctor from Claude Code, Cursor or Codex
Connect Time Doctor in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Time Doctor operations become tools the client can call, next to every other integration you connected.
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}How to connect Time Doctor
- Create your workspace
Sign up free. Nothing to install.
- Connect Time Doctor once
Add your Time Doctor connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.
- Describe the job in chat
The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.
Time Doctor integration FAQ
What can you do with the Time Doctor integration?
LiveContext exposes 112 operations on Time Doctor, covering user, project, tag and task.
