Skip to content

Integration · Payroll & HR

workingtimer.com

Connect Claude & ChatGPT to Working Timer

Ask your AI who is punched in right now, how many hours someone worked last month, or to log a missed shift in Working Timer. It can punch profiles in and out, start and stop breaks, create and correct work records, and manage projects and activities. It can also read vacation, sick day and overtime requests and accept or reject them.

Connect Working Timer free

Free plan, no credit card. Takes about a minute.

Try asking

  • “Is Anna punched in right now?”

    The AI finds Anna's profile and reads her timer status: whether the timer is running, elapsed time and break status.

  • “How many hours did Jonas work in August?”

    It gets the monthly summary of worked hours for his profile.

  • “Log yesterday for Mikkel: 8:00 to 16:00 with 30 minutes break on the Harbor project.”

    It finds the profile and project and creates a work record with clock-in, clock-out, break minutes and project.

What your AI can do

Punch clock

Punch profiles in and out, start or stop breaks and check the timer status for any employee.

Work records and reports

List, create, update and delete work records, get monthly summaries and generate work reports for a period.

Projects, activities and requests

Create and update projects and activities, search customers and companies, and accept, reject or cancel vacation, sick day and overtime requests.

  • “Which vacation requests are waiting?”

    It lists work requests of type vacation and shows who asked for which dates.

  • “Accept Sara's vacation request and add a note that coverage is sorted.”

    It sets the request state to accepted with your comment. Sara sees the decision.

  • “Make a work report for Peter for the first half of September.”

    It generates a work report for his profile for the period with aggregated hours and work data.

71 tools for Working Timer

