Skip to main content
Card class: HeroCategory: Project Management

At a glance

The percentage of Vortex IQ-filed Freshdesk tickets that the merchant team has actually closed in the last 90 days. Designed to answer the merchant question: “is the audit programme working, or am I paying for findings that nobody actions?” A green reading (>75%) means audit insight is converting into shipped fixes. Amber (50-75%) means findings land but the team strains. Red (<50%) means the audit programme is broken at the people-and-process layer, not the detection layer.
What it countsresolved_or_closed_findings_90d / (resolved_or_closed_findings_90d + open_findings_90d) × 100, expressed as a percent of Vortex IQ-tagged tickets created in the last 90 days now in Resolved (status 4) or Closed (status 5).
NumeratorTickets with tag:vortex_iq AND (status:4 OR status:5) AND created_at >= now-90d.
DenominatorAll tickets with tag:vortex_iq AND created_at >= now-90d, regardless of state.
Status filterResolved (4) and Closed (5) count as resolved; Open (2) and Pending (3) count as unresolved. Pending is treated as unresolved because in Freshdesk that state freezes the SLA clock and on a Vortex IQ ticket usually means “waiting on a developer”, not “waiting on a customer”.
Issue type filterAll Vortex IQ-tagged tickets included. The category sub-tags (vortex_iq:catalogue, vortex_iq:checkout, vortex_iq:performance, vortex_iq:seo) do not filter the rate; they exist for breakdown views.
Project / board scopeCross-Product. Aggregated across every Freshdesk Product the connector token can read (Pro/Enterprise plans support multiple Products under one account). Set vortex_iq.product_filter to scope.
Resolution countsResolved and Closed are both counted as resolved. Freshdesk treats Closed as the immutable, archived state; Resolved is the day-to-day “fixed” state. The rate does not distinguish them.
Reopened ticketsIf a ticket is resolved then reopened within 90 days, it counts as unresolved at the moment of measurement. The rate is recalculated each refresh.
API endpointGET /api/v2/search/tickets?query="tag:'vortex_iq' AND created_at:>{{now-90d}} AND (status:4 OR status:5)" for the numerator, then a second call for total population. The Freshdesk Search API caps at 300 results per query (10 pages × 30) so very large backlogs (rare) trigger a fallback to the bulk Tickets API with client-side filtering.
Bot-handled ticketsIncluded. Freddy AI replies do not change status by default; only a workflow or human moving the ticket to status 4/5 affects the numerator.
Time window90D rolling. Anchored on the filing date; an old finding closed today does NOT count if it was filed more than 90 days ago.
Alert trigger<50%. At 50% you are leaving as many findings open as you close, the point at which the backlog grows faster than the team clears it.
Sentiment thresholdsGood >= 75%, warn 50-75%, critical <50%.
Time zoneAccount timezone in Admin -> Account -> Helpdesk Settings -> Time zone.
Rolesowner, operations

Calculation

Calculated automatically from your Freshdesk data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.

Worked example

A UK fashion SMB on Shopify running Freshdesk Growth ($15/agent/month) with two Products (Retail UK, Wholesale). Snapshot taken on 02 May 26 at 14:30 BST, looking back over the rolling 90 days from 02 Feb 26.
BucketCountNotes
Vortex IQ tickets filed in window62Two thirds Retail UK, one third Wholesale
Resolved (Retail UK)28Most closed within 5 days
Closed (Retail UK, archived)6Resolved >7 days ago, auto-closed
Resolved (Wholesale)3B2B-pricing fixes, slower cycle
Closed (Wholesale, archived)1A single B2B SKU correction
Still open across both Products24Open + Pending
Resolution rate(28 + 6 + 3 + 1) / 62 = 38 / 62 = 61.3%Amber, above 50% but below 75%
The card reads 61%, sitting in the amber band. Five observations:
  1. The rate is mathematically anchored on the filing date, not the closure date. A finding filed 03 Feb 26 and closed today still counts; a finding filed 12 Mar 26 and still open today counts against. As the audit programme matures, sustaining a high rate requires disciplined triage. New customers see green easily; mature programmes work for it.
  2. 61% is healthy for an SMB on Freshdesk Growth. Freshdesk SMB customers typically have 2-5 agents handling everything (sales, support, audit follow-up). 61% means the team is shipping more findings than they file, which is the correct direction. The benchmark for a 3-agent SMB team is 55-70%.
  3. The Wholesale Product is dragging the rate. 4 closed out of an estimated 18 filed = 22% resolution. B2B teams typically have less Freshdesk discipline than retail teams (smaller queue, manual workflows, less SLA pressure). Set up a Product-specific Freshdesk view and assign a single owner for findings on that Product. On Growth plan, a workflow trigger that auto-tags the Vortex IQ Wholesale ticket and routes it to the wholesale rep is free and high-leverage.
  4. 24 open is a leading indicator of capacity strain, not engagement. Pair with fre_open_tickets. If global Freshdesk backlog is also above the team’s normal mark, this rate dropping is symptomatic of CS overload, not of audit-programme failure. The action is to add capacity (a temp agent) or to enable Freddy AI auto-resolve for low-impact category findings; not to question the audit.
  5. Reconcile with shopify.refund_rate. If refund rate is steady or falling AND this card sits at 61%, the audit programme is paying for itself. If refund rate is climbing despite findings being closed, the team is closing the wrong findings (cosmetic ones over revenue-impacting ones). The fix is to triage by impact, not by ease.
  6. Freshdesk’s Search API page cap (300) does not affect this card. The cap matters for the Open count. The Resolution Rate card uses the search count endpoint (single integer) so even at 1,000+ findings the rate is computed correctly. SMBs rarely exceed 300 anyway.

