---
canonical_url: "https://docs.composio.dev/toolkits/toggl_track"
markdown_url: "https://docs.composio.dev/toolkits/toggl_track.md"
product: "platform"
version: null
last_updated: null
---

# Toggl Track

Toggl Track is a time tracking platform for recording work, managing projects and workspaces, producing reports, and configuring webhooks.

- **Category:** time tracking software
- **Auth:** API_KEY
- **Composio-managed OAuth available?** N/A
- **Tools:** 21
- **Triggers:** 0
- **Slug:** `TOGGL_TRACK`
- **Version:** 00000000_00

## Tools

### Bulk Update Time Entries

**Slug:** `TOGGL_TRACK_BULK_UPDATE_TIME_ENTRIES`

Apply the same description and/or billable state to 1 to 100 Toggl Track time entries in one provider-native request. Updates are non-atomic: Toggl Track performs no transaction or rollback, so some IDs can succeed while others fail; always inspect the returned per-ID success and failure lists.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `billable` | boolean | No | Replacement billable state shared by every selected time entry. |
| `description` | string | No | Replacement description shared by every selected time entry. |
| `workspace_id` | integer | Yes | Numeric ID of the workspace containing every time entry. |
| `time_entry_ids` | array | Yes | Unique numeric IDs of 1 to 100 time entries in the workspace. Every requested change is applied to each ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Client

**Slug:** `TOGGL_TRACK_CREATE_CLIENT`

Create a client in a workspace for grouping projects.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Client name. |
| `notes` | string | No | Optional notes about the client. |
| `workspace_id` | integer | Yes | Numeric workspace ID. |
| `external_reference` | string | No | Optional caller-owned external reference for the client. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Project

**Slug:** `TOGGL_TRACK_CREATE_PROJECT`

Create a project in a workspace for organizing time entries and tasks.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Project name. |
| `color` | string | No | Project color as a six-digit hexadecimal value, including the # prefix. |
| `active` | boolean | No | Whether the project starts active. |
| `end_date` | string | No | Optional project end date in YYYY-MM-DD format. |
| `client_id` | integer | No | Client ID to associate with the project. |
| `is_private` | boolean | No | Whether access to the project is restricted. |
| `start_date` | string | No | Optional project start date in YYYY-MM-DD format. |
| `workspace_id` | integer | Yes | Numeric workspace ID, available from LIST_WORKSPACES. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Task

**Slug:** `TOGGL_TRACK_CREATE_TASK`

Create a task under an active project for more specific time-entry assignment.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Task name. |
| `user_id` | integer | No | Optional user ID to assign; defaults to the requesting user. |
| `project_id` | integer | Yes | Numeric ID of the active parent project. |
| `workspace_id` | integer | Yes | Numeric workspace ID. |
| `estimated_seconds` | integer | No | Optional estimated task duration in seconds. |
| `external_reference` | string | No | Optional caller-owned external reference for the task. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Time Entry

**Slug:** `TOGGL_TRACK_CREATE_TIME_ENTRY`

Create a running or completed time entry in a workspace; omit duration and stop to start a running timer. Supplying tag names may also create tags that do not yet exist.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `stop` | string | No | Stop time as an RFC3339 UTC timestamp. If duration is also supplied, it must equal stop minus start. |
| `tags` | array | No | Tag names to attach; Toggl creates names that do not yet exist. |
| `start` | string | Yes | Start time as an RFC3339 UTC timestamp. |
| `tag_ids` | array | No | Existing tag IDs to attach. |
| `task_id` | integer | No | Task ID to assign. Requires project_id, and the task must belong to that project. |
| `billable` | boolean | No | Whether to mark the entry billable. |
| `duration` | integer | No | Completed duration in seconds. Omit with stop to create a running entry. |
| `project_id` | integer | No | Project ID to assign, available from LIST_WORKSPACE_RESOURCES. |
| `description` | string | No | What the tracked time is for. |
| `workspace_id` | integer | Yes | Numeric workspace ID, available from LIST_WORKSPACES. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Client

**Slug:** `TOGGL_TRACK_DELETE_CLIENT`

Permanently delete one client from a Toggl Track workspace.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `client_id` | integer | Yes | Numeric ID of the client to permanently delete. |
| `workspace_id` | integer | Yes | Numeric workspace ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Project

**Slug:** `TOGGL_TRACK_DELETE_PROJECT`

