> ## 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.

# Asana audit profile, Vortex IQ

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

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

Surfaces the daily ops questions a cross-functional ecommerce team lives with in Asana: is the token still good, is the backlog drowning, are people overloaded, and (most importantly) are the findings we filed actually getting completed or quietly dying in the queue? Closes the loop from audit\_finding → Asana task → completion → regression detection.

## What this audit checks

### Authentication & access

* Personal access token still valid (auth on /users/me)
* Default project exists, is not archived, and is writable
* Finding-id custom field resolvable in the workspace (round-trip join key present)
* Asana rate-limit headroom > 30% (150/min free, 1500/min premium)

### Backlog health

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

### VortexIQ findings lifecycle (the stickiness test)

* Abandoned findings - VortexIQ-created tasks, completed=false, modified\_at >14d
* Finding resolution rate over rolling 90d (target >75%)
* Avg time-to-fix for completed findings, by priority
* Findings closed Won't-Do without a comment (silent dismissals)
* Regression rate - findings reopened (completed flipped back to false) after completion

### Team capacity

* Assignees with >10 open tasks (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 sprint window started)

### Cross-connector signals

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