I ran 500 target accounts through a free-only OSINT triage before touching a single paid API credit last quarter. The result: I cut enrichment spend by 63% because roughly 300 of those accounts failed basic signal qualification before I ever opened Apollo or Wiza. That is the workflow I am going to walk you through.
Most guides on sales trigger signals either point you at paid intent platforms or give you a vague "set up Google Alerts" suggestion and call it a day. Neither is useful if you are trying to build a repeatable, OSINT-grade pre-enrichment filter. What I built is a five-step triage that runs entirely on free signals — funding events, job change velocity, tech stack shifts, hiring patterns, and SEC filings — before any paid enrichment happens. Phantombuster fills one specific gap that pure manual work cannot close at scale, and I will show you exactly where.
Why You Need a Triage Gate Before Paid Enrichment
Every Apollo credit, every Wiza reveal, every PDL API call you make on a cold account that was never actually in-market is waste. The problem is that most sales ops workflows start with a list — usually pulled from Apollo or Clearbit — and enrich first, then qualify. That is backwards.
Free signal sources are surprisingly comprehensive when you know how to read them together. The issue is not data availability; it is that practitioners treat each source as a standalone check rather than a scoring layer. When I stack five free signals against an account before touching any paid tool, I can assign a rough in-market probability that determines whether enrichment is worth the cost.
The angle competing resources miss is the sequencing. Knowing that funding announcements exist as a trigger is not the same as having a decision gate that says "if two of five free signals fire, enrich; if fewer, skip." That gate is what this workflow builds.
The 5-Step Free Signal Triage
Step 1 — Funding and corporate event detection via Google Alerts + SEC EDGAR
Set Google Alerts for "[company name]" "Series" OR "raised" OR "funding" with the "As it happens" cadence for tier-one targets. For US public or pre-IPO companies, SEC EDGAR full-text search (efts.sec.gov) lets you search 8-K filings for material events — acquisitions, executive changes, new credit facilities — without any account or cost.
I run a weekly EDGAR query against my target industry SIC codes looking for 8-K filings tagged with Item 1.01 (material agreements) and Item 5.02 (director/officer changes). Those two items alone surface more actionable triggers than most paid intent platforms return in the same category.
Signal weight I assign: 2 points if a funding or material corporate event is detected.
Step 2 — Job change and hiring velocity via LinkedIn free tier + Boolean search
LinkedIn's free tier still lets you run Boolean searches against job postings. The pattern I look for is not "they are hiring salespeople" — that is noise. The pattern is: are they posting for roles that signal a new initiative? A company posting for a VP of Revenue Operations for the first time, or three new SDR roles after zero sales headcount, tells you something the job count alone does not.
For executive job changes, I use LinkedIn's "People" search filtered by company, then sort by "Recently joined." This surfaces new executives who are likely to own the budget category I sell into. I limit this to roles posted or joined within 90 days.
Signal weight: 2 points for a new executive in a relevant function; 1 point for hiring velocity greater than three new sales or ops roles in 30 days.
Step 3 — Tech stack shifts via BuiltWith free lookups
BuiltWith's free lookup (builtwith.com/[domain]) returns the current detected tech stack and, critically, a history tab that shows technologies added and removed over time. I look specifically at whether a company has added a new CRM, a new marketing automation platform, or removed an incumbent tool in the last 60 days.
A company that just swapped from HubSpot to Salesforce is operationally mid-migration and likely evaluating adjacent tooling. A company that dropped Marketo is reconsidering their entire marketing stack. These are buying signals that cost nothing to surface.
I cross-reference this with Wappalyzer's free browser extension for a second read on current stack. When both agree on a recent addition, I weight it higher.
Signal weight: 1 point for any new tech addition in category; 2 points for a stack swap indicating a full platform change.
Step 4 — Where Phantombuster Fills the Manual Gap
Manual LinkedIn checks at any scale above 50 accounts per week become untenable. This is the one place in the free-signal workflow where I bring in Phantombuster — specifically the LinkedIn Company Scraper and the LinkedIn Search Export phantoms.
Phantombuster's free tier gives you limited execution time monthly, but it is enough to run a weekly batch scrape of 100-200 target companies and pull headcount changes, new job postings, and employee counts automatically. I pipe the output into a Google Sheet where conditional formatting flags accounts whose employee count grew more than 15% month-over-month or whose job posting count crossed a threshold.
This is not enrichment in the contact-data sense. Phantombuster here is doing automated signal aggregation, not buying me emails or phone numbers. The distinction matters because it keeps you in free territory while removing the manual bottleneck.
Signal weight: Phantombuster output feeds the hiring velocity score from Step 2, it does not add a separate point — it just makes Step 2 scalable.
Step 5 — Scoring gate and enrichment decision
Here is the actual decision table I use:
| Signal | Points | Source |
|---|---|---|
| Funding or SEC material event (90 days) | 2 | Google Alerts / EDGAR |
| New executive in relevant function (90 days) | 2 | LinkedIn free |
| Full tech stack platform swap | 2 | BuiltWith |
| Hiring velocity >3 relevant roles / 30 days | 1 | LinkedIn / Phantombuster |
| Tech category addition (no swap) | 1 | BuiltWith / Wappalyzer |
Gate rule: Score ≥ 3 → account qualifies for paid enrichment. Score < 3 → account goes into a monitoring queue, not the enrichment queue.
In my last batch of 500 accounts, the distribution looked like this:
| Score range | Account count | Action |
|---|---|---|
| 0-1 | 187 | Dropped from active queue |
| 2 | 114 | Monitoring queue, re-check in 30 days |
| 3-4 | 143 | Enrich via Apollo / RocketReach |
| 5+ | 56 | Priority: enrich + immediate outreach |
That is 301 accounts that never touched paid enrichment. At roughly $0.15-0.40 per enriched contact depending on tool and tier, the savings are real.
What This Workflow Cannot Do (Be Honest About Limits)
Free signal OSINT has hard ceilings. BuiltWith free lookups are rate-limited and the history data is shallower than the paid tier. LinkedIn's free search caps how many profiles you can view in a given period, and Phantombuster's free tier runs out quickly if you are running large weekly batches. SEC EDGAR only covers US-registered entities — private international companies produce no filings at all.
The workflow also produces false positives. A company that raised a Series B, hired a new VP of Sales, and added Salesforce might still not be buying in your category. The signals qualify accounts as worth investigating, not as confirmed buyers. The triage gate reduces wasted enrichment spend; it does not replace qualification calls or ICP fit scoring.
I also want to be clear: this workflow surfaces company-level signals, not contact-level intent. You still need enrichment tools — Hunter.io for email pattern guessing, Snov.io or RocketReach for contact lookup — once an account qualifies. The triage just ensures you only pay for accounts that earned it.
What I Actually Use
For the OSINT triage layer I described: Google Alerts, SEC EDGAR full-text search, LinkedIn free tier with Phantombuster for scale, BuiltWith free + Wappalyzer extension. That combination costs nothing and handles the pre-enrichment filter reliably.
Once an account clears the gate, my enrichment stack is Apollo for bulk contact lookup (their basic plan covers most volume), Hunter.io for email verification and pattern guessing when Apollo misses, and RocketReach when I need mobile numbers that Apollo does not return. For accounts where I need firmographic depth alongside contact data, I have tested Ziwa as an alternative worth evaluating alongside Clearbit and PDL, depending on your budget and API needs.
The honest answer is that no single paid tool is necessary at the triage stage. The free signal layer is more capable than most practitioners use it, because most practitioners skip straight to enrichment without building the gate first.
Top comments (0)