Sibling cards merchants should reference together

CardWhy pair it with Finding Resolution RateWhat the combination tells you
VortexIQ Findings OpenThe unresolved-count counterpart.Open count high + resolution rate low equals findings filed but never closed, the worst possible state.
Abandoned Findings (>14d no movement)The “silent-leak” subset. Abandoned findings are guaranteed denominators with no numerator contribution.Abandoned rising while this rate falls equals the team is losing ground specifically on the audit queue.
Avg Time-to-Fix (days)Cycle-time peer. The rate tells you whether findings close; this tells you how fast once they do.Rate green + time-to-fix slow equals team eventually ships but late; rate red + time-to-fix fast equals team ships some quickly and abandons the rest.
Open Tickets (all)Total Freshdesk backlog context.Both elevated equals CS team overloaded; rate dropping in isolation equals findings deprioritised specifically.
Avg Cycle TimeTriage-health peer for the whole queue.Cycle time creeping up while this rate falls equals systemic triage breakdown. Inspect Top Assignees Overloaded.
Refund Rate (Shopify / BigCommerce / Adobe)The downstream truth metric an audit programme should protect.Refund rate flat or falling + rate at 60%+ equals the programme is paying for itself; refund rate climbing despite high resolution rate equals team is closing low-impact findings.
Customer Service Sentiment (Shopify)The retention-side outcome of running this programme well.Rate climbing + sentiment climbing equals the audit story works for the CXO; the “Vortex IQ pays for itself” narrative.
Datadog Operational Health ScoreSibling-platform health score for technical findings.Datadog health green + this rate green equals the team is keeping pace with both reliability and audit work. Healthy engineering culture indicator.

Reconciling against the vendor’s own dashboard

Where to look in Freshdesk’s own dashboard: Freshdesk does NOT provide a single “tag-scoped resolution rate” gauge, so this card is computed by Vortex IQ from the Search API. To verify it manually:
Analytics -> Curated Reports -> Ticket Volume with tag = vortex_iq, group by Status, set the date range to last 90 days. Read the percentage of Resolved + Closed against the total. That is the same calculation this card runs. Tickets list with tag:vortex_iq plus a Status: Resolved or Closed filter, gives the numerator population at a glance. Admin -> Workflows -> Ticket Filters to save the filter for future spot-checks.
For multi-Product accounts, prepend a Product = <name> filter. Why our number may legitimately differ from Analytics’ number:
ReasonDirectionWhy
Time zoneBoundary days offAnalytics honours the dataset’s configured timezone; the card uses the account-level timezone for the rolling 90-day window. For a 90-day window the gap is usually <1%.
Search API index lagOurs lower for “just now”Freshdesk’s Search API updates its index 30-90 seconds behind real-time ticket changes. A finding resolved seconds ago may not be in the numerator yet. Analytics is closer to real time.
Resolved-then-Closed transitionEitherBoth states count toward the numerator here, so this transition does not move the rate; if you build an Analytics view that filters Resolved-only, you get a different number.
Reopened ticketsOurs lowerIf a ticket was resolved then reopened in the 90-day window, we count it as unresolved at the moment of measurement. Some Analytics reports count “ever resolved” rather than “currently resolved”.
Multi-Product aggregationEitherWe aggregate; per-Product Analytics views are subsets.
Search API page capNegligibleThe card uses the count endpoint, which is unaffected by the 300-result cap that limits the Open count card.
Tag inclusionOurs stricterWe require literal tag:vortex_iq. Legacy tags (vortex, vortexiq_v1) on older tickets drop out of our population but may appear in some Analytics views.
Pending status semanticsOurs stricterWe treat Pending as unresolved. Some default Analytics views suppress Pending (the SLA clock is frozen).
Cross-connector reconciliation:
CardExpected relationshipWhat causes the divergence
shopify.refund_rate / bigcommerce.refund_rate / adobe_commerce.refund_rateInverse correlation. Higher resolution rate should reduce refund rate over a 4-8 week trailing window.Resolution rate up + refund rate up equals team is closing low-impact findings; resolution rate down + refund rate down equals findings were duplicates or stale.
shopify.customer_service_sentimentPositive correlation, 2-4 week lag.Sustained 70%+ resolution rate predicts CSAT lift of 2-4 points within a quarter. The retention-side payoff.
datadog.dd_health_scoreIndependent peer; correlates only when the audit is dominantly technical.Both green equals balanced engineering culture; technical findings closing fast and reliability holding.

