Back to portfolio
Building — v1 shipped, validating in production

Konvert Outreach Agent System

A solo-operator outreach pipeline that researches prospects, drafts personalized LinkedIn messages, and sends them on a schedule — with human approval as the only manual step.

The problem

Solo creative agencies live or die by outbound, but doing it well takes 15–20 minutes per prospect — researching the company, finding the right point of contact, drafting something that doesn't sound like a template. Multiply that by 30 prospects a week and outreach eats half the operator's time.

The existing alternatives all fail differently. Mass automation tools (Lemlist, Instantly) optimise for volume and sound like spam. Manual outreach scales linearly with hours. AI writing tools draft generic copy that needs heavy editing. Nobody's solved the actual problem: research-driven personalisation at scale, with a human keeping taste in the loop.

The build

A two-workflow n8n system that splits the work along the right seam: agents do the research and drafting, the human approves and ships.

Workflow 1 pulls a target company from a Google Sheet, scrapes their LinkedIn employees via Apify, ranks the top 3 prospects with a custom scoring algorithm, runs Perplexity research per prospect, and uses Claude Sonnet 4.6 to draft both a connection note and a longer DM in parallel — landing the output in a review queue.

Workflow 2 runs twice daily, picks up approved messages, enforces LinkedIn-safe daily caps, and sends via PhantomBuster with randomised delays.

What makes it different from the existing tools: every message is research-grounded (not template-substituted), the human reviews before anything sends (not after a bad message has already gone out), and the whole thing was built in days using the n8n MCP SDK directly from Claude — no JSON imports, no manual node placement.

How it works

  1. 01

    Add a target company

    Drop a target company into a Google Sheet and flip a flag — this triggers the research workflow.

  2. 02

    Auto-discover prospects

    Scrape the company's employees via Apify, score each by role-fit × seniority, and pick the top 3 decision-makers.

  3. 03

    Research each prospect

    Perplexity Sonar pulls recent company news, marketing signals, and a personalisation hook grounded in cited sources.

  4. 04

    Draft in parallel

    Claude generates both a 250-character connection note and an 80–150 word DM, grounded in the research and the operator's voice.

  5. 05

    Human approves in the sheet

    Pick the channel (connection or DM), tweak if needed, flip status to approved. Taste stays with the human.

  6. 06

    Sender workflow ships

    Twice-daily schedule respects daily caps (20 connections + 50 DMs), enforces 90–240 second randomised delays between sends, and logs every touch for idempotency.

Proof

Time per prospect (before)

15–20 min manual

Time per prospect (after)

~30 sec review

Workflow 1 nodes

12, fully wired

Workflow 2 nodes

18, with cap enforcement, retry, and DLQ

Cost per prospect researched

~$0.05 (Apify + Perplexity + Claude)

First-pass message quality

High enough to ship without edits in initial tests

The stack

Orchestration

  • n8n Cloud (workflow runtime)
  • n8n MCP SDK for direct workflow generation

Discovery

  • Apify — harvestapi/linkedin-company-employees actor

Research

  • Perplexity Sonar (citation-disciplined, recency-aware)

Drafting

  • Claude Sonnet 4.6 (dual-output format, brand voice)

Sending

  • PhantomBuster — LinkedIn-safe pacing, pre-built Phantoms

Review queue

  • Google Sheets — where the operator already works

Build environment

  • Claude.ai with the n8n MCP server
  • Direct workflow creation, no manual JSON

Apify was chosen for cost (~$0.04/company) and LinkedIn field coverage. Perplexity Sonar for citation discipline and recency. Claude Sonnet 4.6 for instruction-following on dual-output formats and the operator's brand voice. PhantomBuster for LinkedIn-safe pacing out of the box. Google Sheets as the review surface because it's where the operator already lives — no new tool to adopt. v1 is in validation as of April 2026; production volume metrics will land after the first month of live sends.

What's next

Workflow 3 — Reply detection and conversation exit. When a prospect responds, the system needs to skip them in future discovery passes. Reads the inbox, matches against the Touches Log, and flags conversations as "in progress" so Workflow 1 doesn't re-draft.

Adaptive personalisation based on send outcomes. Track which research hooks correlate with replies, feed that signal back into the drafting prompt, and let the system learn what works for this operator's specific market.

An A/B testing framework on message length and tone — connection notes vs cold DMs, formal vs casual openings, hook-first vs question-first structures — measured against reply rate, not opens.

Want to build something like this?

Same operator. New tools. Let's talk about your problem.