These tools are switched on when you connect. You can switch any of them off, or require your approval before it runs.

  • attach_documentChanges dataLink a document (entity id). API summary: Attach an external link to an entity.
  • create_activityChanges dataCreate an activity with `name`, a new GUID as `id` and the `company_id` it belongs to (find it with search_companies). Set `is_global` to make it available on all projects.
  • create_bulkVisible to othersCreate a new bulk. Required: template, start date or end date. Has effects visible outside this system. API summary: Bulk insert work records for a date range using a template record. Creates one work record per qualifying day (weekdays by default).
  • create_counter_toggleChanges dataCreate a new toggle for a counter. API summary: Toggle punch -- punches in if the timer is stopped, or punches out if the timer is running.
  • create_messageChanges dataCreate a new message. Required: content, year, month, day or profile id. API summary: Create or update a note for a specific profile and date. If a note already exists for the given date, its content is replaced.
  • create_profileChanges dataCreate a new profile. Required: id or name. Search profiles first to avoid duplicates. API summary: Create a new profile for the authenticated account. If ProfileGuid is not provided or is empty, a new GUID is generated automatically.
  • create_projectChanges dataCreate a project with `name` and a new GUID as `id`; optionally `customer_id`, `budget`, `start_date`, `deadline` and `description`. Search first to avoid duplicates.
  • create_work_recordChanges dataLog a work record for a profile (`profile_id` required) on a date given as `year`, `month`, `day`. Times are minutes since midnight in `clock_in`/`clock_out` (540 = 9:00); add `break_minutes`, `project_id`, `activity_id`, `note` or `record_type` (e.g. vacation).
  • create_work_record_customfieldChanges dataCreate a new customfield for a work record. Required: value. API summary: Create or update a custom field on a work record. If a field with the same parent custom field ID already exists, it is updated; otherwise a….
  • create_work_requestChanges dataCreate a work request for a profile (`profile_id`) with a `request_type` (vacation, sickDay, overtime, dayOff and others) and `records` holding start/stop timestamps in Unix milliseconds.
  • create_work_request_messageChanges dataCreate a new message for a work request. Required: text. API summary: Add a comment to a work request. Comments are limited to 2000 characters.
  • delete_documentDeletesPermanently delete a document by file id. Destructive action; may require approval. API summary: Delete an attachment.
  • delete_messageDeletesPermanently delete a message by day. Destructive action; may require approval. API summary: Delete a note for a specific profile and date.
  • delete_profileDeletesPermanently delete a profile by profile id. Destructive action; may require approval. API summary: Delete a profile by its GUID. Associated work records are not deleted.
  • delete_projectDeletesPermanently delete a project by project id. Destructive action; may require approval. API summary: Delete a project by its GUID. Work records referencing this project are not deleted.
  • delete_taskDeletesPermanently delete a task by task id. Destructive action; may require approval. API summary: Delete an activity by its GUID. Work records referencing this activity are not deleted.
  • delete_work_recordDeletesPermanently delete a work record by `guid`. This cannot be undone.
  • delete_work_record_customfieldDeletesPermanently delete a customfield by field id. Destructive action; may require approval. API summary: Delete a custom field from a work record by field GUID.
  • find_custom_fields_by_display_nameSearch custom fields by search or entity type. Use this to find existing custom fields before creating a new custom field. Results are paginated. API summary: Find custom fields by display name.
  • generate_work_reportChanges dataGenerate a work report for a profile (`profile_id`) from `period_start` to `period_end`, with aggregated hours and work data.
  • get_a_single_attachment_by_its_file_idGet one document by file id. API summary: Get a single attachment by its file ID.
  • get_auth_statusGet the current status of a auth. API summary: Get current account status including authentication state, subscription tier, daily/monthly API usage, quota limits, and active API key coun….
  • get_by_profileGet one by profile by profile id. Results are paginated. API summary: Get all work records for a specific profile, ordered by date descending.
  • get_by_rangeGet one by range by profile id. API summary: Get all notes for a profile within a date range, ordered by date ascending.
  • get_companyGet one company by company id. Results are paginated. API summary: Get all activities belonging to a specific company, ordered by name ascending.
  • get_company_2Get one company by company id. Results are paginated. API summary: Get all projects belonging to a specific company, ordered by name ascending.
  • get_company_getGet one company by company id. Results are paginated. API summary: Get all profiles belonging to a specific company, ordered by name ascending.
  • get_customerGet one customer by customer id. Results are paginated. API summary: Get all projects assigned to a specific customer, ordered by name ascending.
  • get_documentGet one document by entity id. API summary: List all attachments for a specific entity (workrecord, profile, or project).
  • get_downloadGet one download by file id. API summary: Download a file attachment. For link attachments, redirects to the external URL.
  • get_messageGet one message by day. API summary: Get a note for a specific profile and date.
  • get_monthly_summaryGet a summary of worked hours for a profile (`profile_id`) in a given `year` and `month`, with totals only.
  • get_profileGet one employee profile by `profile_id`, including work schedule, hourly rate and vacation settings.
  • get_projectGet one project by `project_id`, including customer, budget, dates and description.
  • get_project_2Get one project by project id. Results are paginated. API summary: Get all work records assigned to a specific project, ordered by date descending.
  • get_project_getGet one project by fiscal year. Results are paginated. API summary: Get all projects for a specific fiscal year, ordered by name ascending.
  • get_taskGet one task by task id. API summary: Get a single activity by its unique GUID.
  • get_task_getGet one task by activity id. Results are paginated. API summary: Get all work records assigned to a specific activity, ordered by date descending.
  • get_timer_statusGet the punch clock state for a profile by `profile_id`: whether the timer is running, elapsed time and break status.
  • get_work_recordGet one work record by `guid`, including clock-in/out times, breaks, project, activity and custom fields.
  • get_work_requestGet one work request by `guid`, including its type, dates and state.
  • list_activitiesList all activities (task categories used on work records), ordered by name.
  • list_profilesList all employee profiles in your account, ordered by name. Use `page` and `limit` to page through.
  • list_projectsList all projects, ordered by name. Set `include_archived` to also show archived projects.
  • list_quotaList quota. API summary: Get the current storage quota usage for the authenticated account.
  • list_testsList tests. API summary: Validate an API key for Zapier and other integrations.
  • list_usagesList usages. Optional filters: days. API summary: Get detailed daily API usage history for the authenticated account. Returns per-day request counts and timestamps, plus aggregate totals.
  • list_work_record_customfieldsList customfields for a work record. API summary: Get all custom fields attached to a specific work record.
  • list_work_recordsList work records for the whole account, newest first, optionally between `from_date` and `to_date` (ISO dates).
  • list_work_records_by_dateList work records between `from_date` and `to_date`, optionally for one employee with `profile_id`.
  • list_work_request_messagesList messages for a work request. API summary: Get all comments for a work request, ordered by creation date ascending.
  • list_work_requestsList work requests (vacation, sick day, overtime and similar), newest first, filtered by `state` or `type`.
  • punch_inChanges dataPunch a profile in by `profile_id`, starting their work timer.
  • punch_outChanges dataPunch a profile out by `profile_id`, stopping the timer and creating a work record for the elapsed time.
  • search_activitiesSearch activities by name or external ID with `search_term`. Use this to find an activity ID.
  • search_companiesList or search your companies by name, email, city, phone or VAT number with `search`. Use this to find the `company_id` needed when creating an activity.
  • search_custom_fieldsSearch custom fields by search or entity type. Use this to find existing custom fields before creating a new custom field. Results are paginated. API summary: Find custom fields by display name.
  • search_customersList or search customers by name, external ID or description with `search`.
  • search_documentsSearch documents by search. Use this to find existing documents before creating a new document. Results are paginated. API summary: List all attachments for the authenticated account.
  • search_entity_idsSearch entity ids by entity type or search. Use this to find existing entity ids before creating a new entity id. Results are paginated. API summary: Search entities and return only their display name, public ID, and entity type.
  • search_entity_ids_getSearch entity ids by entity type or search. Use this to find existing entity ids before creating a new entity id. Results are paginated. API summary: Search entities and return only their display name, public ID, and entity type.
  • search_profilesSearch employee profiles by name or external ID with `search_term`. Use this to find a profile ID.
  • search_projectsSearch projects by name or external ID with `search_term`. Use this to find a project ID.
  • set_work_request_stateVisible to othersAccept, reject or cancel a work request by `guid` with `state`, plus an optional `comment`. The employee sees the decision.
  • toggle_breakChanges dataStart or stop a break for a punched-in profile by `profile_id`. Break time is subtracted from the worked time.
  • update_documentChanges dataUpdate an existing document identified by file id. API summary: Rename an attachment.
  • update_profileChanges dataUpdate an existing profile identified by profile id. Only the fields you pass are changed. API summary: Partially update an existing profile by its GUID. Only provided fields are changed; omitted fields are left unchanged.
  • update_projectChanges dataUpdate a project by `project_id`: name, customer, budget, dates, description or archived state. Only the fields you pass change.
  • update_taskChanges dataUpdate an existing task identified by task id. Only the fields you pass are changed. API summary: Partially update an existing activity by its GUID. Only provided fields are changed; omitted fields are left unchanged.
  • update_work_recordChanges dataUpdate a work record by `guid`: times, breaks, project, activity, note or flags. Only the fields you pass change.
  • upload_documentChanges dataUpload a document (entity id). API summary: Upload a file attachment to an entity. Maximum file size is 25 MB. Most file types are allowed (documents, images, videos, archives).

