---
title: "Integrations - Timesheet.io"
url: "https://docs.unified.to/integrations/timesheetio"
description: "Build Timesheet.io integrations faster with our Unified API — HR & Directory data, API key, real-time sync."
date: "2026-11-15T02:57:26.964Z"
updated: "2026-11-15T02:57:26.964Z"
---

# Timesheet.io integration

> What this integration supports through the Unified.to API, by object. Live data: `GET https://api.unified.to/unified/integration?type=timesheetio` with your workspace API key (or Core MCP `list_unified_integrations` with `type: "timesheetio"`). All integrations: https://docs.unified.to/integrations.md

## Overview

- **Type:** `timesheetio`
- **Categories:** [HR & Directory](https://docs.unified.to/hris/overview.md), [Tasks](https://docs.unified.to/task/overview.md), [Passthrough](https://docs.unified.to/passthrough/overview.md)
- **Website:** https://timesheet.io
- **Vendor API docs:** https://api.timesheet.io
- **Launched:** 2026-11-14

## How end users connect

- **API key** entered by the end user: `API Key`
    - In Timesheet.io open Developer &gt; API Keys (https://my.timesheet.io/development/apikeys), click Create API Key, choose the permissions for the data you want to read or change, and copy the key (format ts_xxxxxxxx.yyyy…). It is shown only once.

## Supported objects

| Object | Methods | Webhooks |
| --- | --- | --- |
| [hris_company](#hris_company) | list, get | none |
| [hris_employee](#hris_employee) | list | none |
| [hris_group](#hris_group) | list, get, create, update, remove | created, updated |
| [hris_timeshift](#hris_timeshift) | list, get, update, remove | created, updated |
| [passthrough](#passthrough) | none | none |
| [task_project](#task_project) | list, get, create, update, remove | created, updated |
| [task_task](#task_task) | list, get, create, update, remove | created, updated |

Values below come from the integration's support data. "Required list filters" must be sent on list calls; "Required on create" fields must be sent when creating. Webhook events are `native` (pushed by the vendor) or `virtual` (polled by Unified.to). Anything not listed is not supported; an unsupported method returns `501`.

### hris_company

- **Methods:** `list`, `get`
- **Webhooks:** none
- **List filters:** `list_limit`, `list_offset`, `list_order`, `list_sort_by_created_at`, `list_sort_by_name`
- **Readable fields:** `created_at`, `id`, `name`, `updated_at`
- **Writable fields:** none
- **Vendor objects:** `OrganizationDto`
- **Model:** https://docs.unified.to/hris/company/model.md

### hris_employee

- **Methods:** `list`
- **Webhooks:** none
- **List filters:** `list_company_id`, `list_group_id`, `list_limit`, `list_offset`, `list_query`
- **Readable fields:** `emails`, `employee_number`, `employment_status`, `first_name`, `id`, `image_url`, `last_name`, `name`
- **Writable fields:** none
- **Vendor objects:** `Member`
- **Model:** https://docs.unified.to/hris/employee/model.md

### hris_group

- **Methods:** `list`, `get`, `create`, `update`, `remove`
- **Webhooks:** `created` (native), `updated` (native)
- **List filters:** `list_limit`, `list_offset`, `list_order`, `list_sort_by_created_at`, `list_sort_by_name`
- **Readable fields:** `company_id`, `created_at`, `description`, `id`, `name`, `type`, `updated_at`
- **Writable fields:** `company_id`, `description`
- **Required on create:** `name`
- **Vendor objects:** `TeamDto`
- **Model:** https://docs.unified.to/hris/group/model.md

### hris_timeshift

- **Methods:** `list`, `get`, `update`, `remove`
- **Webhooks:** `created` (native), `updated` (native)
- **List filters:** `list_company_id`, `list_end_lt`, `list_limit`, `list_offset`, `list_order`, `list_sort_by_created_at`, `list_start_gte`, `list_user_id`
- **Readable fields:** `company_id`, `created_at`, `employee_user_id`, `end_at`, `group_id`, `id`, `start_at`, `updated_at`
- **Writable fields:** `end_at`, `start_at`
- **Vendor objects:** `TaskDto`
- **Model:** https://docs.unified.to/hris/timeshift/model.md

### passthrough

- **Methods:** none
- **Webhooks:** none
- **Readable fields:** none
- **Writable fields:** none

### task_project

- **Methods:** `list`, `get`, `create`, `update`, `remove`
- **Webhooks:** `created` (native), `updated` (native)
- **List filters:** `list_limit`, `list_offset`, `list_order`, `list_sort_by_created_at`, `list_sort_by_name`
- **Readable fields:** `created_at`, `description`, `group_ids`, `has_tasks`, `id`, `name`, `updated_at`
- **Writable fields:** `description`, `group_ids`
- **Required on create:** `name`
- **Vendor objects:** `ProjectDto`
- **Model:** https://docs.unified.to/task/project/model.md

### task_task

- **Methods:** `list`, `get`, `create`, `update`, `remove`
- **Webhooks:** `created` (native), `updated` (native)
- **List filters:** `list_limit`, `list_offset`, `list_order`, `list_project_id`, `list_sort_by_created_at`, `list_sort_by_name`, `list_status`
- **Readable fields:** `assigned_user_ids`, `created_at`, `due_at`, `id`, `name`, `notes`, `project_id`, `updated_at`
- **Writable fields:** `due_at`, `notes`
- **Required on create:** `name`, `project_id`
- **Vendor objects:** `ToDoDto`
- **Model:** https://docs.unified.to/task/task/model.md
