What this audit checks
Authentication & access
- OAuth2 access token still valid (auth on /api/v2/user)
- Workspace (Team) resolvable and at least one vortex_iq_outbound List is writable
- vortexiq_finding_id custom field exists on the outbound Lists
- ClickUp rate-limit headroom > 30% (100 req/min/token on free tier)
Backlog health
- Open-task count vs 30-day baseline (sudden growth = drowning signal)
- Blocked-status task count + change WoW
- Oldest open task age (>90 days = backlog rot)
- Unassigned tasks > 5 (work that nobody owns)
- Backlog-by-priority skew (mostly low priority = no one is grooming)
VortexIQ findings lifecycle (the stickiness test)
- Abandoned findings - VortexIQ-created tasks, no date_updated change >14d
- Finding resolution rate over rolling 90d (target >75%, closed-type only)
- Avg time-to-fix for closed findings, by priority
- Findings closed to a Won’t-Do status without a comment (silent dismissals)
- Regression rate - findings reopened after reaching a closed status
Team capacity
- Assignees with >10 open tasks (overload signal)
- Assignees with zero closed tasks in 14d (parked work)
- Cycle time degradation > 25% week-over-week
- Sprint scope-creep (tasks added after sprint start, Sprints ClickApp Spaces)
Cross-connector signals
- Critical findings from sibling connectors (shopify/bigcommerce/adobe/cybersource) older than 7 days with no ClickUp task - coverage gap
- ClickUp tasks referencing decommissioned/archived integrations - stale work
Severity thresholds
| Signal | Warn | Critical |
|---|---|---|
vortexiq_findings_abandoned | 5 | 15 |
vortexiq_finding_resolution_rate | 75 | 50 |
blocked_tickets | 3 | 8 |
unassigned_tickets | 5 | 20 |
oldest_open_ticket_age_days | 60 | 90 |
cycle_time_change_pct | 25 | 50 |
rate_limit_headroom_pct | 30 | 10 |
Data sources
GET https://api.clickup.com/api/v2/user- Token + account infoGET https://api.clickup.com/api/v2/team- Workspace (Team) resolutionGET https://api.clickup.com/api/v2/list/{list_id}- List metadata + status.type mapping + writability checkGET https://api.clickup.com/api/v2/list/{list_id}/task- Paged task reads (open count, blocked, abandoned, by-assignee, resolution rate)GET https://api.clickup.com/api/v2/list/{list_id}/member- Assignee resolution + capacity calcGET https://api.clickup.com/api/v2/space/{space_id}/folder- Sprint-folder discovery for sprint progress + velocity