Salesforce Integration Overview

Article author
Apollo Team
Updated

Overview

Integrating Salesforce with Apollo enables you to access and keep your data synchronized within both platforms.

Before you integrate Salesforce with Apollo, there are several important details to remember that can help you streamline the setup process and reduce the risk of unnecessary errors when integrating Salesforce.

Check out the following sections to learn more about the Salesforce integration.

Back to Top

How It Works

Once you connect Salesforce to Apollo, the integration keeps your data aligned by pulling records from Salesforce into Apollo and pushing updates from Apollo back to Salesforce based on your sync settings.

Apollo automatically pulls leads, contacts, and accounts from Salesforce on a recurring basis so your team can see existing CRM records while prospecting in Apollo and avoid accidentally working records that already exist in Salesforce. You can also manually pull records after setup, and Apollo continues syncing new or updated Salesforce records on a recurring schedule.

Push settings control how Apollo sends data back to Salesforce. You can choose whether Apollo creates new people as leads or contacts, define when new contacts or accounts should push based on stages or other settings, and Apollo pushes updates to existing synced records automatically in real time when changes occur so your contact information is constantly enriched by Apollo.

In addition to CRM records, Apollo can also push activity data to Salesforce. This includes emails, notes, tasks, calls, meetings, and conversation summaries created in Apollo. Activity sync is configured separately in push settings, and Apollo recommends enabling contact, account, or deal sync first to avoid activity sync failures.

Ownership Over Origins

When Apollo creates or syncs records and activities in Salesforce, the Created By field typically reflects the connected Salesforce user or team sync user for the integration. This is expected behavior and aligns with common Salesforce integration patterns.

For ownership, assignment rules, routing, reporting, and downstream Salesforce logic, Apollo recommends using the Owner field instead of Created By. Created By isn't a sync setting that Apollo dynamically assigns per Apollo user, and relying on it for attribution logic can create avoidable sync and permission issues.

Field mapping and data writing rules define how information is structured between both systems. Mapping ensures Apollo fields match the correct Salesforce fields, while auto-fill and overwrite settings determine whether Apollo fills empty CRM fields or updates existing Salesforce values during enrichment.

Together, sync settings and field mapping allow Apollo to mirror your Salesforce data while giving you control over what syncs, when it syncs, and how updates are written back to Salesforce.

Back to Top

Get Started

Connect the integration: Connect Salesforce in Apollo via integrations. Once connected, Apollo begins preparing your workspace for sync, including pulling your existing Salesforce data and initializing default settings.

Data mapping: Next, map Apollo fields to Salesforce fields so your data syncs correctly. You can also configure data writing rules like auto-fill or overwrite to control how Apollo enriches and updates your Salesforce records. If you have custom fields, map custom fields from Salesforce to Apollo Learn more about stages and fields.

Pull settings: Apollo automatically pulls records on a recurring basis, but you can adjust visibility and control how specific objects appear in Apollo. Configure how Apollo pulls leads, contacts, accounts, and opportunities from Salesforce. Learn more about sync settings.

Push settings: Configure how Apollo pushes data back to Salesforce. Choose whether new records are created as leads or contacts, define when records sync, and control how updates are sent in real time. Learn more about sync settings.

Window of Opportunity

For paid Apollo plans, after you enable the Salesforce integration there's a 6-hour window of time to configure pull settings, push settings, and field mapping. This gives your team time to properly configure the integration.

During this time, you can't manually pull records. After 6 hours, syncing is automatically enabled.

Fields and Stages

In order for Salesforce and Apollo to sync correctly, map Apollo fields to the fields in Salesforce and configure data writing rules. This ensures data parity across both platforms.

Autofill or auto-overwrite are data writing rules that determine how Apollo manages Salesforce data when you enrich it with Apollo:

  • Auto-fill: Apollo automatically uses information within the Apollo database to fill in the field from Salesforce. This only happens if a field is empty and Apollo has relevant information available.
  • Overwrite: Apollo automatically overwrites the existing information in the field from Salesforce with the information within Apollo. This only happens if the information differs between the two platforms and Apollo has relevant information available.

