Toggl Track

App · Project Management · 15 actions

Start and stop timers, log and edit time entries, report hours by project, client or team member, and keep Toggl Track projects and clients up to date.

Actions

ActionWhat it does
Create clientAdd a client to group projects under.
Create projectAdd a project, optionally for a client.
Create time entryLog time you already spent, from a start time and either an end time or a duration.
Delete clientPermanently delete a client.
Delete projectPermanently delete a project.
Delete time entryPermanently delete a time entry.
Get running timerSee what's being tracked right now, and for how long.
Get summary reportTotal hours tracked in a workspace between two dates, by project, client or team member.
List clientsYour clients, optionally only those matching a name.
List projectsYour projects, optionally only those matching a name or a client.
List time entriesYour time entries between two dates, newest first, with project and client names and the total hours.
Start timerStart tracking time now.
Stop timerStop the timer that's running.
Update projectRename a project, change its client, or archive or restore it.
Update time entryChange a time entry's description, project, times, tags or billable status.

Create client

Add a client to group projects under.

Inputs

NamenametextRequired
The client's name.
Workspaceworkspace_idtext
Where to create the client. Leave empty for your default workspace.

Outputs

clientobject
The client that was created.
Example output
{
  "client": {
    "archived": false,
    "id": 4012345701,
    "name": "Initech",
    "workspace_id": 7654321
  }
}

Create project

Add a project, optionally for a client.

Inputs

NamenametextRequired
The project's name.
Clientclient_idtext
The client the project is for.
Workspaceworkspace_idtext
Where to create the project. Leave empty to use the client's workspace, or your default one.

Outputs

projectobject
The project, as it is now.
Example output
{
  "project": {
    "archived": false,
    "client_id": 61234567,
    "client_name": "Acme Corp",
    "id": 4012345701,
    "name": "Mobile app",
    "workspace_id": 7654321
  }
}

Create time entry

Log time you already spent, from a start time and either an end time or a duration.

Inputs

Descriptiondescriptiontext
What the time is for, as it shows in Toggl Track.
Projectproject_idtext
The project the time belongs to.
Startstartdate and timeRequired
When the work started.
Endenddate and time
When the work ended. Leave empty to give a duration instead.
Duration (minutes)duration_minutesnumber
How long the work took, in minutes. Use this or End.At least 1.
Tagstagslist
Tags to put on the time.
Billablebillabletrue/false
Whether the time is billable. Billable time needs a paid Toggl Track plan.

Outputs

time_entryobject
The time entry that was created.
Example output
{
  "time_entry": {
    "billable": false,
    "client_name": "Acme Corp",
    "description": "Design review",
    "duration_hours": 0.75,
    "duration_seconds": 2700,
    "duration_text": "0:45:00",
    "end": "2026-09-25T13:45:00Z",
    "id": 4012345701,
    "project_id": 201234567,
    "project_name": "Website redesign",
    "running": false,
    "start": "2026-09-25T13:00:00Z",
    "tags": [
      "meetings"
    ],
    "workspace_id": 7654321
  }
}

Delete client

Permanently delete a client. Its projects are kept, without a client.

Inputs

Clientclient_idtextRequired
The client to delete.

Outputs

already_deletedtrue/false
True when it was already gone before this step.
client_idnumber
ID of the deleted client.
deletedtrue/false
Always true: the client no longer exists.
Example output
{
  "already_deleted": false,
  "client_id": 61234568,
  "deleted": true
}

Delete project

Permanently delete a project. Its time entries are kept, without a project.

Inputs

Projectproject_idtextRequired
The project to delete.

Outputs

already_deletedtrue/false
True when it was already gone before this step.
deletedtrue/false
Always true: the project no longer exists.
project_idnumber
ID of the deleted project.
Example output
{
  "already_deleted": false,
  "deleted": true,
  "project_id": 201234568
}

Delete time entry

Permanently delete a time entry. Deleting one that's already gone succeeds.

Inputs

Time entrytime_entry_idtextRequired
The time entry's ID, from an earlier step such as Start timer, Create time entry or List time entries.

Outputs

already_deletedtrue/false
True when it was already gone before this step.
deletedtrue/false
Always true: the time entry no longer exists.
time_entry_idnumber
ID of the deleted time entry.
Example output
{
  "already_deleted": false,
  "deleted": true,
  "time_entry_id": 4012345603
}

Get running timer

See what's being tracked right now, and for how long.

Inputs

None.

Outputs

