ClickUp Integration
This integration pulls your ClickUp task, time-tracking, and workspace data into Resplendent Data for dashboards and reporting.
What you can sync:
- Workspaces: Workspace details and metadata
- Workspace Members: Users in your Workspace
- Spaces: Spaces within your Workspace
- Folders: Folders inside Spaces
- Lists: Lists inside Spaces and Folders
- Tasks: Tasks with assignees, status, dates, and custom field references
- Custom Fields: Custom field definitions
- Task Custom Field Values: Values assigned to tasks for each custom field
- Time Entries: Tracked time with duration, billable flags, and user details
- Time Entry Tags: Tags available for time entries
Prerequisites
Section titled “Prerequisites”You’ll need:
- A ClickUp account with access to the Workspace you want to sync
- For OAuth: permission to authorize third-party apps
- For API token access: a personal API token from your ClickUp account settings
Setup instructions
Section titled “Setup instructions”Step 1: Open the integration form
Section titled “Step 1: Open the integration form”- Go to Settings → Integrations
- Find ClickUp and click Connect
Step 2: Choose an authentication method
Section titled “Step 2: Choose an authentication method”You can connect with OAuth or a Personal API Token.
OAuth
- Click the Sign In button
- A popup opens to ClickUp’s authorization page—log in if prompted
- Review the permissions and authorize Resplendent Data
- Close the popup and return to Resplendent Data
Personal API Token
- Click API Token
- Paste your Personal API Token into the field
- Click Validate Token
Step 3: Select your Workspace
Section titled “Step 3: Select your Workspace”After authorizing, choose the ClickUp Workspace you want to sync from the Workspace dropdown. Then click Save and Test.
Once connected, click Sync Datasets and select the tables you want to pull.
Available datasets
Section titled “Available datasets”| Dataset | Description | Sync type |
|---|---|---|
| Workspaces | Workspace metadata | Full sync |
| Workspace Members | Users and roles | Full sync |
| Spaces | Space names and settings | Full sync |
| Folders | Folder names and status | Full sync |
| Lists | List names and details | Full sync |
| Tasks | Tasks, status, dates, assignees, subtasks, linked tasks, and dependencies | Incremental |
| Custom Fields | Field definitions and types | Full sync |
| Task Custom Field Values | Per-task values | Full sync |
| Time Entries | Time tracking records | Incremental |
| Time Entry Tags | Available time entry tags | Full sync |
Sync behavior and refresh rates
Section titled “Sync behavior and refresh rates”The actual sync frequency is the greater of your tier’s refresh rate and the dataset’s fastest allowed interval.
| Dataset | Default interval | Fastest allowed | Notes |
|---|---|---|---|
| Tasks | 1 minute | 1 minute | Incremental. Batch size defaults to 100. |
| Time Entries | 1 minute | 1 minute | Incremental by date. Defaults to 90 days of history. Incremental refreshes look back 7 days by start time. Same-day duration, stop, and running-timer updates merge on Created At, not Start. Created At is the latest of ClickUp at, End, and the fetch time for running timers. No batch size setting. |
| All others | 24 hours | 60 minutes | Full sync |
History settings
Section titled “History settings”- Tasks: Uses batch pull size. Defaults to 100 rows per batch.
- Time Entries: You can set the number of days to pull. Defaults to 90 days, maximum is 3,650 days. Full history is pulled during the first sync when you enable the dataset.
Date handling
Section titled “Date handling”ClickUp stores dates in milliseconds. Resplendent converts them into standard datetime columns so they work with date filters and formatting.
Active timers
Section titled “Active timers”ClickUp’s date-range Time Entries API omits timers that are still running. Resplendent also fetches each member’s current timer from /time_entries/current and stores elapsed time as a positive Duration (hours) / Duration (ms) value with Running set to true.
Incremental sync applies those duration changes during the day. The warehouse merge only keeps an existing time-entry row when its last-update watermark is strictly newer than the stored copy. Time Entries merge on Created At. For a running timer, Created At is the time of the incremental fetch so elapsed hours can increase before the timer is stopped. Completed entries use the latest of ClickUp’s at value and End, so stopping a timer is not dropped as older than the last running fetch. Stored Time Entries datasets that still sort by Start are pointed at Created At on the next sync.
Note: ClickUp’s timesheet UI can display a stuck running timer differently from the public API (for example as a short “Unassigned” block). Resplendent follows the public API: running timers keep accumulating elapsed time until they are stopped in ClickUp.
Task links
Section titled “Task links”Tasks, Task Custom Field Values, and Time Entries include an automatic link to the original ClickUp task using https://app.clickup.com/t/{taskId}.
Troubleshooting
Section titled “Troubleshooting”- Authorization failed (OAuth): Complete the authorization in the popup and make sure your ClickUp account has access to at least one Workspace.
- Token validation failed: Confirm your personal API token is active and has not been revoked.
- No Workspaces listed: Verify your ClickUp account is a member of at least one Workspace. If using a personal token, make sure it belongs to the account that owns the Workspace.