Human overview · for understanding

K-X Consulting — engagement run-book

Lead-gen + cold-email campaign · what it is, where it lives, what we did · 2026-06-22 · 2026-06-22

Lead-gen + cold-email campaign · what it is, where it lives, what we did · 2026-06-22

Master summary — the gist in 30 seconds

TL;DRWe run K-X Consulting's cold-email lead machine and get paid per consultation they actually hold. This is the map of the whole thing.

Input: a scraped list of food-industry companies. Output: qualified leads handed to K-X, and a monthly invoice for the ones who took a meeting.

Why this mattersK-X outsources the top of their sales funnel to us. The money only appears at the very end (a held consultation), so every step exists to push companies toward that one event — and to prove it happened for billing.
flowchart LR
  A["Scrape<br/>companies"] --> B["Client<br/>approves"]
  B --> C["Cold email<br/>campaign"]
  C --> D["Positive<br/>reply"]
  D --> E["Consultation<br/>held"]
  E --> F["Invoice<br/>39,000 Ft"]

1 · How we get paid

TL;DR39,000 Ft per held consultation, no VAT, billed monthly.

Input: a lead who meets K-X for a consultation. Output: a line on a monthly invoice (39,000 Ft, alanyi adómentes).

Why it mattersThe contract is pure performance pay: not per email, not per reply — per meeting actually held. That keeps our incentive aligned with K-X's real outcome, but it means tracking 'who actually met' is the thing that gets us paid.
flowchart LR
  L["Lead"] --> M["Consultation<br/>held"]
  M --> P["39,000 Ft<br/>(AAM, no VAT)"]
  P --> I["Monthly invoice<br/>8-day terms"]

2 · Where everything lives

TL;DRTwo Google Sheets (shared with K-X) + the local project + its CSVs.

Input: scattered scrape outputs. Output: one project folder (K-X Consulting) + 'K-X | Leads' (approval + billing tracker) + 'K-X MAIN' (raw processing).

Why it mattersThe data was effectively 'lost' because the folder was named 'scrape'. Naming it K-X Consulting and writing this map is the leverage: next time, you open one folder and you know exactly where the leads, the emails, and the billing tracker are.
flowchart TD
  R["K-X data"] --> S1["Sheet: K-X | Leads<br/>approval + billing"]
  R --> S2["Sheet: K-X MAIN<br/>raw + emails"]
  R --> P["Project: K-X Consulting<br/>scripts + CSVs"]
  P --> C["INSTANTLY READY.csv<br/>3,599 leads w/ email"]

3 · The lead pipeline

TL;DRScrape → enrich emails → personalize → an Instantly-ready list.

Input: company names from Google Maps / Europages / LinkedIn. Output: a CSV with verified emails + personalized icebreakers, ready to upload.

Why it mattersEach stage removes a reason the email would fail: no contact (enrich), looks like spam (personalize), wrong target (food filter + revenue floor). It's an assembly line whose product is 'an email that gets a reply'.
flowchart LR
  A["Scrape"] --> B["Enrich emails<br/>(Anymail)"]
  B --> C["Personalize<br/>(Gemini)"]
  C --> D["INSTANTLY<br/>READY.csv"]
  D --> E["Campaign"]

4 · Approval & filtering

TL;DRClient approves on a sheet; we email everyone NOT flagged, minus the giants.

Input: the 'Élelmiszeripar 3' tab. Output: the send list = rows where 'NE kapjanak emailt' is FALSE, minus Bonduelle, Hell Energy, Aldi, Lidl, Tesco.

Why it mattersK-X reviews targets by phone and flags who NOT to email. Honoring that flag (and the named exclusions) is the trust boundary — emailing a company the client vetoed would damage K-X's brand, which is the one thing we can't undo.
flowchart TD
  X["Company on list"] --> Q{"NE kapjanak<br/>emailt = FALSE?"}
  Q -- no --> S["Skip"]
  Q -- yes --> Z{"On exclude<br/>list?"}
  Z -- yes --> S
  Z -- no --> G["Send"]

5 · The campaign (next action)

TL;DRBuilt, not launched — a fresh instance loads + launches it after your OK.

Input: approved companies joined to their emails. Output: leads added to K-X's existing Instantly campaign, verified, then launched only on a human 'go'.

Why it mattersSending is irreversible and goes out under K-X's name, so the launch is deliberately gated behind a human. The copy-paste prompt hands a new Claude instance everything it needs to do this safely.
flowchart LR
  A["Approved<br/>+ emails"] --> B["Add via<br/>Instantly API"]
  B --> C["Verify in<br/>Chrome (KX)"]
  C --> D{"Human<br/>OK?"}
  D -- yes --> E["Launch"]
  D -- no --> C

6 · What this session did

TL;DRFound + renamed the project, documented it, and issued the first invoice.

Input: 'I lost the folder + need an invoice'. Output: renamed project + HANDOFF + prompt, invoice SM-2026-75 (117,000 Ft), and a drafted reply to K-X.

Why it mattersTwo of the four asks were fully closeable now (resurrect + invoice); the campaign was deferred by choice. The drafted email keeps the human-gate intact — you send it, not the machine.
timeline
  title K-X session 2026-06-22
  Resurrect : Rename scrape to K-X Consulting : HANDOFF + prompt
  Invoice : SM-2026-75 117,000 Ft AAM : filed in Drive
  Reply : draft to Varkonyi Szilvia : invoice attached
  Deferred : campaign launch : fresh instance + your OK
HANDOFF.md (technical) →Campaign prompt →Contract (Megbízási Szerződés) →Invoice SM-2026-75 (PDF) →K-X | Leads sheet →