Skip to main content
Integration

Apollo + Salesforce Integration Guide: Setup, Use Cases

June 28, 20268 min read

Apollo + Salesforce native integration: sync contacts and activities in real time. 6-step setup, field mapping, and duplicate prevention covered.

Apollo's Professional plan starts at $79 per user per month. Salesforce Professional runs $75 per user per month. Teams paying for both but handling data sync manually burn 3-5 hours per rep per week on work the native integration does automatically. That's $500-800 per month per rep in wasted labor before either tool books a single meeting.

By Rishabh Ambasta, Founder, Modern Inbound.

What the Apollo + Salesforce Integration Syncs

The Apollo + Salesforce integration syncs contacts, accounts, email activity, and call logs bidirectionally. Apollo pushes new prospects to Salesforce as Leads or Contacts. Salesforce returns stage changes and ownership updates to Apollo every 15 minutes on Professional tier, near-real-time on Organization tier.

What syncs out of the box:

  • New contacts from Apollo sequences to Salesforce Leads or Contacts
  • Email opens, clicks, and replies to the Salesforce activity feed
  • Call logs and outcomes from Apollo's dialer to the contact timeline
  • Lead status and opportunity stage changes from Salesforce back to Apollo

What doesn't sync without custom configuration: Apollo sequence enrollment status, enrichment tags, Job Change Alert flags, and funding round data. Map these explicitly in Apollo's field configuration panel, or they stay siloed between the two tools.

How to Set Up the Apollo + Salesforce Integration in 6 Steps

The native connection takes 20-30 minutes with admin credentials for both platforms. You'll need Apollo Professional or above and a Salesforce edition with API access: Professional, Enterprise, or Unlimited. Salesforce Essentials doesn't expose an API and won't work here regardless of Apollo plan.

  1. Go to Apollo Settings > Integrations > Salesforce and click "Connect to Salesforce." Apollo redirects to a Salesforce OAuth authorization screen.
  2. Log in with Salesforce admin credentials. Apollo requires "Modify All Data" permission. Connecting with a non-admin account causes silent write failures with no error surfaced in Apollo's UI.
  3. Choose your sync direction. Start one-way (Apollo to Salesforce). Enable two-way only after confirming Apollo isn't overwriting Salesforce fields you want to preserve.
  4. Map fields in Apollo's field configuration panel. Map at minimum: First Name, Last Name, Email, Company, Title, Phone, LinkedIn URL. Use Salesforce API field names, not display labels, so admin renames don't break the mapping later.
  5. Configure duplicate handling. Set the deduplication key to email address, with company domain as fallback. Without this, Apollo creates a new Lead for every contact in your sequence history, including ones already in your Salesforce org.
  6. Test with one contact before enabling bulk sync. Trigger a manual sync on a single record and verify field values and activity feed in Salesforce before going live with all sequences.

One thing Apollo's setup docs don't flag: if your Salesforce org has validation rules on Lead or Contact objects (required picklist values, mandatory custom fields), Apollo's sync fails silently. Check the Salesforce setup audit trail immediately after the first sync attempt if no records appear.

Field Mapping Reference for Apollo + Salesforce

Field mapping drift is the most common silent failure mode for this integration. Apollo adds data points in product updates. Salesforce admins rename or delete custom fields. Neither tool tells you when a mapped field stops writing data. Use a dedicated "Apollo_" prefix for every custom field and audit the mapping every quarter.

Apollo FieldSalesforce ObjectSalesforce FieldNotes
First NameLead / ContactFirstNameStandard field, always safe
Last NameLead / ContactLastNameStandard field, always safe
Work EmailLead / ContactEmailPrimary deduplication key
Company NameLead / Contact / AccountCompany / NameSecondary deduplication key
PhoneLead / ContactPhoneApollo provides direct dials when available
LinkedIn URLLead / ContactCustom (Apollo_LinkedIn__c)Create a dedicated custom field; don't reuse the standard URL field
Apollo Sequence NameLead / ContactCustom (Apollo_Sequence__c)Text field, not a picklist
Email Engagement StatusLead / ContactCustom (Apollo_Email_Status__c)Stores opened / clicked / replied / bounced

Don't map Apollo enrichment data into generic Salesforce custom fields. Mixing it in creates the "Custom Field 47" problem where no one can safely delete the field two years later because it's unclear what's writing to it.

Four Pitfalls That Break Apollo + Salesforce Syncs

