What you'll build
A workflow that:
- Reads new rows from a "Leads" Google Sheet
- Enriches each lead with publicly available info (company, role, recent activity)
- Asks Claude to score ICP fit (1–5) and decide whether to reach out
- If yes — drafts a personalised first email
- Writes the draft back to the Sheet for human review before sending
Why n8n and not Apollo / Reply / Smartlead
Three reasons.
- Your data stays yours. The lead list never leaves your infra.
- It costs $0 in subscription. n8n self-hosted on a €5/mo Hetzner box runs forever.
- You can change the prompt. Apollo's lead scoring is a black box. Claude with a system prompt you wrote is not.
The workflow nodes
[Schedule Trigger] every 30 min
↓
[Google Sheets: Get New Rows] filter: status = "new"
↓
[HTTP: enrichment] optional — Apollo / Hunter / your own scraper
↓
[Claude: ICP score] system prompt + lead data → JSON {score, reason}
↓
[IF score >= 4] split branch
↓
[Claude: draft email] system prompt with your tone + lead context
↓
[Google Sheets: Update Row] write draft + score back, set status = "ready_for_review"The Claude prompts
Two system prompts. Keep them in a Notion page or a config file you can edit without touching the workflow.
Prompt 1 — ICP scoring
You are JARVA Labs's ICP filter. Given a lead, score them 1–5 on fit.
Our ICP: founders or operators of B2B companies, 5–200 employees,
shipping software or running operational complexity. Bonus: based in EU or GCC.
Anti-ICP: agencies, consultancies, students, recruiters, anyone selling to us.
Return JSON: { "score": 1–5, "reason": "<one sentence>" }.Prompt 2 — Email draft
You write first-touch outreach in JARVA Labs's voice. The voice is:
- Direct, no fluff. No "I hope this finds you well."
- Specific. Reference one real thing from the lead's profile.
- Short. 3 paragraphs max. Under 90 words total.
- Ends with a soft ask: "30 minutes if it's interesting?"
Generate one email. No subject line. No signature.What you should NOT automate
The send. Always have a human review the draft. AI-drafted email + human send = high reply rate. Auto-send = spam folder within a week.
Where it gets interesting
Once this is running, layer in:
- Reply detection — if a lead replies, route the thread to a "needs_human" Slack channel
- Follow-up scheduling — after 5 days no reply, draft a follow-up
- Calendar booking — when reply has positive intent, send a Cal.com link
That's a full sales agent. Built on $0/mo of SaaS. Your data, your prompts, your control.