Integration

timelink integration

timelink is a German time tracking service. With this API an agent can list, search, create, update and delete the clients, projects, services (billable activities), users and time entries of a timelink company, look records up by the external reference id they carry from another tool, list running time entries and overlap conflicts, read the company and its subscription, change which time entry fields are mandatory, and subscribe a URL to time entry webhooks. Image upload and image download, the Excel export of time entries, and the duplicate PUT variants of every update (the PATCH tools cover them) are not exposed. Authentication is a personal API token created in timelink under My account, API tokens, sent as a Bearer token.

Ask it in chat

Say what should happen.
The workflow builds itself.

When this happens, do that in timelink.Built from the 52 timelink tools below, on the connection you add once.

What you can do with timelink

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.

Ext, 14 operations

  • delete_client_by_external_idDelete client by external idDELETEDeletes the client whose external reference id (ext_tool_id) is this value; returns success and the deleted id.
  • delete_project_by_external_idDelete project by external idDELETEDeletes the project whose external reference id (ext_tool_id) is this value; returns success and the deleted id.
  • delete_service_by_external_idDelete service by external idDELETEDeletes the service whose external reference id (ext_tool_id) is this value; returns success and the deleted id.
  • delete_time_entry_by_external_idDelete time entry by external idDELETEDeletes the time entry whose external reference id (ext_tool_id) is this value; returns success and the deleted id.
  • delete_user_by_external_idDelete user by external idDELETEDeletes the user whose external reference id (ext_tool_id) is this value; returns success and the deleted id.
  • get_client_by_external_idGet client by external idGETReturns one client by its external reference id (ext_tool_id) instead of its timelink id.
  • get_project_by_external_idGet project by external idGETReturns one project by its external reference id (ext_tool_id) instead of its timelink id.
  • get_service_by_external_idGet service by external idGETReturns one service by its external reference id (ext_tool_id) instead of its timelink id.
  • get_time_entry_by_external_idGet time entry by external idGETReturns one time entry by its external reference id (ext_tool_id) instead of its timelink id.
  • get_user_by_external_idGet user by external idGETReturns one user by its external reference id (ext_tool_id) instead of its timelink id.
  • update_client_by_external_idUpdate client by external idPATCHChanges the given fields of a client, found by its external reference id (ext_tool_id). Send only the fields to change.
  • update_project_by_external_idUpdate project by external idPATCHChanges the given fields of a project, found by its external reference id (ext_tool_id). Send only the fields to change.
  • update_service_by_external_idUpdate service by external idPATCHChanges the given fields of a service, found by its external reference id (ext_tool_id). Send only the fields to change.
  • update_user_by_external_idUpdate user by external idPATCHChanges the given fields of a user, found by its external reference id (ext_tool_id). Send only the fields to change.

Client, 5 operations

  • create_clientCreate clientPOSTCreates a client (a customer you track time for). Only name is required; returns the new client with its timelink id.
  • delete_clientDelete clientDELETEDeletes the client with this timelink id; returns success and the deleted id.
  • get_clientGet clientGETReturns one client by its timelink id.
  • list_clientsList clientsGETLists the company's clients, optionally filtered by active state, a search term or ids. Returns up to limit records (vendor default 100).
  • update_clientUpdate clientPATCHChanges the given fields of a client, found by its timelink id. Send only the fields to change; leave the others out to keep them.

Project, 5 operations

  • create_projectCreate projectPOSTCreates a project, usually under a client (client_id, or ext_client_id for a client known by its external reference id). Only name is required; returns the new project.
  • delete_projectDelete projectDELETEDeletes the project with this timelink id; returns success and the deleted id.
  • get_projectGet projectGETReturns one project by its timelink id.
  • list_projectsList projectsGETLists the company's projects, optionally filtered by active state, a search term or ids. Returns up to limit records (vendor default 100).
  • update_projectUpdate projectPATCHChanges the given fields of a project, found by its timelink id. Send only the fields to change; leave the others out to keep them.

Search, 5 operations

  • search_clientsSearch clientsPOSTSame filters as list_clients, sent as a JSON body, plus orders to sort the result. Returns up to limit records (vendor default 100).
  • search_projectsSearch projectsPOSTSame filters as list_projects, sent as a JSON body, plus orders to sort the result. Returns up to limit records (vendor default 100).
  • search_servicesSearch servicesPOSTSame filters as list_services, sent as a JSON body, plus orders to sort the result. Returns up to limit records (vendor default 100).
  • search_time_entriesSearch time entriesPOSTSame filters as list_time_entries, sent as a JSON body, plus orders to sort the result. Returns up to limit entries (vendor default 100) and meta.total.
  • search_usersSearch usersPOSTSame filters as list_users, sent as a JSON body, plus orders to sort the result. Returns up to limit records (vendor default 100).

