Linking Toggl Track as a source

Let AI connect your sources for you

Skip the manual setup — run this in your project and the wizard auto-detects your databases and APIs and connects them to PostHog.

Learn more
PostHog Wizard hedgehog

Contents

The Toggl Track connector syncs your time tracking data – workspaces, projects, clients, tags, tasks, workspace users, and time entries – into PostHog, so you can analyze how your team spends time alongside your product data.

Prerequisites

You need a Toggl Track account and an API token. Find the token at the bottom of your Toggl Track profile settings.

The token determines what data the sync can read. Use a workspace admin's token to sync the time entries of every member and the list of workspace users. A non-admin token only sees the token owner's own time entries.

Adding a data source

  1. In PostHog, go to the Sources tab of the data pipeline section.
  2. Click + New source and click Link next to this source.
  3. Enter your credentials (see Configuration below) and click Next.
  4. Select the tables you want to sync, choose a sync method and frequency, then click Import.

Once the syncs are complete, you can start querying this data in PostHog.

When linking Toggl Track, you need:

  • API token – your Toggl Track API token from your profile settings.

Sync modes

Each table can be synced in one of several modes, depending on what the source supports:

  • Webhook (when available) – the source pushes changes to PostHog in real time. Fastest freshness, lowest ongoing cost, and the only mode that reliably captures updates and deletes.
  • Incremental – only new or updated rows are synced on each run, using a cursor field (such as an updated_at timestamp). Cheaper than a full refresh, but deletes aren't captured.
  • Append only – new rows are appended using a cursor field; existing rows are never updated. Ideal for immutable, append-only tables like event logs.
  • Full refresh – the whole table is reloaded on every sync. Use it when a table has no reliable cursor or when you need deletions reflected.

See sync methods for a full explanation of how each mode works and how to choose between them.

  • The projects and tasks tables support incremental sync via the at (last modified) field.
  • The time_entries table supports incremental sync on the start field with a default 7-day lookback window. Each incremental run re-reads the last 7 days to pick up recent timesheet corrections. Run a full refresh to catch edits to older entries, or configure a longer lookback in the schema settings.
  • The workspaces, clients, tags, and workspace_users tables use full refresh sync.

Rate limiting

Toggl Track limits API requests per hour based on your plan. On a smaller plan, the first sync of a large workspace can run out of requests before it finishes. If this happens, the sync retries automatically. Use incremental sync or sync fewer tables to reduce the number of requests each run needs.

Workspace access

The connector reads all workspaces the API token's user belongs to. Each table is synced across every workspace, with a few exceptions:

  • Plan restrictions – a table automatically skips any workspace whose Toggl Track plan does not include that data (e.g. tasks on a free plan).
  • Permission restrictions – the workspace_users table skips workspaces where the token's user is not an admin, since Toggl Track returns a 403 for non-admin users listing members.

Configuration

OptionTypeRequired
API tokenpasswordYes

Supported tables

TableDescriptionSync methodIncremental fieldPrimary key
workspaces

A Toggl Track workspace the API token's user belongs to. Workspaces hold projects, clients, tags and time entries.

Full refresh——
projects

A project in a Toggl Track workspace that time entries and tasks are tracked against.

Incremental, Full refreshat—
clients

A client in a Toggl Track workspace, which projects can belong to. Includes archived clients.

Full refresh——
tags

A tag in a Toggl Track workspace that can be added to time entries.

Full refresh——
tasks

A task in a project of a Toggl Track workspace. Includes done (inactive) tasks.

Incremental, Full refreshat—
workspace_users

A user in a Toggl Track workspace. Only synced for workspaces where the API token's user can list members, usually as an admin.

Full refresh——
time_entries

A time entry in a Toggl Track workspace, from the detailed report. Includes the entries of every user the API token's user can see in reports.

Incremental, Full refreshstart—

Troubleshooting

If your sync is failing or data looks wrong, see the Data warehouse troubleshooting guide. If that doesn't help, contact support – we're happy to help.

Still have questions?

Was this page useful?