Known limitations / merchant FAQs

The rate dropped 15 points this week. What changed? Three usual causes, in order of likelihood:
  1. Audit volume up. Vortex IQ filed more findings than usual. The denominator grew faster than the team’s closure rate. Often resolves itself within 2-3 weeks as the team clears the new findings.
  2. Capacity loss. A senior agent on holiday, a key engineer focused on a feature deploy, or temp churn. Pair with Open Tickets (all); if global backlog is also up, capacity is the answer.
  3. Triage-process drift. SLA on Vortex IQ-tagged tickets relaxed, or a Freddy automation turned off. Open Admin -> Workflows -> Automations and confirm the vortex_iq rules are still active.
A finding closed today but it was filed 95 days ago. Does it count? No. The window is anchored on the filing date, not the closure date. A ticket filed outside the 90-day window does not appear in the denominator at all, even if it just closed. This avoids “closed an old ticket today” gaming the metric. What is a healthy rate?
  • 75%+ : healthy. Audit programme is working; team has slack.
  • 60-75% : normal for a maturing programme. Acceptable.
  • 50-60% : warn. Team is straining; investigate triage process.
  • <50% : critical. Findings are filed faster than they are closed. The audit programme is not paying for itself.
Should I optimise for a higher rate? Not necessarily. A rate above 90% sustained for a quarter often means the audit thresholds are too generous (finding only obvious issues). Lower the audit threshold to surface more borderline issues; the rate will dip but the merchant outcome (lower refund rate, lower customer-service load) will improve. Resolved vs Closed, do they both count? Yes. Freshdesk treats Closed as the immutable, archived state and Resolved as the day-to-day “fixed” state. This card counts both as resolved. If you want a Resolved-only view, build a custom Analytics report. Can I use Freddy AI to auto-close low-impact findings? Yes, and you should for cosmetic categories. On Pro and Estate plans, Freddy can auto-resolve tickets when its confidence score crosses a threshold. Set up an automation: IF tag:vortex_iq:cosmetic AND Freddy confidence > 80% THEN status -> Resolved. This boosts the resolution rate honestly because the underlying issue is genuinely closed (Freddy ran a script-fix workflow, not just a canned reply). A reopened ticket dropped my rate by 1 point. Can I exclude it? A resolved ticket that gets reopened is genuinely no longer resolved, so the rate correctly drops. If reopens are common (>5% of resolved tickets), it points to a quality-of-fix problem, fixes are landing but not actually resolving the underlying issue. My team uses custom statuses. How does the card classify them? Custom statuses must be mapped to a built-in Freshdesk status (Open, Pending, Resolved, Closed). The card uses the underlying status code, not the custom label. So a custom status Awaiting Engineering mapped to Open is counted as unresolved. Confirm your mapping in Admin -> Workflows -> Ticket Fields -> Status. My account spans 4 Products on Pro plan. Why does the gauge show a single number? The card aggregates by default. To break out by Product, build a Stacked Panel in the Vortex IQ Nerve Centre with multiple instances, each scoped via vortex_iq.product_filter. Alternatively, build per-Product Analytics reports in Freshdesk for the same answer. Why is the alert threshold 50% and not 70%? 50% is the breakeven point at which the team is closing one finding for every one filed. Below 50% the backlog grows mathematically; above 50% it shrinks. A 70% threshold would over-page in the first quarter of any new audit programme, when finding volume legitimately exceeds team capacity by design. We are on Freshdesk Free plan. Will this card work? Yes, with caveats. The Free plan has a lower API rate limit (20 calls/min) and no Search API access on some tiers; the card falls back to the bulk Tickets API for accounts without Search and may show a 60-90 second refresh lag. Resolved/Closed status counting works on every Freshdesk plan including Free. Why is the rate lower than my Zendesk friend’s? Freshdesk SMB customers typically run smaller, less-specialised teams. The same audit programme run on Freshdesk vs Zendesk-Suite-Enterprise will see a 5-10 percentage-point gap in resolution rate purely due to team size and process maturity, not any defect in the Freshdesk product. Freshworks-owned tooling is fine; the team is the constraint.

Tracked live in Vortex IQ Nerve Centre

Finding Resolution Rate (90d) is one of hundreds of KPI pulses Vortex IQ tracks across Freshdesk and 70+ other ecommerce connectors. Nerve Centre runs the detection layer; Vortex Mind investigates the cause when something moves; Ask Viq lets you interrogate any number in plain English. Start for free or book a demo to see this metric running on your own data.