beginner30 minutes3 min read

How to automatically enrich new Salesforce contacts with Apollo

Enrich new Salesforce contacts and leads with Apollo firmographic data. Step-by-step with n8n and Claude Code approaches compared.

How to automatically enrich new Salesforce contacts with Apollo

This recipe includes a downloadable n8n template and Claude Code skill.

Workflow

New lead/contact created
Apollo enrichment
Update Salesforce record

Why enrich contacts automatically?

When a new lead enters Salesforce — from a web form, list import, or marketing automation — you typically get a name and email address. That's not enough for routing, scoring, or personalized outreach. Reps spend 3-5 minutes per contact manually looking up job titles on LinkedIn, checking company size on Crunchbase, and searching for phone numbers. At 50-200 new leads per week, that's 2.5-16 hours of research time that should go toward selling.

Automatic enrichment with Apollo fills in the gaps the moment a contact or lead is created:

  • Job title, seniority level, and department
  • Company name, employee count, revenue, and industry
  • LinkedIn profile URL and direct phone number
  • Verified work email (if the original is a personal address)

Native integration vs. workflow-based enrichment

Apollo offers a native Salesforce integration that syncs contacts bi-directionally on a 30-minute cadence with automatic deduplication. If you want broad, always-on enrichment with minimal setup, that's the simplest path.

Use the workflow-based approaches in this recipe when you need more control — filtering by ICP criteria before spending Apollo credits, mapping to custom Salesforce fields, or chaining enrichment with other tools like Slack notifications or lead routing logic.

What you'll get
Salesforce Contact
Title
(empty)VP of Engineering
Phone
(empty)+1 (415) 555-0142
Department
(empty)Engineering
LinkedIn URL
(empty)linkedin.com/in/jdoe

What you'll need

Prerequisites
  • Salesforce account with API access (a Connected App configured for OAuth or a session token)
  • Apollo account with API access (available on Basic plan and above)
  • Apollo API key from Settings → Integrations → API

How it works

  1. Detect new records — trigger on new Lead/Contact creation in Salesforce, or search for existing records missing key fields
  2. Enrich via Apollo — send each record's email to Apollo's People Enrichment API to retrieve title, phone, department, company, LinkedIn URL, and firmographic data
  3. Write back to Salesforce — update the Lead or Contact record with enriched fields, plus optionally update the parent Account with organization data (industry, employee count)

Which approach should I use?

  • n8n — best for real-time enrichment on new record creation. The Salesforce Trigger polls for new Leads, and the workflow enriches and updates each one within minutes. Self-hosted n8n is free with unlimited executions. Requires configuring a Salesforce Connected App for OAuth.
  • Claude Code — best for batch backfill of existing records or ad-hoc enrichment. Tell the agent "enrich the 50 most recent leads missing a title" and it handles the SOQL query, Apollo calls, and Salesforce updates. No Connected App or OAuth setup needed — uses a Salesforce session token directly.

Choose your approach

Select an approach below to see the full step-by-step guide.

Compare approaches

n8n

medium
Cost: $0-24/mo
Latency: polling
Code: low
Reliability: 24/7 cloud

Claude Code

low
Cost: Usage-based
Latency: on-demand
Code: none
Reliability: On demand

n8n

medium

Salesforce Lead Trigger → Apollo HTTP enrichment → Salesforce Update with enriched fields

Downloadable templateView guide

Claude Code

low

Guided Claude Code skill with API references — batch-enrich Salesforce contacts conversationally, on a schedule, or via Cowork

Downloadable skillView guide

Related Recipes

Frequently Asked Questions

Looking to scale your AI operations?

We build and optimize automation systems for mid-market businesses. Let's discuss the right approach for your team.