> AI agents: this is one page from PostHog's docs. Full index of Markdown docs for LLMs: https://posthog.com/llms.txt # Linking ClickUp as a source Canonical URL: https://posthog.com/docs/data-pipelines/sources/clickup > **Cloud region:** This page uses US Cloud hosts. For an EU Cloud project, use `https://eu.posthog.com` instead of `https://app.posthog.com` (app host for links). ## On this page - [Adding a data source](#adding-a-data-source) - [Available tables](#available-tables) - [Sync limitations](#sync-limitations) - [Configuration](#configuration) - [Supported tables](#supported-tables) ![](https://res.cloudinary.com/dmukukwp6/image/upload/texture_tan_9608fcca70) ![](https://res.cloudinary.com/dmukukwp6/image/upload/texture_tan_dark_a92b0e022d) 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. `npx @posthog/wizard warehouse` ![PostHog Wizard hedgehog](https://res.cloudinary.com/dmukukwp6/image/upload/wizard_3f8bb7a240.png) ![](https://res.cloudinary.com/dmukukwp6/image/upload/wizard_3f8bb7a240.png)Let AI connect your sources for you The ClickUp connector pulls your ClickUp data — workspaces, spaces, folders, lists, tasks, and goals — into the PostHog data warehouse. ## Adding a data source 1. Go to the [sources tab](https://app.posthog.com/data-management/sources) of the data pipeline section in PostHog. 2. Click **\+ New source** and then click **Link** next to ClickUp. 3. You need a personal API token and your workspace ID from ClickUp. Generate a personal token (it starts with `pk_`) under **Settings → Apps** in ClickUp. For the **Workspace ID**, you can paste the full URL from your browser (e.g., `https://app.clickup.com/12345678/home`) or enter just the numeric ID. 4. Back in PostHog, enter the `API token` and `Workspace ID`, then click **Next**. 5. Select the tables you want to sync, set the sync method and frequency, then click **Import**. Once the syncs are complete, you can start using ClickUp data in PostHog. ## Available tables | Table | Description | Sync method | | --- | --- | --- | | `workspaces` | Workspaces your token can access | Full refresh | | `spaces` | Spaces within the workspace | Full refresh | | `folders` | Folders within each space | Full refresh | | `lists` | Lists (folderless lists and lists within folders) | Full refresh | | `tasks` | Tasks within the workspace | Incremental | | `goals` | Goals within the workspace | Full refresh | **Incremental** tables sync only new or updated records on each run. **Full refresh** tables reload all data on each sync. ## Sync limitations Only the tasks table supports incremental sync, using `date_updated` as the cursor. The other tables are full refresh only. ## Configuration | Option | Type | Required | | --- | --- | --- | | `API token` | password | Yes | | `Workspace ID` | text | Yes | ## Supported tables | Table | Description | Sync method | Incremental field | Primary key | | --- | --- | --- | --- | --- | | `workspaces` | A ClickUp Workspace (Team) — the top-level container for spaces, members, and work. | Full refresh | — | — | | `spaces` | A Space within a workspace, grouping folders and lists for a team or area of work. | Full refresh | — | — | | `folders` | A Folder within a space that groups related lists. | Full refresh | — | — | | `lists` | A List of tasks, belonging either to a folder or directly to a space. | Full refresh | — | — | | `tasks` | A task — a unit of work tracked in ClickUp with status, assignees, and dates. | Incremental, Full refresh | date\_updated | — | | `goals` | A Goal — a measurable objective tracked in ClickUp, made up of targets. | Full refresh | — | — | | `time_entries` | A tracked block of time, optionally attached to a task, with its duration and billable flag. | Incremental, Full refresh | start | — | | `task_time_in_status` | How long a task has spent in each status, the basis for cycle and lead time. | Full refresh | — | — | | `custom_fields` | A Custom Field defined at workspace level, resolving the field IDs carried on tasks. | Full refresh | — | — | | `list_custom_fields` | A Custom Field accessible to a List, whether defined on the List or inherited from above it. | Full refresh | — | — |