Autofill and auto overwrite only run when Apollo pulls information from Salesforce. Learn more about data writing rules with the Salesforce integration.

 
Manual Mode

Manual actions always take precedence. If you manually enrich a field during CRM enrichment, Apollo pushes that update even if you haven't enabled auto-fill or overwrite settings for a field.

Back to Top

When you integrate Salesforce, Apollo automatically creates a pipeline for deals with the same stages as your Salesforce opportunity stages and deactivates the creation of new deal stages in Apollo.

Check out Map Apollo Deals to Salesforce Opportunities for more information about the automatic stage mapping between Apollo deals and Salesforce opportunities, and manual field mapping between deals fields and Salesforce opportunity fields.

Check out Map Apollo Fields in Salesforce to learn more about field mapping and configuring auto-fill and overwrite settings.

Back to Top

Sync Settings

With the Salesforce integration, your sync settings determine how Apollo and Salesforce share data between both platforms. Push settings refer to pushing data from Apollo to Salesforce. Pull settings refer to pulling data from Salesforce to Apollo.

Apollo always pulls your contacts, accounts, and deals from Salesforce. This allows Apollo to remove any matches from the Apollo database. It also prevents your team from accidentally prospecting records in Apollo that already exist in Salesforce.

After connecting the integration for the first time or triggering a manual pull, the sync process may take several hours to complete, depending on the number of records in your CRM. After that, Apollo automatically syncs any new or updated records from Salesforce every 30 minutes.

When Apollo identifies a lead and a contact for the same person in Salesforce, Apollo always pulls the contact, not the lead. This is the only form of deduplication that Apollo runs against Salesforce.

You can't deactivate the automatic pull for leads, contacts, and accounts, but you can hide them from view in Apollo. For more information, follow the steps in Configure Salesforce Pull Settings. To update the pull settings for Salesforce opportunities, check out Map Apollo Deals to Salesforce Opportunities.

Back to Top

Push settings relate to how Apollo pushes data from Apollo to Salesforce. Unlike pull settings, you can choose whether to enable push settings for Salesforce.

Once enabled, Apollo syncs saved records and updates to Salesforce in real time.

Changing the lead or contact sync setting doesn't convert existing records. When you update whether Apollo creates new records as leads or contacts, the change only applies to new records. Learn more on Configure Salesforce Push Settings.

Back to Top

Back to Top

Avoid Duplicate Records

There are several key de-duplication rules to consider when connecting Salesforce.

When you integrate Salesforce, Apollo mirrors the data in Salesforce. If you have duplicate leads, contact, or accounts in Salesforce, these same duplicates reflect in Apollo, too. To avoid duplicate records, clean and deduplicate Salesforce before you integrate with Apollo.

If Apollo pulls a duplicate from Salesforce, Apollo displays a potential duplicate message on the contact or account and in the activity log.

When you manually create a duplicate record in Salesforce, Apollo automatically creates the same record. Likewise, if you enable Salesforce push settings and create a duplicate record in Apollo, Salesforce creates the same record within Salesforce.

Apollo doesn't automatically delete or merge the duplicates that you manually create. If you decide to delete or merge any of these records, you must manually merge or delete.

If duplicate records have already been synced from Salesforce to Apollo, you have two options to remove them:

  • Delete: If you enable the appropriate settings in Apollo, you can delete duplicate records in either Apollo or Salesforce and the deletion will sync for both.
  • Merge: If you enable the appropriate settings in Apollo, you can merge duplicate records in Salesforce and the changes will sync to Apollo. Once you merge a duplicate, Apollo will only sync information for the remaining record with Salesforce.