Delete one project while preserving its time entries by unassigning them from the project.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | integer | Yes | Numeric ID of the project to delete. |
| `workspace_id` | integer | Yes | Numeric ID of the workspace containing the project. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Task

**Slug:** `TOGGL_TRACK_DELETE_TASK`

Permanently delete one task from its parent project.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `task_id` | integer | Yes | Numeric ID of the task to permanently delete. |
| `project_id` | integer | Yes | Numeric ID of the task's parent project. |
| `workspace_id` | integer | Yes | Numeric workspace ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Time Entry

**Slug:** `TOGGL_TRACK_DELETE_TIME_ENTRY`

Permanently delete one time entry from a workspace.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `workspace_id` | integer | Yes | Numeric ID of the workspace containing the entry. |
| `time_entry_id` | integer | Yes | Numeric ID of the time entry to permanently delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Current Time Entry

**Slug:** `TOGGL_TRACK_GET_CURRENT_TIME_ENTRY`

Return the currently running time entry for the connected user, or indicate that no timer is running.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Current User

**Slug:** `TOGGL_TRACK_GET_CURRENT_USER`

Return the connected Toggl Track user's identity and defaults, including the default workspace ID, without exposing credentials.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Time Entry

**Slug:** `TOGGL_TRACK_GET_TIME_ENTRY`

Get one time entry by ID, with optional related-entity and sharing metadata.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `time_entry_id` | integer | Yes | Numeric ID of the time entry to retrieve. |
| `include_sharing` | boolean | No | Include sharing details for the time entry. |
| `include_metadata` | boolean | No | Include related project, task, client, and user display fields. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Time Entries

**Slug:** `TOGGL_TRACK_LIST_TIME_ENTRIES`

List the connected user's time entries in an explicit date range, optionally including related project, task, user, and sharing metadata.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `end_date` | string | Yes | Inclusive end bound as YYYY-MM-DD (the end of that UTC day) or an RFC3339 timestamp; must not precede start_date. |
| `start_date` | string | Yes | Inclusive start bound as YYYY-MM-DD (the start of that UTC day) or an RFC3339 timestamp. |
| `include_sharing` | boolean | No | Include time-entry sharing details. |
| `include_metadata` | boolean | No | Include related project, task, client, and user display fields. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Workspace Resources

**Slug:** `TOGGL_TRACK_LIST_WORKSPACE_RESOURCES`

Find projects, clients, tags, or tasks in a workspace and return their IDs for time-entry and resource-management tools.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `search` | string | No | Case-insensitive name text to match. Uses the client name filter and the provider search filter for projects, tags, and tasks. |
| `status` | string ("active" | "archived" | "both") | No | Active-state filter for projects, clients, and tasks. For projects and tasks, both omits the provider active filter. |
| `page_size` | integer | No | Maximum resources to return on this page (1-200). Ignored for the unpaginated client list. |
| `project_id` | integer | No | For resource_type=task, return tasks belonging to this project. |
| `next_cursor` | string | No | Opaque continuation cursor from a previous call with the same workspace, resource type, and filters. |
| `workspace_id` | integer | Yes | Numeric workspace ID, available from LIST_WORKSPACES. |
| `resource_type` | string ("project" | "client" | "tag" | "task") | Yes | Type of workspace resource to list: project, client, tag, or task. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Workspaces

**Slug:** `TOGGL_TRACK_LIST_WORKSPACES`

List workspaces accessible to the connected user and return the IDs needed by workspace-scoped tools, without exposing private tokens or calendar URLs.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Run Detailed Time Report

**Slug:** `TOGGL_TRACK_RUN_DETAILED_TIME_REPORT`