runningtrue/false
True when a timer is running right now.
time_entryobject
The running time entry, or null when none is running.
Example output
{
  "running": true,
  "time_entry": {
    "billable": false,
    "client_name": "Acme Corp",
    "description": "Fixing the header",
    "duration_hours": 0.75,
    "duration_seconds": 2712,
    "duration_text": "0:45:12",
    "end": null,
    "id": 4012345604,
    "project_id": 201234567,
    "project_name": "Website redesign",
    "running": true,
    "start": "2026-09-25T14:14:48Z",
    "tags": [],
    "workspace_id": 7654321
  }
}

Get summary report

Total hours tracked in a workspace between two dates, by project, client or team member. Covers any dates, not just recent ones.

Inputs

Fromfrom_datedateRequired
The first day to include.
Toto_datedate
The last day to include. Leave empty for today.
Group bygroup_bytext
How to break the time down. Default: Project.One of: projects (Project), clients (Client), users (Team member).
Workspaceworkspace_idtext
The workspace to report on. Leave empty for your default workspace.

Outputs

from_datetext
The first day included (YYYY-MM-DD).
group_bytext
How the time is grouped: projects, clients or users.
groupslist
One row per project, client or team member, most time first.
to_datetext
The last day included (YYYY-MM-DD).
total_hoursnumber
All the time tracked, in hours to two decimal places.
total_secondsnumber
All the time tracked, in seconds.
workspace_idnumber
ID of the workspace the report covers.
Example output
{
  "from_date": "2026-09-21",
  "group_by": "projects",
  "groups": [
    {
      "hours": 6.0,
      "id": 201234567,
      "name": "Website redesign",
      "seconds": 21600
    },
    {
      "hours": 0.5,
      "id": null,
      "name": "No project",
      "seconds": 1800
    }
  ],
  "to_date": "2026-09-25",
  "total_hours": 6.5,
  "total_seconds": 23400,
  "workspace_id": 7654321
}

List clients

Your clients, optionally only those matching a name.

Inputs

Namenametext
Only clients whose name contains this. An exact match comes first.

Outputs

clientslist
The clients, an exact name match first, then by name.
countnumber
How many clients there are.
firstobject
The first client listed (the exact match, if there is one), or null.
Example output
{
  "clients": [
    {
      "archived": false,
      "id": 61234567,
      "name": "Acme Corp",
      "workspace_id": 7654321
    },
    {
      "archived": false,
      "id": 61234568,
      "name": "Globex",
      "workspace_id": 7654321
    }
  ],
  "count": 2,
  "first": {
    "archived": false,
    "id": 61234567,
    "name": "Acme Corp",
    "workspace_id": 7654321
  }
}

List projects

Your projects, optionally only those matching a name or a client.

Inputs

Namenametext
Only projects whose name contains this. An exact match comes first.
Clientclient_idtext
Only this client's projects.
Include archivedinclude_archivedtrue/false
Also list archived projects.

Outputs

countnumber
How many projects there are.
firstobject
The first project listed (the exact match, if there is one), or null.
projectslist
The projects, an exact name match first, then by name.
Example output
{
  "count": 2,
  "first": {
    "archived": false,
    "client_id": null,
    "client_name": null,
    "id": 201234568,
    "name": "Internal",
    "workspace_id": 7654321
  },
  "projects": [
    {
      "archived": false,
      "client_id": null,
      "client_name": null,
      "id": 201234568,
      "name": "Internal",
      "workspace_id": 7654321
    },
    {
      "archived": false,
      "client_id": 61234567,
      "client_name": "Acme Corp",
      "id": 201234567,
      "name": "Website redesign",
      "workspace_id": 7654321
    }
  ]
}

List time entries

Your time entries between two dates, newest first, with project and client names and the total hours. Reaches back about three months, up to 1,000 entries.

Inputs

Fromfrom_datedateRequired
The first day to include.
Toto_datedate
The last day to include. Leave empty for today.
Projectproject_idtext
Only time tracked to this project.

Outputs

