TimeOps integration
TimeOps is a Danish time tracking app for teams and freelancers. List, create, update and delete customers, projects, tags and time registrations, start and stop a user's running timer, read a user's registrations for a period, and manage the organization's users (add, update, deactivate, remove; adding a user is billed). Authentication is an API key sent in the x-api-key header; keys are created in TimeOps under Integrationer (Integrations), Opret API nøgle, and the organization needs an active TimeOps Premium subscription (the API answers 402 otherwise).
Say what should happen.
The workflow builds itself.
What you can do with TimeOps
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.
Registration, 7 operations
create_registrationCreate registrationPOSTCreates a time registration for a user: userId and startedAt are required; stoppedAt, projectId, description, billable and tag ids are optional. Without stoppedAt it is a running registration. Returns the registration.delete_registrationDelete registrationDELETEDeletes a time registration by id and returns the deleted record.get_registrationGet registrationGETReturns one time registration by id: start and stop time, user, project, description, billable flag and tag ids.get_running_registrationGet running registrationGETReturns a user's running registration: the one with no stop time yet, such as a timer started with start_timer.list_registrationsList registrationsGETLists time registrations, filtered by user, project, date range or tag ids, one page at a time (page from 0, 100 per page by default). Returns results with page, pageSize and totalResults.list_user_registrationsList user registrationsGETLists one user's time registrations between from and to, in one list (whole days are included, the time of day is ignored). To filter by project or tags, use list_registrations.update_registrationUpdate registrationPUTUpdates a time registration by id. userId and startedAt are required on every update, and the vendor does not say whether other omitted fields are kept: read it with get_registration first and send back every value to keep.
User, 5 operations
create_userCreate userPOSTAdds a user with access to the organization. Billed: TimeOps charges the subscription for the new user at its next daily update, usually around 04:00. Returns the user with its id.deactivate_userDeactivate userPUTDeactivates a user: they can no longer log in or refresh their sign-in, and are no longer billed, but stay part of the organization.delete_userDelete userDELETERemoves a user from the organization: their access is removed and they no longer appear in the workspace. To block login but keep the user, use deactivate_user.list_usersList usersGETLists the organization's users: id, name, email, hourly rate, access level (User, ProjectManager or Admin) and deactivation date. Personal data of the team members.update_userUpdate userPUTUpdates a user's name, access level or hourly rate by id. Whether a field left out keeps its value is not documented: read the user with list_users first and send all three. Returns the user.
Customer, 4 operations
create_customerCreate customerPOSTCreates a customer. Every field is optional; send country and invoiceType too, since the vendor does not say what an omitted one becomes. Returns the customer with its id, which create_project needs.delete_customerDelete customerDELETEDeletes a customer by id and returns the deleted record.list_customersList customersGETLists every customer of the organization in one list: id, name, VAT number, street address, postal code, city, country, email, EAN number, invoice type and default hourly rate.update_customerUpdate customerPUTUpdates a customer by id. The vendor does not say whether a field left out keeps its value: read the customer with list_customers first and send every field it should keep along with your change. Returns the customer.
Project, 4 operations
create_projectCreate projectPOSTCreates a project for a customer: name and customerId (from list_customers) are required, billable, rate and finishedAt are optional. Returns the project with its id.delete_projectDelete projectDELETEDeletes a project by id and returns the deleted record. Refused while any time registration references the project: delete those registrations or move them to another project first.list_projectsList projectsGETLists every project of the organization in one list: id, name, customer id, billable flag, hourly rate and finished date (empty while the project is open).update_projectUpdate projectPUTUpdates a project by id. name and customerId are required on every update, and the vendor does not say whether other omitted fields are kept: read the project with list_projects first and send back every value to keep.
Tag, 4 operations
create_tagCreate tagPOSTCreates a tag with the given text. The answer is a list of tags (id and text); the vendor does not say whether it holds only the new tag or every tag.delete_tagDelete tagDELETEDeletes a tag by id and returns the deleted tag.list_tagsList tagsGETLists every tag of the organization (id and text). Registrations carry tag ids, and list_registrations filters on them.update_tagUpdate tagPUTChanges the text of a tag by id and returns the tag.
Timer, 2 operations
start_timerStart timerPOSTStarts a user's timer: creates a running registration (no stop time yet), optionally on a project with a description, billable flag and tag ids. End it with stop_timer. Returns the registration.stop_timerStop timerPOSTStops a user's running timer (their registration with no stop time) and returns that registration. Takes only the user id.
Connection, 1 operation
pingPingGETChecks the API key: returns the name of the organization it belongs to. A missing or invalid key answers 401, and an organization without TimeOps Premium answers 402.
Organization, 1 operation
get_organizationGet organizationGETReturns the organization the API key belongs to: name, VAT number, street address, postal code, city and country.
Use TimeOps from Claude Code, Cursor or Codex
Connect TimeOps in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its TimeOps 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 TimeOps
- Create your workspace
Sign up free. Nothing to install.
- Connect TimeOps once
Add your TimeOps 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.
TimeOps integration FAQ
What can you do with the TimeOps integration?
LiveContext exposes 28 operations on TimeOps, covering registration, user, customer and project.
