Overview
n8n workflow that loops a prospect list, fetches live per-prospect context via Scavio (recent news, Reddit signal, hiring posts), drafts personalized openers with an LLM, and sends via Smartlead/Instantly/Lemlist.
Trigger
Cron daily 9 AM or manual webhook
Schedule
Daily 9 AM
Workflow Steps
Cron or Webhook trigger
Daily cadence or on-demand from CRM.
Pull prospect list
From Google Sheets, Airtable, or CRM via webhook payload.
Split In Batches
Batch size 10 for rate-limit comfort.
Scavio: recent news per prospect
POST /api/v1/search with `{{$json.company}} 2026 hiring funding` query.
Scavio: Reddit signal per prospect
POST /api/v1/reddit/search with company name query.
LLM: draft personalized opener
Prompt with news + Reddit; output 1-sentence first line tied to one specific item.
Email send
Smartlead / Instantly / Lemlist node with personalized opener and templated body.
Python Implementation
import os, requests
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}
def enrich(p):
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()
return {'serp': s.get('organic_results', [])[:3], 'reddit': r.get('posts', [])[:3]}JavaScript Implementation
const H = { 'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json' };
async function enrich(p) {
const [s, r] = await Promise.all([
fetch('https://api.scavio.dev/api/v1/search', { method: 'POST', headers: H, body: JSON.stringify({ query: `${p.company} 2026 hiring` }) }).then(r => r.json()),
fetch('https://api.scavio.dev/api/v1/reddit/search', { method: 'POST', headers: H, body: JSON.stringify({ query: p.company }) }).then(r => r.json())
]);
return { s, r };
}Platforms Used
Web search with knowledge graph, PAA, and AI overviews
Community, posts & threaded comments from any subreddit