Return one page of detailed, grouped time-entry report rows for a workspace and date range, with an opaque cursor for the next page.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tag_ids` | array | No | Only include entries carrying these tag IDs. Use [null] to include only entries with no tags. |
| `end_date` | string | No | Report end date in YYYY-MM-DD format; must not precede start_date. Required when next_cursor is omitted. |
| `order_by` | string ("date" | "user" | "duration" | "description" | "last_update") | No | Field used to order report rows. |
| `task_ids` | array | No | Only include entries assigned to these task IDs. Use [null] to include only entries with no task. |
| `user_ids` | array | No | Only include entries created by these user IDs. |
| `page_size` | integer | No | Maximum grouped report rows to return on this page. |
| `client_ids` | array | No | Only include entries assigned to these client IDs. Use [null] to include only entries with no client. |
| `start_date` | string | No | Report start date in YYYY-MM-DD format. Required when next_cursor is omitted. |
| `description` | string | No | Only include entries whose description matches this text. |
| `next_cursor` | string | No | Opaque cursor returned by the previous report page. When supplied, the workspace, date range, filters, ordering, and page size are restored from it. |
| `project_ids` | array | No | Only include entries assigned to these project IDs. Use [null] to include only entries with no project. |
| `workspace_id` | integer | No | Numeric workspace ID, available from LIST_WORKSPACES. Required when next_cursor is omitted. |
| `time_entry_ids` | array | No | Only include these specific time-entry IDs. |
| `order_direction` | string ("ASC" | "DESC") | No | Ascending or descending report order. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Stop Time Entry

**Slug:** `TOGGL_TRACK_STOP_TIME_ENTRY`

Stop a currently running time entry and return its finalized timing data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `workspace_id` | integer | Yes | Numeric ID of the workspace containing the running entry. |
| `time_entry_id` | integer | Yes | Numeric ID of the running time entry to stop. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Client

**Slug:** `TOGGL_TRACK_UPDATE_CLIENT`

Update a client's name, notes, or external reference. Toggl Track requires the client's name on every update, even when it is unchanged.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Client name required by Toggl Track for every update. Send the current name unchanged when updating only notes or the external reference. |
| `notes` | string | No | Replacement client notes, or null to clear them. |
| `client_id` | integer | Yes | Numeric ID of the client to update. |
| `workspace_id` | integer | Yes | Numeric ID of the workspace containing the client. |
| `external_reference` | string | No | Replacement caller-owned external reference, or null to clear it. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Project

**Slug:** `TOGGL_TRACK_UPDATE_PROJECT`

Update a project's name, client, active state, privacy, color, or date range.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Replacement project name. |
| `color` | string | No | Replacement project color as a six-digit hexadecimal value including the # prefix. |
| `active` | boolean | No | Set false to archive the project or true to reactivate it. |
| `end_date` | string | No | Replacement end date as YYYY-MM-DD, or null to clear it. |
| `client_id` | integer | No | Replacement client ID, or null to remove the client association. |
| `is_private` | boolean | No | Replacement privacy state. |
| `project_id` | integer | Yes | Numeric ID of the project to update. |
| `start_date` | string | No | Replacement start date as YYYY-MM-DD. |
| `workspace_id` | integer | Yes | Numeric workspace ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Task

**Slug:** `TOGGL_TRACK_UPDATE_TASK`

Update a task's name, completion state, estimate, assignee, or external reference.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Replacement task name. |
| `active` | boolean | No | Set false to mark the task done or true to reopen it. |
| `task_id` | integer | Yes | Numeric ID of the task to update. |
| `user_id` | integer | No | Replacement assignee user ID, or null to unassign the task. |
| `project_id` | integer | Yes | Numeric ID of the task's parent project. |
| `workspace_id` | integer | Yes | Numeric workspace ID. |
| `estimated_seconds` | integer | No | Replacement estimated duration in seconds. |
| `external_reference` | string | No | Replacement caller-owned external reference, or null to clear it. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Time Entry

**Slug:** `TOGGL_TRACK_UPDATE_TIME_ENTRY`

Update the timing, description, assignment, billable state, or tags of an existing time entry. Provide at least one change; changing tags requires tag_action together with tags or tag_ids. Tag effects are verified against the returned time entry so an ignored update is reported as a failure.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `stop` | string | No | Replacement stop time as an RFC3339 UTC timestamp. |
| `tags` | array | No | Tag names to attach or detach according to tag_action. Adding a name that does not exist creates the tag. |
| `start` | string | No | Replacement start time as an RFC3339 UTC timestamp. |
| `tag_ids` | array | No | Existing tag IDs to attach or detach according to tag_action. |
| `task_id` | integer | No | Replacement task ID, or null to unassign the task. When changing the project assignment too, it must belong to the supplied project_id. |
| `billable` | boolean | No | Replacement billable state. |
| `duration` | integer | No | Replacement duration in seconds. |
| `project_id` | integer | No | Replacement project ID, or null to unassign the project and task. |
| `tag_action` | string ("add" | "delete") | No | Use add to attach supplied tags or tag_ids, or delete to detach them. |
| `description` | string | No | Replacement time-entry description. |
| `workspace_id` | integer | Yes | Numeric ID of the workspace containing the entry. |
| `time_entry_id` | integer | Yes | Numeric ID of the time entry to update. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