Duplicate records and API rate limits will damage your Salesforce org faster than the integration saves time. Both are preventable. Neither Apollo nor Salesforce raises a warning during the initial connection process.

  • Duplicate records from competing data sources. Running ZoomInfo for Salesforce or Clearbit Enrichment alongside Apollo means the same person ends up as 3-4 separate records. Designate one tool as the contact creation source and disable Lead/Contact writes from all others.
  • API rate limits on high-volume syncs. Salesforce Professional allows 15,000 API calls per 24 hours. Enterprise allows 100,000. Apollo's sync exhausts the Professional limit when enriching more than 400 new contacts per day. Stagger sequence launches to spread API load across the day.
  • Field mapping drift over time. Apollo's field schema changes with product updates. Salesforce admins rename fields during org cleanups. Map against Salesforce API field names, not display labels, to survive those renames without your sync breaking silently.
  • Deliverability damage from parallel enrichment tools. Running Cognism Connect or another Salesforce-side enrichment tool alongside Apollo means two tools overwriting the Email field on the same contact. You end up sending sequences to outdated addresses. One tool owns email. Full stop.

Two Use Cases That Justify the Setup Time

The Apollo + Salesforce integration pays back its configuration cost in two workflows: auto-enrolling enriched inbound leads into outbound sequences, and attributing closed-won pipeline to the campaigns that touched it. Both require two-way sync enabled and a Salesforce Campaign object mapped to Apollo sequence activity.

Automated lead enrichment into outbound sequences

When a new Lead enters Salesforce from a web form, event scan, or SDR-created record, Apollo can auto-enrich it and drop it into a sequence without rep involvement. Build a Salesforce Flow that triggers on Lead creation, sends a webhook to Apollo, and Apollo matches the record, enriches missing fields, and enrolls it in your ICP sequence. Teams handling 200+ inbound leads per month eliminate roughly 4 hours per week of manual enrichment work per rep.

Outbound pipeline attribution

Apollo's sequence activity syncs to Salesforce as Tasks and Campaign Member records. Map Apollo sequences to Salesforce Campaigns, then use Campaign Influence reporting to see which sequences touched deals before close. On a 50-deal month, this is the difference between knowing "cold outreach influenced 18 of 50 deals" versus guessing at a number for a board deck.

Which Plans Support the Apollo Salesforce Integration

Apollo's native Salesforce integration requires the Professional plan ($79/user/month, annual) or the Organization plan. The Basic plan ($49/month flat) and free plan don't support native Salesforce sync. Zapier is the only workaround for Basic plan users, and it's the wrong tool for this job.

Zapier handles one-way contact pushes but can't do activity logging, two-way stage sync, or real-time updates. It adds a 15-minute delay minimum and a per-task cost that compounds fast at volume. If you're on Apollo Basic, upgrade to Professional. Don't build a Zapier workaround you'll need to maintain every time either API changes.

On the Salesforce side, you need API access. Salesforce Essentials ($25/user/month) doesn't expose an API, so it won't work. Professional ($75/user/month), Enterprise ($150), and Unlimited ($300) all support the native connection. Most B2B teams already running Apollo are on Salesforce Enterprise, so the constraint is almost always Apollo's plan tier, not Salesforce's.

If you'd rather skip managing this stack and just get meetings on the calendar, that's what Modern Inbound does. See how we work at moderninbound.com/contact.

Scale Outreach Without Hiring SDRs

Most B2B teams underestimate the work before sending: buyer-language research, list logic, DNS, warm-up, deliverability, copy testing, and reply handling. Modern Inbound runs the operating layer so founders can stay focused on sales calls.

Frequently Asked Questions

Does Apollo have a native Salesforce integration?
Yes. Apollo's native Salesforce integration is available on the Professional plan ($79/user/month, annual) and above. It supports two-way sync for contacts, accounts, email activity, and call logs. The free and Basic plans only support CSV export to Salesforce.
How often does Apollo sync data to Salesforce?
Apollo syncs to Salesforce every 15 minutes on the Professional plan. Organization-tier accounts get near-real-time sync. You can also trigger a manual sync on individual contacts from within Apollo's contact view.
What happens to duplicate contacts when Apollo syncs to Salesforce?
Without duplicate rules configured, Apollo creates a new Lead record for every contact it encounters, including ones already in your Salesforce org. Set Apollo's deduplication key to email address with company domain as fallback. This is the most common cause of Salesforce record inflation when connecting the two tools.
Can I use Zapier instead of the native Apollo Salesforce integration?
Technically yes, but Zapier is the wrong tool for this workflow. It handles one-way contact pushes but can't do activity logging (email opens, replies), two-way stage sync, or real-time updates. It also adds latency and per-task cost. If you're on Apollo Basic, upgrade to Professional instead of building a Zapier workaround.
Rishabh Ambasta

Rishabh Ambasta

Founder of Modern Inbound

I've worked across SaaS outbound teams from $1M to $50M ARR and now run a boutique cold outreach agency. I've generated millions in pipeline through creative, low-conflict outbound systems.

Get the outbound breakdown.

Real campaigns we ran this month. Numbers, copy, what worked, what didn't. Drop your work email.

Any email works.

Ready to fill your pipeline?

We build cold outbound systems that book 20-30 qualified meetings per month. No long-term contracts.

Book a Strategy Call