Skip to main content
Nerve Centre KPIs · Audit Profile · Sentiment Settings 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

SignalWarnCritical
vortexiq_findings_abandoned515
vortexiq_finding_resolution_rate7550
blocked_tickets38
unassigned_tickets520
oldest_open_ticket_age_days6090
cycle_time_change_pct2550
rate_limit_headroom_pct3010

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