Skip to main content
Customer Intelligence takes a small set of seed inputs — company names, exact websites, LinkedIn URLs, an uploaded lead list, or an ICP (ideal-customer-profile) filter to discover against — and turns them into researched, scored targets with generated outbound collateral. It’s aimed at BPO-style outbound: “here are some leads/an ICP, tell me who’s worth pursuing and why, and hand me something to send them.”

Runs

A run is the unit of work. Creating one (POST /customer-intelligence/runs) starts a dedicated Temporal workflow (CustomerIntelRunWorkflow) that drives the whole pipeline for that batch of seeds. The run also carries the org’s BPO positioning and ICP config (what you sell, who you sell to) — saved once via GET/PUT /customer-intelligence/config and reused as sensible defaults on every new run, overridable per run. The workflow moves through phases in order:
“Light” research and scoring runs for every resolved target and produces a pain/fit score plus a compact “why” breakdown (per-signal evidence, confidence, data sources). “Deep” deliverables — full reports, decks, models — are comparatively expensive, which is what the shortlist gate exists to control.

Gates: human-in-the-loop checkpoints

A gate is a point where the workflow pauses and genuinely waits for a person to decide, rather than guessing:
  • Resolution gate — fires when a seed can’t be trusted to be correct on its own: a bare company name, a person/company LinkedIn URL that needs resolving, or the scope of an ICP/lookalike discovery search. An exact website is the only seed solid enough to skip this. You confirm or correct matches via POST /customer-intelligence/runs/{run_id}/resolution.
  • Shortlist gate — fires after light scoring, only when the run requested deep deliverables. You pick which scored companies get the full deep set via POST /customer-intelligence/runs/{run_id}/shortlist.
Both gates are a durable, bounded wait: the run re-notifies on a reminder cadence and — if nobody responds by the deadline — hard-expires to a terminal abandoned status. It never silently proceeds without a decision.
Even after a run finishes, you can promote any individually-researched result to the full deep deliverable set later via POST /customer-intelligence/runs/{run_id}/results/{result_id}/build-report — the shortlist gate only exists while the run itself is paused.

Results and deliverables

Each target in a run produces a result: the pain/fit score, a scoring rationale, and whatever deliverables were requested for it. Depending on the run’s configuration, that ranges from a lightweight scored-lead row up to a full deep set — a CX intelligence report (PDF), a review-analysis spreadsheet, a sales deck, an ROI model, a company research brief, stakeholder/contact intelligence, a drafted outreach email, and an auto-provisioned interactive demo. Deliverables can be individually revised, hand-edited, or regenerated with feedback after the fact, and the CX report has its own shareable public link.

Getting data in

Seeds can be typed directly (company names, websites, LinkedIn URLs), expanded from “lookalike” seeds, discovered from an ICP filter, or extracted by Claude from an uploaded document (POST /customer-intelligence/uploads — PDF, CSV, DOCX, XLSX, TXT, or Markdown, capped at 15 MB) during intake. The count you ask for is how many companies you get delivered, not how many get researched. A lookalike run researches roughly 1.85x that number and keeps the highest-pain ones, because CX distress can only be measured after research: two runs put the share of severely-distressed companies in any candidate pool at about 38%, so delivering straight from discovery would put ~38% of your list in the High band no matter how good the targeting was. The companies that miss the cut keep their research and are marked rank_below_target_count — outranked, not disqualified. Companies the pipeline picked for you — lookalike expansions and ICP discovery — are QA’d against the ICP before (and, for ICP discovery, again after) research: a company too small to run a support desk lands as filtered with the reason on the result rather than as a scored lead. Lookalike candidates must also clear a minimum similarity to the seed set. A company you named yourself is never filtered on fit — you asked for it, so you get it. Separately, any target whose research turns up no platform ratings, no complaints and no pain signals is filtered as gate_3_research_signal instead of being scored. That one applies to every target including your own: there is nothing to weigh, and saying so is more useful than a hollow zero. Pain itself never filters — a low-pain company still reaches the shortlist gate, where you can promote it. See the Customer Intelligence section of the APIs tab for endpoint-level detail.