Instantly Lead Flow: AI Company Discovery & Enrichment

instantlyleadsenrichmentsheets

The problem

Every outbound motion starts with the same unglamorous work: turning "we sell to mid-size e-commerce ops teams in the Nordics" into an actual list of companies, then into actual people, then into deliverable email addresses. Done by hand it is slow. Done badly it produces a list that bounces and burns the sending domain.

The hard part is not scraping. It is judgement — deciding which companies match the ICP, and which person inside them is the one worth writing to.

What was built

An n8n pipeline that takes a plain-English ICP and returns a working list:

  1. ICP to queries. A language model expands the description into concrete search queries and Instantly filter parameters, rather than making the operator guess at boolean syntax.
  2. Company discovery. Candidate companies are gathered and deduplicated.
  3. Fit scoring. Each company is assessed against the ICP before any contact work happens.
  4. Decision-maker identification. The pipeline looks for the role that owns the problem, not whoever is listed first.
  5. Contact discovery and verification. Email addresses are found and validated before delivery. An unverified list is a liability, not an asset.
  6. Google Sheets delivery. Output lands where the operator already works, with the evidence for each row visible, so a human can audit and reject.

The design decision that matters

Filter before you enrich. Enrichment and verification cost money per record, and a model asked to classify every company in a raw scrape will happily spend the budget on companies that were never a fit. Scoring first and enriching second keeps cost proportional to useful output.

The second decision is that a human reviews before anything sends. The pipeline produces a candidate list with its reasoning attached; it does not send. Automated prospecting that removes the review step is how sending domains get burned.

What this does not do

It does not write your outreach, and it does not guarantee a reply. It removes the list-building bottleneck so the operator spends their time on the message and the offer, which is where replies actually come from.

Stack

  • Orchestration: n8n
  • Language model: OpenAI, for ICP expansion and fit scoring
  • Outreach platform: Instantly API
  • Delivery: Google Sheets

Verifying the engineering behind this

We build custom n8n nodes, not just workflows. Our Apollo.io integration node is published on the public npm registry as n8n-nodes-apollo (MIT, maintainer arturl95), covering 14 resources with the source open to inspection. We also hold n8n Verified Creator status.