Why the unworked-leads pile is bigger than you think
Most teams have a category of leads that get worked promptly — inbound demo requests, high-fit ICP form fills, hot referrals. Those move through the funnel.
Then there's the other pile: leads that came in through a less-prioritized channel — content downloads, webinar attendees, list-import contacts, bulk-uploaded prospect lists — and just sat there. The rep was supposed to work them. Nobody followed up. Six months later they're still in the CRM, still tagged as Lead, still showing 0 logged activities.
The dollar cost is statistical: even at low conversion rates, a few thousand unworked leads represent meaningful pipeline. More importantly, they're stale by now — even if you do reach out, the contact has moved on, taken another job, or doesn't remember signing up. The recovery rate drops every week.
What "never touched" actually means in HubSpot's data
Three filter conditions:
- Lifecycle stage is Lead.
- Number of logged activities is
0— no calls, no emails (excluding marketing sends), no meetings, no notes. - Created date is more than 7 days ago — gives a reasonable window for first-touch.
The "logged activities" check is the tricky one. Marketing sends to the contact don't count as the rep working them. Auto-replies don't count. Sequence emails — opinion varies; strict interpretation says they don't count, lenient says they do.
Why the activity counter beats the activity date
The "0 activities" definition has known gaps:
Marketing email sends are not "the rep working the lead" but they show up in the contact's timeline as activities. Filters that count any activity will mark these leads as touched, hiding the real unworked pile. The right filter looks at sales-side activities only — calls, manually-logged emails, meetings.
Sequence emails fall in the grey zone. If your team treats sequence enrollment as "working the lead," then a sequence-touched lead isn't unworked. If you treat it as automation, sequence-touched leads are still unworked. Pick a definition and stick with it.
Imports often pre-set Last activity date to the import date. A list of 5,000 contacts uploaded last quarter shows Last activity date = upload date — not because anyone worked them, but because HubSpot stamped it. Those contacts look "touched" even though they're not. Filtering on Number of times contacted instead of Last activity date avoids this trap, because the count starts at 0 for new contacts.
The deeper problem is that "Lead" lifecycle stage means different things in different teams. Some teams use it for marketing-qualified-but-not-yet-routed contacts. Others use it as a generic catch-all that includes everything from cold-imported lists to recently-converted form fills. The unworked-leads view will surface very different cohorts depending on which definition your team uses, and the right action — assign, nurture, archive — depends on that distinction.
The manual HubSpot recipe
Three filters and one optional prevention workflow. The harder discipline is deciding what to do with the historical pile — archive vs. nurture vs. assign.
- Open Contacts → Create viewNavigate to Contacts → Contacts. Click 'Create view' in the top right.
- Add filter: Lifecycle stage is LeadFilter by Contact properties →
Lifecycle stage→ 'is any of' → 'Lead'. Adjust if your portal uses a different naming convention. - Add filter: Number of times contacted is 0AND group →
Number of times contacted→ 'is equal to' → 0. This counts manual emails, calls, and meetings — NOT marketing sends. Cleaner than filtering on activity date. - Add filter: Last activity date is unknownAND group →
Last activity date→ 'is unknown'. Belt-and-suspenders — catches contacts where the activity counter is 0 but some auto-stamped activity exists. - Add filter: Create date is more than 7 days agoAND group →
Create date→ 'is more than' → 7 days ago. Gives reasonable first-touch window before flagging. - Save as 'Leads — never touched'Pin to your sales-ops dashboard. Run the prevention workflow alongside (assign new untouched leads to a fallback owner after 2 days).
What Bloated does instead
Truly unworked leads — marketing sends and import-stamping excluded.
Bloated counts only rep-side activity (manual emails, calls, meetings, notes) — NOT marketing sends, sequences, or import-stamped activity dates. The cohort surfaced is the genuine 'never picked up' pile, not the false-positive cohort native filters generate. Pair with the suggested action: assign to fallback owner, archive (if cold > 6mo), or move to Marketing nurture.
lifecyclestage, notes_last_contacted · HubSpot contact properties