One page that runs the entire flow: organization URL research → Apify employee contact scan (with cost tracking) → target-rule filtering → organization news (fetched once per org) → Full AI Generate → Opus Review → Final AI Reviews. Finished messages land in Fast Connect Review exactly like today. See Full Pipeline Dashboard for a breakdown of every past run (why contacts were dropped, cost, conversion rate).
Pick the client/customer first, then one of their hypothesis groups. The group's organizations (managed in Prospect Organizations Admin → Hypothesis Group Organizations), Target Contact / Exclude Rules, Message Build Instructions, and Message Review Instructions all come from this group.
Only BDRs linked to the selected hypothesis group are shown (link BDRs to groups in Connect Hypothesis Documentation). Check each BDR who needs messages and set how many. Organizations from the group are scanned one at a time; each organization's contacts are assigned to whichever checked BDR's turn it is, alternating between BDRs round-robin until every BDR's count is met (a BDR that reaches its target early drops out and the rest keep alternating).
Read-only preview, in the exact order this run will process them: organizations never scanned under the Scan Name below come first, then — as a tie-breaker, so even a brand-new Scan Name doesn't just restart from the top of the priority list — organizations scanned the fewest total times across ALL scan names (organizations pulled in from a BDR/workspace that were already scanned before joining this hypothesis group are treated as partially-covered here too, so they're queued behind truly never-scanned organizations). Add / remove / re-prioritize organizations in Prospect Organizations Admin (that priority still breaks any remaining ties — the AI Priority Scorer there can also set it for you). Organizations without a LinkedIn URL are researched automatically during the run. Contacts Scanned and Messages Sent are cumulative for this hypothesis group (past Full Pipeline scans, and connect_queue messages actually pushed to HeyReach) — export the preview as CSV from the button under the tiles.
| # | Priority | Organization | LinkedIn URL | Total Scans | Contacts Scanned | Messages Sent | Scan Names |
|---|---|---|---|---|---|---|---|
| Select a hypothesis group above. | |||||||
Identical criteria to Employee Contact Scanning on Prospect Organizations Admin — one scan job per organization, processed by the same backend, with Apify costs tracked in the same ledger.
OR between terms for OR logic.The chosen models are recorded on every message (buildModel / opusReviewModel) and in the run report for later analysis in Connect Analysis Data.
prospect_contacts already tagged with this hypothesis group — Top Contacts Cap overflow, contacts from runs that stopped early, rescued contacts — are checked the same way Generate Messages → Full AI Generate does it: anyone with an existing (non-deleted) message in the queue, already connected, excluded, or under the connection floor is skipped. Everyone left is grouped organization by organization, and each organization is checked against the 30-day organization limit below to see whether there is still runway to re-engage it through these other contacts. Organizations at the limit are skipped (their contacts stay saved for a later month); organizations with runway get messages for up to the remaining slots. Rules are not re-run (they passed when they were tagged); the Top Contacts Cap, DNC check and 30-day organization limit still apply. Tip: turn on the 30-Day Organization Limit below — without it, no organization is ever treated as "full".connect_queue message (sent to HeyReach, approved, or still pending review) created in the past 30 days. Messages that were deleted, rejected, or flagged duplicate / already-connected do not count — their slots open back up (e.g. 3 created, 1 sent, 2 deleted = 1 used, room for 2 more). An organization already at the limit is skipped before it is scanned (no Apify cost), and within an organization message generation stops once the limit is reached — remaining matched contacts stay saved and tagged for a later month. The pipeline stops automatically when spend gets out of line with messages produced. After every organization, the run's all-in cost so far — contact search (larger of ledger-measured vs formula estimate) + LinkedIn profile/post scrapes from the Apify ledger + estimated AI — is divided by messages generated. When that average exceeds the target below, the run shuts down — that usually means the Step 4 scan rules are finding too few usable contacts and need adjusting.
Scans every message this pipeline has ever generated (across all hypothesis groups and all BDRs — not
just the group selected above) and cross-checks it against the full_pipeline_runs record it was created under. Catches three
known failure modes: (1) a message's hypothesis group stamp was silently overwritten with the wrong group later
(usually by Fast Connect Review's auto-detect-by-URL logic matching a different group the same contact/org happens to also be tagged
under), (2) a message never got a hypothesis group stamp at all even though its run had one, and (3) a hypothesis group's tagged-contact
URL list never got backfilled during a run, which starves Outcomes by Hypothesis Group and
the Batch ↔ Hypothesis Group Correlation tool of anything to match
against. Also flags runs stuck at "running" with no activity, which otherwise never show up as needing attention anywhere.