What this audit checks
Authentication & access
- Integration token still valid (auth on /users/me)
- Findings database is shared with the integration and is not archived
- Status property exists on the database with mappable open / done option groups
- Notion rate-limit headroom > 30% (avg ~3 req/sec)
Backlog health
- Open page count vs 30-day baseline (sudden growth = drowning signal)
- Blocked-status page count + change WoW
- Oldest open page age via created_time (>90 days = backlog rot)
- Unassigned pages > 5 (work that nobody owns)
- Backlog-by-priority skew (mostly Lows = no one is grooming)
VortexIQ findings lifecycle (the stickiness test)
- Abandoned findings - VortexIQ-created rows, no edit (last_edited_time) >14d
- Finding resolution rate over rolling 90d (target >75%)
- Avg time-to-fix for resolved findings, by priority
- Findings moved to a Won’t-Do option without a comment (silent dismissals)
- Regression rate - findings whose Status reopened after reaching a Done group
Team capacity
- Assignees with >10 open pages (overload signal)
- Assignees with zero resolved pages in 14d (parked work)
- Cycle time degradation > 25% week-over-week
- Scope-creep - pages added to the current sprint property after sprint start
Cross-connector signals
- Critical findings from sibling connectors (shopify/bigcommerce/adobe/cybersource) older than 7 days with no Notion row - coverage gap
- Notion 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.notion.com/v1/users/me- Token + bot identityGET https://api.notion.com/v1/databases/{database_id}- Database schema + writability/share check + property mappingPOST https://api.notion.com/v1/databases/{database_id}/query- Filtered backlog reads (open count, blocked, abandoned, by-assignee, by-status)GET https://api.notion.com/v1/users- Workspace members for assignee capacity calcGET https://api.notion.com/v1/comments- Comment-thread checks for silent-dismissal detection