Workflow

n8n Multi-Source Company Enrichment Workflow

n8n workflow that enriches company records with Google and Reddit data for canonical name resolution, tech stack, and community signals.

Overview

Enrich company records in n8n by searching Google for canonical company data (Knowledge Graph, website, description) and Reddit for community sentiment. Output enriched records to your CRM or database.

Trigger

New row in Google Sheet or CRM webhook

Schedule

On new CRM record (event-driven)

Workflow Steps

1

Receive company name

Trigger on new row in Google Sheets, HubSpot webhook, or manual CSV upload. Extract company name and optional domain.

2

Google Knowledge Graph lookup

Search Google for the company name via Scavio. Extract canonical name, website, description, and type from Knowledge Graph data.

3

Reddit community search

Search Reddit for the company name to find community discussions, pain points, and sentiment signals.

4

Merge and score

Combine Google and Reddit signals into a single enrichment record. Score based on data completeness: Knowledge Graph found, website confirmed, Reddit presence.

5

Write to destination

Push enriched record to CRM, database, or Google Sheet with canonical name, website, description, and community signal fields.

Python Implementation

Python
import requests, os, json

H = {'x-api-key': os.environ['SCAVIO_API_KEY']}

def enrich_company(name):
    # Google for canonical data
    g = requests.post('https://api.scavio.dev/api/v1/search', headers=H,
        json={'platform': 'google', 'query': name}, timeout=10).json()
    # Reddit for community signals
    r = requests.post('https://api.scavio.dev/api/v1/search', headers=H,
        json={'platform': 'reddit', 'query': name}, timeout=10).json()
    kg = g.get('knowledge_graph', {})
    reddit_posts = r.get('organic', [])[:3]
    return {
        'input_name': name,
        'canonical_name': kg.get('title', ''),
        'website': kg.get('website', ''),
        'description': kg.get('description', ''),
        'type': kg.get('type', ''),
        'reddit_mentions': len(r.get('organic', [])),
        'reddit_topics': [p.get('title', '')[:80] for p in reddit_posts],
        'enrichment_score': sum([
            bool(kg.get('title')),
            bool(kg.get('website')),
            bool(kg.get('description')),
            len(r.get('organic', [])) > 0,
        ]),
    }

companies = ['Vercel', 'Supabase', 'PlanetScale']
for name in companies:
    data = enrich_company(name)
    print(f"{name} -> {data['canonical_name']} | {data['website']} | Score: {data['enrichment_score']}/4")
    if data['reddit_topics']:
        print(f"  Reddit: {data['reddit_topics'][0]}")

JavaScript Implementation

JavaScript
const H = {"x-api-key": process.env.SCAVIO_API_KEY, "Content-Type": "application/json"};

async function enrichCompany(name) {
  const [g, r] = await Promise.all([
    fetch("https://api.scavio.dev/api/v1/search", {
      method: "POST", headers: H,
      body: JSON.stringify({platform: "google", query: name})
    }).then(r => r.json()),
    fetch("https://api.scavio.dev/api/v1/search", {
      method: "POST", headers: H,
      body: JSON.stringify({platform: "reddit", query: name})
    }).then(r => r.json()),
  ]);
  const kg = g.knowledge_graph || {};
  const redditPosts = (r.organic || []).slice(0, 3);
  return {
    inputName: name,
    canonicalName: kg.title || "",
    website: kg.website || "",
    description: kg.description || "",
    type: kg.type || "",
    redditMentions: (r.organic || []).length,
    redditTopics: redditPosts.map(p => (p.title || "").slice(0, 80)),
    enrichmentScore: [kg.title, kg.website, kg.description, (r.organic || []).length > 0]
      .filter(Boolean).length,
  };
}

(async () => {
  const companies = ["Vercel", "Supabase", "PlanetScale"];
  for (const name of companies) {
    const data = await enrichCompany(name);
    console.log(`${name} -> ${data.canonicalName} | ${data.website} | Score: ${data.enrichmentScore}/4`);
    if (data.redditTopics.length) console.log(`  Reddit: ${data.redditTopics[0]}`);
  }
})();

Platforms Used

Google

Web search with knowledge graph, PAA, and AI overviews

Reddit

Community, posts & threaded comments from any subreddit

Frequently Asked Questions

Enrich company records in n8n by searching Google for canonical company data (Knowledge Graph, website, description) and Reddit for community sentiment. Output enriched records to your CRM or database.

This workflow uses a new row in google sheet or crm webhook. On new CRM record (event-driven).

This workflow uses the following Scavio platforms: google, reddit. Each platform is called via the same unified API endpoint.

Yes. Scavio's free tier includes 250 credits per month with no credit card required. That is enough to test and validate this workflow before scaling it.

n8n Multi-Source Company Enrichment Workflow

n8n workflow that enriches company records with Google and Reddit data for canonical name resolution, tech stack, and community signals.