Set up in three steps

  1. 1

    Pick the app

    Create a free HeyMyApps account and choose Working Timer from the app list.

  2. 2

    Paste your key

    Paste your Working Timer API key (it starts with wt_ak_). You need an active Working Timer Public API plan or trial. Sign in at api.workingtimer.com, open API Keys in the API Dashboard, click New Key, name it and click Create. The key is shown only once.

  3. 3

    Add the link to your AI

    You get a personal MCP link. Add it to Claude, ChatGPT or Cursor:

    1. Click your name, then Settings › Connectors › Add custom connector.
    2. Paste your link as the Remote MCP server URL.
    3. Switch it on from the + menu in a chat.

Questions

What can the AI do in Working Timer?

The AI can read and search profiles, projects, activities, customers, companies, work records and work requests, and check timer status and monthly summaries. It can punch profiles in and out, toggle breaks, create and update work records and projects, create activities and work requests, generate work reports, set the state of a work request and delete work records.

Does the AI see my Working Timer API key?

No. Your Working Timer API key is encrypted at rest and never shown to the AI. After you save it, it is not shown again, not even to you. The AI only sees the results of the tools it calls.

Can I control what the AI is allowed to do?

Yes. You choose which tools are switched on, so you can start with reading hours only. Deleting a work record is permanent, and accepting or rejecting a request is visible to the employee. Both can require your approval before they run. Every tool call is logged.

Does it work with ChatGPT?

Yes. In ChatGPT go to Settings › Apps & Connectors › Advanced and turn on Developer mode, then add your HeyMyApps link. Developer mode needs a paid ChatGPT plan: Plus, Pro, Business or Enterprise. The same link also works in Claude (Settings › Connectors › Add custom connector), Cursor and other MCP clients.

What does it cost?

HeyMyApps has a free plan with no credit card required. Paid plans bill per completed task. You also need your own Working Timer account with an active Public API plan or trial.

How do I find an employee's profile ID?

You do not need to. Ask by name and the AI searches profiles by name or external ID to find the profile ID, then uses it for punching in, work records or reports. The same goes for projects and activities.

Let your AI work in Working Timer today.

Start free. Your key stays encrypted, and you decide what the AI may do.

Connect Working Timer free

HeyMyApps is not affiliated with Working Timer. Product names are trademarks of their owners.