Tickets we created from audit findings that haven’t been resolved yet.
At a glance
The number of Linear issues Vortex IQ created from audit findings whosestate.typeis notcompletedorcanceled. Linear is the dev-team-focused, keyboard-driven PM tool with an opinionated cycle/project/roadmap model. Engineering teams using Linear typically run this card lower than marketing teams on Asana or ClickUp because Linear’s product design pushes hard on completion: every issue belongs to a cycle, every cycle ends, and unfinished work either rolls forward or gets cancelled.
| What it counts | Linear issues with vortexiq_finding_id set as a label or via the attribute field, AND state.type ∈ {backlog, unstarted, started}. We exclude state.type = 'completed' and state.type = 'canceled'. |
| API endpoint | Linear GraphQL (https://api.linear.app/graphql), query { issues(filter: {labels: {name: {eq: "vortex-iq-finding"}}, state: {type: {nin: [completed, canceled]}}}) { nodes { id, title, state {type, name}, updatedAt, assignee {name}, cycle {id, number}, project {id, name} } } }. We page via pageInfo.endCursor. |
| State-type filter | Linear maps every state to one of five types: triage, backlog, unstarted, started, completed, canceled. We treat triage, backlog, unstarted, and started as open; completed and canceled as resolved. |
| Closed issues excluded | Yes. The moment a teammate moves an issue to a completed or canceled state, Linear’s webhook fires and the issue drops from this count within seconds. |
| Archived issues | Excluded server-side. Linear archives issues automatically a configurable number of days after completion; archived issues are filtered by default in the GraphQL query. |
| Workspace scope | All Linear teams in the connected workspace tagged vortex_iq_outbound. Linear’s team is the unit of organisational scope (each team has its own cycles, states, and issue ID prefix). Multi-team merchants connect each team or filter via the connector setup. |
| Time window | RT. Refreshed within seconds of Linear’s webhook firing. Linear’s webhooks are the most reliable of any PM tool we connect to. |
| Alert trigger | > 20 open raises a warn-level alert. Engineering teams using Linear typically run lower than 20; the threshold catches drift early. |
| Time zone | Linear stores all timestamps as ISO-8601 UTC. The RT window aligns to UTC. |
| Multi-team aggregation | Yes. Each Linear team’s open count is summed; per-team stack panel available. |
| Cycles | Each issue belongs to zero or one cycle. We do not filter by cycle by default (a finding queued for a future cycle still counts as open); per-cycle filtering available in connector settings. |
| Roles | owner, operations |
Calculation
Calculated automatically from your Linear 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 US-based mid-market home-fitness brand on Shopify Plus, 22-person team with a dedicated 8-person engineering function. Engineering runs Linear; marketing runs HubSpot for tasks (so the audit-finding routing in connector setup sends only engineering-relevant findings to Linear). Snapshot taken on 02 May 26 at 11:00 EDT.| Linear team | State | Open count |
|---|---|---|
| ENG (engineering) | Triage | 2 |
| ENG | Backlog | 6 |
| ENG | In Progress | 4 |
| INFRA (site-reliability) | Triage | 1 |
| INFRA | Backlog | 3 |
| INFRA | In Progress | 2 |
| Total open | 18 |
- Below warn, comfortably. 18 open findings on an 8-person engineering function is workable; on a Linear team specifically this is the upper end of comfortable because Linear’s cycle model encourages a tighter open queue than tools like ClickUp or Monday. Watch the trend, not the level.
- The Triage cluster (3 items across two teams) is the read-now signal. Linear’s Triage state is “issue arrived but no team has decided to take it”; items sitting in Triage for more than a day mean the connector routing is pushing findings into teams that are not the right owners. Open the connector setup and reconfirm team mapping.
- The split between ENG and INFRA reflects the right routing. Six findings in ENG (mostly catalogue and storefront) versus six in INFRA (mostly Shopify webhook reliability and image CDN). Both teams have intentionally separate cycle cadences, so the open count reads cleanly.
- In Progress (6 across teams) is the active work. Linear’s
startedstate means an engineer has actively pulled the issue. With 8 engineers total, six In Progress items is high-utilisation but normal; if it exceeded engineer count, that would be a WIP-limit conversation. - Pair with Cycle progress. Linear’s cycles are weekly or biweekly. If the team is mid-cycle and 6 issues are In Progress with 3 days remaining, the cycle commitment is realistic. If the same shape appears with 1 day remaining, expect rollover.
Sibling cards merchants should reference together
On Linear, open count is the queue depth. The cycle-based model means several siblings carry strong signal:| Card | Why it matters next to Findings Open | What the combination tells you |
|---|---|---|
| Abandoned Findings (>14d no movement) | Linear’s strong cycle discipline means abandonment is rare; if it climbs, it’s signal. | A rising abandoned count on Linear is a more serious signal than on ClickUp or Monday because Linear teams rarely accumulate stale work by accident. |
| Finding Resolution Rate (90d) | Tells you whether the team is keeping up. | Resolution above 80% with open climbing equals over-finding by audit; below 65% is an execution problem on a Linear team (lower threshold than other PM tools). |
| VortexIQ Findings In Progress | Issues in started state. | High in-flight share equals engineers actively pulling; low equals findings noted but not picked up. |
| Avg Time-to-Fix (days) | Linear’s headline cycle-time number for findings. | Open up + time-to-fix up = stretched team. Linear’s cycle-time machinery is the richest of any PM connector. |
| Cycle Progress | Whether findings sit inside a planned cycle or float in backlog. | Findings that never enter a cycle are the ones that abandon; this card surfaces commitment. |
| Cycle Velocity (avg) | Issues completed per cycle, the team’s capacity ceiling. | Open growing faster than velocity = sustainable capacity wall. |
| Tickets by Assignee | Where the open queue concentrates by engineer. | High concentration on one engineer = single-point-of-failure risk. |
Reconciling against the vendor’s own dashboard
Where to look in Linear’s own UI:linear.app then for each connected team open the Issues view (or use the keyboard shortcutWhy our number may legitimately differ from a saved Linear filter:gtheni). Apply the filterLabel is "vortex-iq-finding"andState is not Completed and not Cancelled. Linear remembers filters per view; save it as a Custom view withcmd+sthen Save view as. The team-level Issues count at the top right matches this card’s per-team component. For multi-team rollups, Linear’s Inbox and My issues views are personal, not workspace-wide; the closest workspace-level view is Workspace → Issues (Enterprise plan) which lets you filter across all teams in one go.
| Reason | Direction | Why |
|---|---|---|
| Time zone | Boundary day off | Linear’s UI uses your account-profile timezone for “this cycle” filters; we align rolling windows to UTC. |
| State-type interpretation | Either | We count triage, backlog, unstarted, started as open. Linear’s filter State is not Completed and not Cancelled matches us; a filter State is Backlog or In Progress would be lower because it excludes Triage and Unstarted. |
| Archived issues | Same | Linear archives completed/cancelled issues automatically (default 30 days); both we and Linear’s default filter exclude them. |
| Label spelling | Ours scoped | We read the label vortex-iq-finding exactly; if a teammate renames or misspells the label on existing issues, those drop from our count. The connector creates the label on connection and re-creates it on reconnect. |
| Multi-team aggregation | Ours wider | Linear’s UI scopes to one team; we sum across all connected teams. |
| Webhook delay | Ours up to 5s stale | Linear’s webhooks are very fast (typically 1-2 seconds); the worst case is a few seconds of delay. |
| Card | Expected relationship | What causes the divergence |
|---|---|---|
datadog.dd_incidents_active | Independent. Datadog tracks live engineering incidents; Linear tracks the planned remediation work. | A Datadog incident closed without a Linear follow-up issue means the underlying cause may not be addressed. Engineering-led teams often integrate Datadog → Linear (auto-create issue from incident); when this is set up, the two cards should rise and fall together with a 1-2 day lag. |
newrelic.nr_open_incidents | Same shape. | Same reasoning. |
Known limitations / merchant FAQs
My Linear Issues view shows 16 but Vortex IQ says 18. Why? The 2-issue gap is the standard set of reasons in the reconcile section. Most likely: state-type interpretation (we count Triage and Unstarted; your saved filter may not), or multi-team aggregation (we sum across teams; Linear’s view may be filtered to one team). Pin a per-team stack panel here to compare. Linear has six state types. Which ones count as open? We counttriage, backlog, unstarted, started as open; completed and canceled as resolved. The state-type system is Linear’s primary completion signal and is more reliable than status-name parsing. If your team uses custom state names (e.g. Investigating instead of Triage), the type mapping carries through, the name does not matter to us.
A finding sat in Triage for two weeks. Should it count as open?
Yes; Triage means “someone needs to decide what to do with this issue”, which is operationally still open work. If your team’s intent is to use Triage as a transient state (under 24 hours), a persistent Triage entry is signal: the connector routing is sending findings to a team that is not the right owner, or the routing is correct but no one is reviewing the Triage queue. Either way, this card surfaces the symptom.
We use Linear’s Cycles. How do they interact with this card?
Cycles are weekly or biweekly and represent committed work. By default we count all open issues regardless of cycle membership; a finding queued in Cycle +2 (two cycles from now) still counts as open. Some teams prefer “current cycle only” or “current + next cycle” scoping; that’s a connector setting in Settings → Connectors → Linear → Cycle scope.
We use Linear’s Projects (multi-cycle initiatives). How do those interact?
Projects are independent of state-type, so they don’t affect this count directly. Pin a per-project stack panel to see the open count broken out by initiative.
Open count dropped suddenly. What changed?
Three usual causes. (1) A bulk completion (a teammate ticked many items at end of cycle); Linear’s Activity log per team will show this. (2) A team’s Auto-archive setting changed and pulled completed-but-not-yet-archived issues out of the visible set. (3) The connector routing was retargeted (e.g. routing changed from Linear to Jira); the Linear count drops while the new destination starts climbing.
A finding shipped but the issue is still in In Progress. Do we need to close it?
Yes. Linear’s state.type = 'completed' is the close signal. If the work shipped but the issue is still started, it stays in this count. The Linear keyboard shortcut to mark complete is cmd+enter after selecting the issue.
Today’s count looks volatile. Why?
Less so on Linear than on most PM tools, because Linear’s webhooks are fast and engineers tick complete in batches at end-of-day or end-of-cycle. Volatility usually reflects real cycle-end completion bursts, not noise.
Is Linear the right PM tool for our context?
Linear shines for engineering-led teams that value keyboard speed, opinionated cycle/project structure, and a clean GitHub-issue feel. The cost is that Linear is opinionated against marketing/ops/CX use cases that need richer custom fields, portfolios, time-tracking, or visual planning. For ecommerce teams that are engineering-heavy with sprints and a tight roadmap discipline, Linear is the closest fit. For cross-functional ops/marketing teams, Asana with portfolios is closer; for marketing-and-agency teams, Monday is closer; for spreadsheet-style PMOs, Smartsheet is closer.
My team uses Linear for engineering and Asana for marketing. Will Vortex IQ duplicate findings into both?
No. Each finding is routed to one PM tool based on the connector setup’s outbound priority. Engineering-tagged findings route to Linear; marketing-tagged findings route to Asana. The routing is configurable in Settings → Connectors → Routing.