countnumber
How many time entries there are. Toggl lists at most 1,000.
from_datetext
The first day included (YYYY-MM-DD).
time_entrieslist
The time entries, newest first.
to_datetext
The last day included (YYYY-MM-DD).
total_hoursnumber
Their combined duration in hours, to two decimal places.
total_secondsnumber
Their combined duration in seconds, counting a running timer so far.
Example output
{
  "count": 3,
  "from_date": "2026-09-24",
  "time_entries": [
    {
      "billable": false,
      "client_name": "Acme Corp",
      "description": "Client call",
      "duration_hours": 1.5,
      "duration_seconds": 5400,
      "duration_text": "1:30:00",
      "end": "2026-09-25T10:30:00Z",
      "id": 4012345601,
      "project_id": 201234567,
      "project_name": "Website redesign",
      "running": false,
      "start": "2026-09-25T09:00:00Z",
      "tags": [
        "meetings"
      ],
      "workspace_id": 7654321
    },
    {
      "billable": true,
      "client_name": "Acme Corp",
      "description": "Writing the proposal",
      "duration_hours": 2.5,
      "duration_seconds": 9000,
      "duration_text": "2:30:00",
      "end": "2026-09-24T15:30:00Z",
      "id": 4012345602,
      "project_id": 201234567,
      "project_name": "Website redesign",
      "running": false,
      "start": "2026-09-24T13:00:00Z",
      "tags": [
        "writing"
      ],
      "workspace_id": 7654321
    },
    {
      "billable": false,
      "client_name": null,
      "description": "",
      "duration_hours": 0.5,
      "duration_seconds": 1800,
      "duration_text": "0:30:00",
      "end": "2026-09-24T09:00:00Z",
      "id": 4012345603,
      "project_id": null,
      "project_name": null,
      "running": false,
      "start": "2026-09-24T08:30:00Z",
      "tags": [],
      "workspace_id": 7654321
    }
  ],
  "to_date": "2026-09-25",
  "total_hours": 4.5,
  "total_seconds": 16200
}

Start timer

Start tracking time now. If a timer is already running, Toggl Track stops it first.

Inputs

Descriptiondescriptiontext
What the time is for, as it shows in Toggl Track.
Projectproject_idtext
The project the time belongs to.
Tagstagslist
Tags to put on the time.
Billablebillabletrue/false
Whether the time is billable. Billable time needs a paid Toggl Track plan.

Outputs

time_entryobject
The running time entry that was started.
Example output
{
  "time_entry": {
    "billable": false,
    "client_name": "Acme Corp",
    "description": "Fixing the header",
    "duration_hours": 0.0,
    "duration_seconds": 0,
    "duration_text": "0:00:00",
    "end": null,
    "id": 4012345701,
    "project_id": 201234567,
    "project_name": "Website redesign",
    "running": true,
    "start": "2026-09-25T15:00:00Z",
    "tags": [
      "writing"
    ],
    "workspace_id": 7654321
  }
}

Stop timer

Stop the timer that's running. If none is, nothing changes.

Inputs

None.

Outputs

stoppedtrue/false
True when a timer was running and is now stopped; false when none was running.
time_entryobject
The time entry that was stopped, or null when none was running.
Example output
{
  "stopped": true,
  "time_entry": {
    "billable": false,
    "client_name": "Acme Corp",
    "description": "Fixing the header",
    "duration_hours": 0.75,
    "duration_seconds": 2712,
    "duration_text": "0:45:12",
    "end": "2026-09-25T15:00:00Z",
    "id": 4012345604,
    "project_id": 201234567,
    "project_name": "Website redesign",
    "running": false,
    "start": "2026-09-25T14:14:48Z",
    "tags": [],
    "workspace_id": 7654321
  }
}

Update project

Rename a project, change its client, or archive or restore it. Only what you fill in changes.

Inputs

Projectproject_idtextRequired
The project to change.
New namenametext
A new name for the project.
Clientclient_idtext
The client the project is for from now on.
Archivedarchivedtrue/false
Yes archives the project, so no new time goes to it. No restores it.

Outputs

projectobject
The project, as it is now.
Example output
{
  "project": {
    "archived": false,
    "client_id": 61234568,
    "client_name": "Globex",
    "id": 201234569,
    "name": "Old brochure",
    "workspace_id": 7654321
  }
}

Update time entry

Change a time entry's description, project, times, tags or billable status. Only what you fill in changes.

Inputs

Time entrytime_entry_idtextRequired
The time entry's ID, from an earlier step such as Start timer, Create time entry or List time entries.
Descriptiondescriptiontext
What the time is for, as it shows in Toggl Track.
Projectproject_idtext
The project the time belongs to.
Startstartdate and time
A new start time.
Endenddate and time
A new end time. Giving a running timer an end stops it.
Add tagsadd_tagslist
Tags to add. The entry keeps the tags it has.
Billablebillabletrue/false
Whether the time is billable. Billable time needs a paid Toggl Track plan.

Outputs

time_entryobject
The time entry, as it is after the change.
Example output
{
  "time_entry": {
    "billable": false,
    "client_name": "Acme Corp",
    "description": "Kickoff call with Acme",
    "duration_hours": 1.5,
    "duration_seconds": 5400,
    "duration_text": "1:30:00",
    "end": "2026-09-25T10:30:00Z",
    "id": 4012345601,
    "project_id": 201234567,
    "project_name": "Website redesign",
    "running": false,
    "start": "2026-09-25T09:00:00Z",
    "tags": [
      "meetings",
      "invoiced"
    ],
    "workspace_id": 7654321
  }
}

On this page