> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vortexiq.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Teamwork audit profile, Vortex IQ

> What the Vortex IQ Teamwork health audit checks: Teamwork: Backlog, Capacity & Finding Lifecycle

**[Nerve Centre KPIs](/nerve-centre/kpi-cards/teamwork) · [Audit Profile](/nerve-centre/kpi-cards/teamwork/audit) · [Sentiment Settings](/nerve-centre/kpi-cards/teamwork/sentiment)**

Surfaces the daily ops questions a client-services agency lives with in Teamwork: is the token still good, is the backlog drowning, are people overloaded across the client portfolio, and (most importantly) are the findings we filed actually getting completed or quietly dying in the queue while billable time accrues? Closes the loop from audit\_finding → Teamwork task → completion → regression detection, with the Teamwork-specific billable-margin overlay.

## What this audit checks

### Authentication & access

* API key still valid (auth on /me.json)
* Default project exists, is not archived, and is writable
* Finding-id custom field resolvable on the Site (round-trip join key present)
* Teamwork rate-limit headroom > 30% (429 with Retry-After on exhaustion)

### Backlog health

* Open task count vs 30-day baseline (sudden growth = drowning signal)
* Blocked task-list task count + change WoW
* Oldest open task age (>90 days = backlog rot)
* Unassigned tasks > 5 (work that nobody owns)
* Completion drift - tasks in a Done task-list never marked complete

### VortexIQ findings lifecycle (the stickiness test)

* Abandoned findings - VortexIQ-created tasks, completed=false, lastChangedOn >14d
* Finding resolution rate over rolling 90d (target >75%), per retainer client
* Avg time-to-fix for completed findings, by priority
* Findings completed without a close comment (silent dismissals / paused-client closes)
* Regression rate - findings reopened (completed flipped back to false) after completion
* Abandoned-with-logged-time - stale finding tasks accruing billable minutes (Teamwork-specific margin leak)

### Team capacity & billable margin

* Assignees with >10 open tasks across clients (overload signal)
* Assignees with zero completed tasks in 14d (parked work)
* Cycle time degradation > 25% week-over-week
* Sprint scope-creep (tasks added after the date-bounded task-list window started)
* Per-client resolution-rate vs logged-hours skew (working-but-not-closing margin pattern)

### Cross-connector signals

* Critical findings from sibling connectors (shopify/bigcommerce/adobe/cybersource) older than 7 days with no Teamwork task - coverage gap
* Teamwork 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://{site}.teamwork.com/me.json` - Token + account info
* `GET https://{site}.teamwork.com/projects/api/v3/projects.json` - Default project access + status/archived/writability check
* `GET https://{site}.teamwork.com/projects/api/v3/projects/{projectId}/tasklists.json` - Task-list name → status\_category mapping
* `GET https://{site}.teamwork.com/projects/api/v3/tasks.json` - Task reads (open count, blocked, abandoned, by-assignee, throughput, cycle/lead time, findings)
* `GET https://{site}.teamwork.com/projects/api/v3/people.json` - Assignee resolution + capacity calc
