The Problem
Outreach.io sequences send templated emails at scale, but personalization is limited to CRM fields like name, title, and company. The emails that get replies reference something specific -- a recent product launch, a funding round, a conference talk. SDRs spend 5-10 minutes manually researching each prospect, which caps daily volume at 30-50 personalized emails. At scale, personalization quality drops to zero.
The Scavio Solution
Automate prospect research with a Google search for each contact before the sequence triggers. Extract the most relevant recent signal (funding, product launch, hiring, press mention) and inject it as a custom variable in the Outreach sequence. Every email references something real and recent without manual research.
Before
Before automated search enrichment, an SDR team personalized 40 emails per day manually. Each required 5 minutes of research. Above 40/day, personalization dropped to generic 'I saw your company does X' lines. Reply rate for manually researched emails: 4.2%. Reply rate for generic templates: 1.1%.
After
After adding Scavio search enrichment, every prospect gets a search-generated personalization snippet automatically. SDRs process 200+ emails per day with specific, timely references. Reply rate stabilized at 3.8% across the full volume. 200 searches/day at $1.00 total, cheaper than the SDR time previously spent on manual research.
Who It Is For
SDR teams, outbound agencies, and sales leaders using Outreach.io who want to scale personalized outreach beyond manual research limits.
Key Benefits
- Automated prospect research replaces 5 min of manual Googling per lead
- 200+ personalized emails per day per SDR
- Reply rate maintained at 3.8% at 5x volume
- 200 searches/day at $1.00 vs hours of manual research
- Custom variables inject directly into Outreach.io sequences
Python Example
import requests, os
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}
def research_prospect(name: str, company: str) -> dict:
query = f'{name} {company} 2026'
r = requests.post('https://api.scavio.dev/api/v1/search', headers=H,
json={'platform': 'google', 'query': query}, timeout=10).json()
organic = r.get('organic', [])[:5]
signals = []
signal_keywords = ['funding', 'raised', 'launched', 'announced', 'hired', 'conference', 'spoke']
for o in organic:
snippet = o.get('snippet', '').lower()
if any(kw in snippet for kw in signal_keywords):
signals.append(o['snippet'][:120])
return {
'name': name, 'company': company,
'best_signal': signals[0] if signals else organic[0].get('snippet', '')[:120] if organic else '',
'signal_count': len(signals),
}
prospects = [('Sarah Chen', 'DataFlow'), ('Mike Torres', 'CloudBase')]
for name, company in prospects:
r = research_prospect(name, company)
print(f'{name} @ {company}: {r["best_signal"]}')JavaScript Example
const H = { 'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json' };
async function researchProspect(name, company) {
const r = await fetch('https://api.scavio.dev/api/v1/search', {
method: 'POST', headers: H,
body: JSON.stringify({ platform: 'google', query: `${name} ${company} 2026` })
}).then(r => r.json());
const organic = (r.organic || []).slice(0, 5);
const signalKw = ['funding', 'raised', 'launched', 'announced', 'hired'];
const signals = organic.filter(o =>
signalKw.some(kw => (o.snippet || '').toLowerCase().includes(kw)));
return {
name, company,
bestSignal: signals[0]?.snippet?.slice(0, 120) || organic[0]?.snippet?.slice(0, 120) || '',
signalCount: signals.length,
};
}
const r = await researchProspect('Sarah Chen', 'DataFlow');
console.log(`${r.name} @ ${r.company}: ${r.bestSignal}`);Platforms Used
Web search with knowledge graph, PAA, and AI overviews