What this audit checks
Authentication & access
- Open API client id + secret valid (auth on /account) and not revoked
- Correct account/data region reachable
- Connector account has Helpdesk read scope (tickets + operators)
- All expected stores readable (Plus / Premium multi-store aggregation complete)
Backlog health
- Open ticket count vs 30-day baseline (sudden growth = drowning signal)
- Blocked ticket count + change WoW (warn >3, critical >8)
- Oldest open ticket age (>90 days = backlog rot)
- Backlog-by-priority skew (Highest+High >50% of open = firefighting)
- Backlog-by-status distribution (open / pending / solved / closed mix)
Throughput & capacity
- Tickets resolved (7d) dropped >25% vs prior week
- Avg cycle-time degradation >25% week-over-week
- Avg lead time above 14 days (sustained)
- Operators with >10 open tickets (overload signal)
- Unassigned tickets > 5 (warn) / > 20 (critical) - work nobody owns
- Sprint scope-creep (>15% added after the triage window started)
VortexIQ findings lifecycle (the stickiness test)
- Abandoned findings - vortex_iq-tagged tickets, no team-side activity >14d (customer + Lyro replies excluded)
- Finding resolution rate over rolling 90d (target >75%, alert <50%)
- Avg time-to-fix for resolved findings (>14d sustained)
- Lyro AI auto-replying to vortex_iq tickets without resolving them (exclusion rule misconfigured)
- Findings closed by Workflow auto-solve without an underlying fix (inflated rate)
Cross-channel: revenue-at-risk (the killer area)
- Critical findings from sibling connectors (shopify/bigcommerce/adobe) older than 7 days with NO Tidio ticket - coverage gap
- Abandoned finding-tickets on returns/checkout clusters rising while a commerce sibling’s refund_rate climbs - measured-but-not-fixed revenue leak
- Open findings >25 for 3+ weeks predicting a conversion-rate dip on the commerce sibling
- High-LTV customers (top decile per commerce sibling) waiting on unresolved vortex_iq tickets
Severity thresholds
| Signal | Warn | Critical |
|---|---|---|
vortexiq_findings_open | 12 | 20 |
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 |
scope_creep_pct | 15 | 30 |
Data sources
GET https://api.tidio.com/account- Token + account/region sanityGET https://api.tidio.com/helpdesk/tickets- Backlog reads: status/priority counts, oldest-open, abandoned-findings, blocked, by-storeGET https://api.tidio.com/v1/tickets- Finding-ticket lifecycle reads (open, in-flight, resolved, time-to-fix)GET https://api.tidio.com/v1/tickets/count- Finding resolution-rate numerator/denominator counts (avoids list-cap lag)GET https://api.tidio.com/operators- Operator inventory + capacity calc (assignee load, overload)GET https://api.tidio.com/contacts- Contact lookup for cross-channel email join to commerce customer