To change these settings:

  1. Launch Apollo and click Settings > Integrations.
  2. Click View next to the Salesforce integration.
  3. On the Salesforce integration page, select from Contacts, Leads, Accounts, or Deals, then click Sync.
  4. Click the checkboxes to enable deletion sync or merge sync.
Merge and deletion sync settings highlighted
Mind the Merge

If you merge records in Salesforce and have merge sync enabled, Apollo mirrors that merge and combines the records under the same Salesforce ID in Apollo.

If you merge records in Apollo, that merge doesn't sync to Salesforce. The merged record stays linked, and the other record is unlinked. Salesforce still keeps both records until you merge or delete them there.

If you have activity sync enabled, activities follow the system where the merge happens. Apollo combines activities only when the merge happens in Apollo, while Salesforce handles its own activity merges separately.

If you unmerge records in Salesforce, Apollo doesn't reverse previously synced merges, so you may need to manually fix duplicates in Apollo.

Back to Top

View Errors

Use the Salesforce integration error log to view any sync errors that Apollo receives from your Salesforce.

The error log displays errors that Apollo receives when pushing information to Salesforce. These errors are Salesforce responses that usually indicate a restriction from Salesforce, such as hitting a custom validation rule or rate limits for your connected instance.

 
Picklist Problems

If you see errors like INVALID_OR_NULL_FOR_RESTRICTED_PICKLIST or bad value for restricted picklist field Salesforce rejected a value sent from Apollo because it isn't allowed or the required fields are missing.

Retrying without fixing the issue won't resolve the error.

Check the error log to identify the field causing the issue, then confirm the value exists in Salesforce and matches the allowed picklist values exactly. If your Salesforce uses record types, make sure the selected record type allows that value. Picklist options can vary by record type.

After updating the field mapping or adding the correct values in Salesforce, retry the sync from the error log or by manually syncing.

Back to Top

Use Apollo on Salesforce

If you spend most of your prospecting cycle on Salesforce, you can use Apollo directly on Salesforce. After you connect the integration and configure fields and sync settings, add the integration directly into Salesforce:

To use Apollo on Salesforce:

  1. Log into Salesforce and create a Visualforce page.
  2. Name the page and the label Apollo.
  3. Paste the following snippet into the Visualforce markup.
<apex:page standardController="Account">
    <apex:iframe src="https://app.apollo.io/#/embedded-crm/account?crm_object_id={!account.id}"/>
</apex:page>
  1. Save the Visualforce page, and navigate to an account in Salesforce.
  2. Click Settings > Edit Page.
  3. Click a tab, then add a tab to the page. Change the tab type to Custom. Enter Apollo for the name.
  4. Drag the Visualforce component into the tab's empty space.
  5. Select the Apollo page you just created, and set the height to 450.
  6. Click Save.
  7. Navigate back to an account page, and click Apollo. Apollo shares prospects from the selected account.

You can save contacts to Apollo, email them from Apollo, add to them to a sequence, add them to a list, export to Salesforce, and assign owners or accounts.

You have now used Apollo on Salesforce.

Back to Top

Next Steps

Here are a few solid next steps to keep your Salesforce integration running smoothly.

Integrate Salesforce With Apollo You can connect your Salesforce account to Apollo to keep contacts, accounts, and activities flowing cleanly between both systems without surprises.
Configure Salesforce Pull Settings Make sure your team gets the freshest CRM data by configuring Salesforce pull settings to control how Apollo brings contacts, accounts, and opportunities into your workspace.
Configure Salesforce Push Settings Avoid data drift by configuring push settings to send updates from Apollo back into Salesforce exactly the way your CRM workflows expect.
Map Apollo Deals to Salesforce Opportunities You can map Apollo deals to Salesforce opportunities to keep stages, fields, and deal activity aligned for cleaner reporting on both sides.
Access the Salesforce Error Log in Apollo If something feels off, quickly troubleshoot by checking the Salesforce error log to pinpoint sync conflicts before they disrupt your workflows.

Back to Top