What this audit checks
Authentication & access
- API access token still valid (auth on /users/me)
- Findings sheet exists, is reachable, and is writable by the token owner
- Required columns resolvable by title (Status, Priority, Assigned To, finding-id) - connector refuses to enable without them
- Smartsheet rate-limit headroom > 30% (300 requests/minute per token)
Backlog health
- Open row count vs 30-day baseline (sudden growth = drowning signal)
- Blocked-status row count + change WoW
- Oldest open row age via Created (Auto) (>90 days = backlog rot)
- Unassigned rows > 5 (empty Assigned To cell - work that nobody owns)
- Backlog-by-priority skew (mostly Lows = no one is grooming the sheet)
VortexIQ findings lifecycle (the stickiness test)
- Abandoned findings - VortexIQ-created rows, Status open AND Modified (Auto) >14d
- Finding resolution rate over rolling 90d (target >75%)
- Avg time-to-fix for resolved rows, by Priority
- Rows moved to Won’t Fix / Cancelled without a discussion comment (silent dismissals)
- Regression rate - rows whose Status flipped from a closed value back to an open value
Team capacity
- Assigned-To contacts with >10 open rows (overload signal)
- Assigned-To contacts with zero resolved rows in 14d (parked work)
- Cycle time degradation > 25% week-over-week
- Sprint scope-creep (rows added after the date-bounded sprint sheet window started)
Cross-connector signals
- Critical findings from sibling connectors (shopify/bigcommerce/adobe/cybersource) older than 7 days with no row in the Findings sheet - coverage gap
- Smartsheet rows 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.smartsheet.com/2.0/users/me- Token + account infoGET https://api.smartsheet.com/2.0/sheets- Findings-sheet discovery + writability checkGET https://api.smartsheet.com/2.0/sheets/{sheetId}- Full row read (Status/Priority/Assigned-To cells + Created/Modified Auto columns) - open count, blocked, abandoned, by-assignee, throughput, cycle/lead time, findingsGET https://api.smartsheet.com/2.0/sheets/{sheetId}/columns- Column id ↔ title mapping + dropdown option valuesGET https://api.smartsheet.com/2.0/users- Assigned-To resolution + capacity calc