Toggl Track

Connect & Ingest data from Toggl Track

Toggl Track is a time tracking tool used by teams and freelancers to log hours, manage projects, and generate reports. The Sling Toggl Track connector extracts data from the Toggl Track REST API v9, supporting user profiles, workspaces, projects, clients, tags, tasks, workspace users, and time entries.

circle-check

Setup

The following credentials are accepted:

Secrets:

  • api_token (required) -> Your Toggl Track API Token

Inputs (optional):

  • anchor_date -> Starting date for first sync of incremental endpoints (ISO 8601 format, e.g., 2024-01-01T00:00:00Z). Defaults to 90 days ago (Toggl API maximum lookback).

Getting Your API Token

  1. Click your profile icon (bottom-left corner)

  2. Go to Profile Settings

  3. Scroll down to API Token at the bottom of the page

  4. Copy the token (or click to reveal and copy)

circle-exclamation

Using sling conns

Here are examples of setting a connection named TOGGL_TRACK. We must provide the type=api property:

Environment Variable

See here to learn more about the .env.sling file.

Sling Env File YAML

See here to learn more about the sling env.yaml file.

Replication

Here's an example replication configuration to sync Toggl Track data to a PostgreSQL database:

Incremental sync for time entries:

Endpoints

Endpoint
Description
Incremental
Depends On

me

Authenticated user profile

No

β€”

workspaces

All workspaces for the authenticated user

No

β€”

projects

All projects across workspaces (active and archived)

No

workspaces

clients

All clients across workspaces

No

workspaces

tags

All tags across workspaces

No

workspaces

tasks

All tasks across workspaces (may require paid plan)

No

workspaces

workspace_users

All users in each workspace

No

workspaces

time_entries

Time entries with incremental sync support

Yes

β€”

The connector uses a queue-based architecture for workspace-dependent endpoints. The workspaces endpoint runs first and populates workspace IDs into a queue, which is consumed by projects, clients, tags, tasks, workspace_users. The time_entries and me endpoints are independent and do not depend on the queue.

To discover available endpoints:

Endpoint Details

me β€” Returns the authenticated user's profile including name, email, timezone, and default workspace.

workspaces β€” Returns all workspaces the user belongs to. Workspace IDs are queued for child endpoints.

projects β€” Returns all projects (both active and archived) within each workspace, including client associations, colors, billing status, and time tracking data. Supports page-based pagination.

clients β€” Returns all clients within each workspace, including both active and archived clients.

tags β€” Returns all tags defined in each workspace.

tasks β€” Returns all tasks across workspaces. Note: Tasks may require a paid Toggl plan and will return empty results on free plans. Supports page-based pagination.

workspace_users β€” Returns all users in each workspace with their roles and activity status.

time_entries β€” Returns time entries for the authenticated user within a date range. Supports incremental sync via the at (last modified) timestamp. Uses start_date and end_date parameters with a maximum 90-day lookback window (Toggl API limitation).

Incremental Sync

One endpoint supports incremental sync:

time_entries β€” Uses start_date and end_date parameters:

  • First run: Fetches all time entries from the last 90 days (or since anchor_date if provided, max 90 days)

  • Subsequent runs: Only fetches time entries modified after the last sync timestamp

  • Update key: at (the last-modified timestamp from Toggl)

circle-info

Toggl API Limitation: The start_date parameter cannot be more than 3 months (90 days) in the past. The connector automatically defaults to a 90-day lookback window.

All other endpoints run in full-refresh mode since they return complete datasets without server-side time-based filtering.

Rate Limiting

The Toggl Track API enforces rate limits:

  • Free plan: 30 requests per hour

  • Premium plan: 600 requests per hour

The connector automatically:

  • Uses conservative rate limiting (1 request/second with concurrency of 1)

  • Retries with exponential backoff on 429 (rate limit) responses, up to 5 attempts with a 10-second base

Common Use Cases

Sync All Toggl Data

Track Time Entries Incrementally

Export Projects and Clients

If you are facing issues connecting, please reach out to us at [email protected]envelope, on discordarrow-up-right or open a Github Issue herearrow-up-right.

Last updated

Was this helpful?