An r/n8n post asked whether outreach automation is a good idea. The honest answer: yes, when each send carries live per-prospect context. This tutorial wires that into n8n.
Prerequisites
- n8n cloud or self-hosted
- Scavio API key
- An LLM API key (OpenAI, Anthropic, or DeepSeek)
Walkthrough
Step 1: Trigger node
Webhook or Cron with prospect list as input.
# Webhook payload shape:
# {"prospects": [{"name": "Jane", "company": "Acme", "domain": "acme.com"}]}Step 2: Loop over prospects
n8n's Split In Batches node, batch size 10.
# Use 'Split In Batches' node, set batch size = 10 for rate-limit comfort.Step 3: Scavio call: recent news
HTTP Request node hitting /search.
# URL: https://api.scavio.dev/api/v1/search
# Method: POST
# Header: x-api-key: $SCAVIO_API_KEY
# Body: {"query": "{{$json.company}} 2026 funding hiring news"}Step 4: Scavio call: Reddit signal
Same node pattern hitting /reddit/search.
# Body: {"query": "{{$json.company}}"}Step 5: LLM node: draft personalized first line
Pass news + Reddit context to the LLM with prompt.
# Prompt:
# 'Write a 1-sentence outreach opener tied to this company news: {{news}}. Reference one specific item; no fluff.'Step 6: Send via Email or Smartlead node
Connect outbound email tool of choice.
# Smartlead, Instantly, Lemlist all have n8n nodes.Python Example
# Equivalent in Python:
import os, requests
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}
for p in prospects:
s = requests.post('https://api.scavio.dev/api/v1/search', headers=H, json={'query': f"{p['company']} 2026 hiring"}).json()
r = requests.post('https://api.scavio.dev/api/v1/reddit/search', headers=H, json={'query': p['company']}).json()
# Pass to LLM, send email.JavaScript Example
// Same in TS using fetch().Expected Output
Each outreach send carries one specific recent fact about the prospect's company. Reply rates climb because filters and humans both spot the personalization.