Service, 5 operations

  • create_serviceCreate servicePOSTCreates a service (a kind of work you book time on, such as development or consulting). Only name is required; returns the new service.
  • delete_serviceDelete serviceDELETEDeletes the service with this timelink id; returns success and the deleted id.
  • get_serviceGet serviceGETReturns one service by its timelink id.
  • list_servicesList servicesGETLists the company's services, optionally filtered by active state, a search term or ids. Returns up to limit records (vendor default 100).
  • update_serviceUpdate servicePATCHChanges the given fields of a service, found by its timelink id. Send only the fields to change; leave the others out to keep them.

Time entry, 5 operations

  • create_time_entryCreate time entryPOSTBooks a time entry for a user. user_id and started_at are required; which of client_id, project_id, service_id, description and ended_at are also mandatory is company-specific: read it with list_required_time_entry_fields first.
  • delete_time_entryDelete time entryDELETEDeletes the time entry with this timelink id; returns success and the deleted id.
  • get_time_entryGet time entryGETReturns one time entry by its timelink id.
  • list_time_entriesList time entriesGETLists time entries, filtered by time range, client, project, service, user, billing state or text. Returns up to limit entries (vendor default 100); meta.total gives the full count.
  • update_time_entryUpdate time entryPATCHChanges the given fields of a time entry, found by its timelink id. Send only the fields to change; leave the others out to keep them.

User, 5 operations

  • create_userCreate userPOSTCreates a user in the company. Needs a token of a timelink admin. first_name, last_name and email are required; returns the new user.
  • delete_userDelete userDELETEDeletes the user with this timelink id; returns success and the deleted id.
  • get_userGet userGETReturns one user by its timelink id.
  • list_usersList usersGETLists the company's users, optionally filtered by active state, a search term or ids. Returns up to limit records (vendor default 100).
  • update_userUpdate userPATCHChanges the given fields of a user, found by its timelink id. Send only the fields to change; leave the others out to keep them.

Active, 1 operation

  • list_active_time_entriesList active time entriesGETLists time entries that are currently running (active timers). Returns up to limit entries.

Company, 1 operation

  • get_companyGet companyGETReturns the company behind the token: name, address, admin and invoice email, subscription (status, product, quantity, trial end), sync providers and time entry settings.

Conflict, 1 operation

  • list_time_entry_conflictsList time entry conflictsGETLists time entry conflicts: pairs a and b of time entry ids with a type (1 overlapping entries, 2 one entry inside the other, 9 a synchronization or other error on entry a, b then null).

Fields required, 1 operation

  • list_required_time_entry_fieldsList required time entry fieldsGETReturns the names of the time entry fields this company makes mandatory (for example client_id, description, ended_at, started_at, service_id). Call before create_time_entry.

Settings, 1 operation

  • update_company_settingsUpdate company settingsPATCHSets which time entry fields are mandatory and their default values for the whole company. Read the current settings with get_company first and send the whole timeEntries object back with your change.

Subscribe, 1 operation

  • subscribe_webhookSubscribe webhookPOSTSubscribes a URL to a time entry event (timeEntry.created, timeEntry.updated or timeEntry.deleted), active at once. Returns the subscription id for unsubscribe_webhook. Deliveries carry no signature, so they cannot be verified.

Token, 1 operation

  • get_tokenGet tokenGETReturns details of the API token in use: its id, name, abilities, last use, expiry and creation date. Useful to test the connection.

Unsubscribe, 1 operation

  • unsubscribe_webhookUnsubscribe webhookDELETERemoves a webhook subscription so its URL stops receiving events.

Use timelink from Claude Code, Cursor or Codex

Connect timelink in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its timelink operations become tools the client can call, next to every other integration you connected.

Claude Code
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"
Codex (~/.codex/config.toml)
[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"

[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"
Cursor, Claude Desktop and other JSON configs
{
  "mcpServers": {
    "livecontext": {
      "type": "http",
      "url": "https://livecontext.ai/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Set up the MCP server step by step

How to connect timelink

  1. Create your workspace

    Sign up free. Nothing to install.

  2. Connect timelink once

    Add your timelink connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.

  3. 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.

timelink integration FAQ

What can you do with the timelink integration?

LiveContext exposes 52 operations on timelink, covering ext, client, project and search.

Popular integrations

Browse the whole catalog