Understand Salesforce Sync Behavior

Article author
Updated

Overview

When you integrate Salesforce with Apollo, sync settings determine which records move between the two platforms. Understanding these rules can help you plan a successful Salesforce integration and troubleshoot unexpected results.

Check out the following guide to understand what syncs between Apollo and Salesforce, when it syncs, how records are mapped and linked, and which Salesforce credentials Apollo uses.

Back to Top

How Sync Works

The Salesforce integration includes bidirectional syncing. Sync refers to how data is shared between Salesforce and Apollo.

Salesforce → Apollo: Your Salesforce pull settings set the rules for what's pulled from Salesforce into Apollo.

Apollo → Salesforce: Your Salesforce push settings determine how data is pushed from Apollo to Salesforce.

Record type ⇣ Salesforce to Apollo ⇡ Apollo to Salesforce

Contacts and leads

By default, Apollo pulls Salesforce contacts and leads into Apollo as contacts. If selective sync is enabled, records must meet all configured pull conditions before they're imported. Conditions can include things like owner, status, or created date. New Apollo contacts can be pushed to Salesforce contacts or leads, depending on your push settings. You can use selective sync to only push contacts based on certain stages.

Accounts

By default, Apollo pulls Salesforce accounts into Apollo. If selective sync is enabled, records must meet all configured pull conditions before they're imported. You can separately enable Apollo to infer missing account names or websites. Apollo can create or update Salesforce accounts based on your push settings. You can use selective sync to only push accounts based on certain stages. Pushing a contact can also create or update its associated account, even when account push is turned off.

Opportunities and deals

Enable deal sync to import Salesforce opportunities as Apollo deals. Salesforce is the source of truth for previously synced deals. If you turn off deal sync, previously imported deal data remains in Apollo, but active syncing stops. You can push new and updated Apollo deals to Salesforce opportunities when deal push settings are enabled.

Tasks

Enable pull tasks to import Salesforce tasks to Apollo. Apollo pulls both completed tasks and scheduled or open tasks. You can push tasks to Salesforce with your push settings.

Other activities

You can only pull tasks from Salesforce to Apollo. Emails, notes, calls, meetings, and conversation summaries can be pushed to Salesforce; all have separate push settings. Check email sync behavior and how activities are pushed.

Custom objects

When enabled, Salesforce custom objects sync pulls read-only custom objects from Salesforce to Apollo. Apollo custom object data is read-only; changes aren't pushed back to Salesforce.
 
Visibility =/= Sync Control

With record visibility, you can hide records pulled from Salesforce like contacts or deals so that your team doesn't see them when prospecting in Apollo. However, this doesn't disconnect the integration or prevent the records themselves from syncing. Additionally, hiding synced deals doesn't prevent Apollo automations from updating them in Salesforce.

Back to Top

Users and Attribution

Your team sync connection handles account-wide Salesforce sync, so individual users don't need to connect personal Salesforce credentials for syncing. Users can still connect their own credentials to access private or shared Salesforce views in Apollo.

The Salesforce user who creates a record, the record owner, and the Apollo record creator can be different users. Understanding each role helps your team manage the Salesforce integration.

User Purpose

Team sync

Apollo uses the Salesforce credentials connected for the selected team sync user for most account-wide sync jobs. Salesforce uses the Salesforce account behind those credentials for its CreatedById. If the team sync user's connection uses a dedicated Salesforce integration-user account, Salesforce shows that integration user in the Created By field for records created through those jobs. An admin can select another eligible Apollo user for team sync if needed.

Owner

An owner identifies the Salesforce user assigned to manage the record. Use this field for record assignment, routing, and ownership reporting.

Created by

In Apollo, the created_by field identifies the Apollo user who created a record. However, Salesforce sets its CreatedById to the Salesforce user whose credentials sync the record. For most team-level creates, this is the Salesforce account connected for the team sync user.

For proper creator attribution, you can map Apollo's created_by field to Salesforce's CreatedById field to attribute a supported new contact, lead, account, or deal to the Salesforce user matched to the Apollo record creator. This mapping doesn't change record ownership or update existing records. If Apollo can't match the creator to a Salesforce user, Salesforce falls back to the user whose credentials sync the record. Creator attribution requires Salesforce's Set Audit Fields upon Record Creation permission on the Salesforce account Apollo uses for syncing.

Back to Top

Field Mapping

Field mapping determines how Apollo data is shared with Salesforce. Use it to connect Apollo fields to the corresponding Salesforce fields and control how Apollo writes enrichment data.

Data Values

Contact, lead, and account fields

Your field mapping connects Apollo fields to Salesforce fields, while data writing rules control whether Apollo updates a Salesforce value during enrichment.

  • Use Auto-fill to add Apollo data only when the mapped Salesforce field is empty.
  • Use Overwrite to replace an existing value when Apollo has different data.

Manual enrichment takes precedence over data writing rules.

Opportunity fields

Apollo automatically maps recognized deal fields. You can review deal field mapping and add mappings for additional fields. If needed, create a custom Apollo field to match a Salesforce opportunity field.

Opportunity stages are managed in Salesforce. Apollo reflects those stages in its connected deal pipeline, so you can't create new deal stages in Apollo while Salesforce is integrated.

Contact and lead source

Apollo sends a default source value of Apollo when creating new Salesforce contacts or leads. This goes in the lead source field. You can update the value in push settings.

Email, task, and call titles

Activity-specific title templates control the titles Apollo sends to Salesforce. You can optionally configure these in the advanced push settings for activities.

Back to Top

Sync Conditions and Triggers

Contacts and accounts support selective sync conditions.

Selective sync supports up to twenty conditions, or rules, that determine which records should be pulled from Salesforce. You can combine conditions with AND logic within a condition group. For example, if you filter by owner and created date, a record must match both conditions to be pulled. You can configure additional conditional groups that act on OR logic; records are only imported if they meet all the conditions of at least one group.

Changing a field or stage mapping doesn't automatically re-pull existing records. Use manual pull all for the relevant record type to apply updated mappings to existing Apollo records.

 
The Fine Print

Manual pull all isn't available for contacts or accounts while selective sync is enabled. Review your team's pull conditions before changing selective sync settings.

Back to Top

Sync Timing

Sync timing depends on the record type, the type of sync, and the number of records being processed.

Sync Expected behavior

Initial import and manual pull

The initial integration import and manual pulls can take several hours, depending on the number of records in Salesforce.

Ongoing contact and account sync

Most push and pull syncs complete within 15–30 minutes after a record is created or updated. This is an expected completion window, rather than a guaranteed delivery time.

Manual push

A manual push sends the selected records to Salesforce in real time. This action is available after push is enabled and the initial Salesforce pull completes.

Custom object sync

After the initial import, Apollo checks for new and updated Salesforce custom object records every 15 minutes. You can manually sync a custom object to check for updates.

To review contact and account pull progress, open the relevant record type's sync settings. Review queue activity to see queued pulls or sync history to see completed runs. A completed run can show no updated records; this is normal when Apollo detects no changes.

Back to Top

Email Sync Behavior

If you choose to push emails to Salesforce, Apollo logs them in Salesforce as tasks. You can select which email types Apollo should send to Salesforce, like outgoing emails sent with Apollo vs. internal emails.

If you use the Apollo Chrome extension, the extension settings may override your selection for outgoing emails sent outside Apollo. Review those settings alongside your Salesforce push settings to ensure things are aligned.

The Salesforce records associated with an email determine where the task appears.

Associated record Where the email appears

Contact or lead

The email task appears on the matched Salesforce contact or lead.

Account

If the matched record is a contact linked to an account, the task may also appear on that account when no opportunity ID is associated with the email.

Opportunity

The email appears on an opportunity only when Apollo has an associated opportunity ID for that email. For example, you can select a deal or opportunity when logging an email through the Apollo Chrome extension. An email matched to a Salesforce lead can't be linked to an opportunity.
 
Inbox to Index

If you enable the email push setting Push emails even if sender or recipient doesn't exist in Salesforce, Apollo can create new Salesforce contacts when logging emails. Review this setting before enabling it to avoid adding contacts your team doesn't want in Salesforce.

Back to Top

Activity Sync Behavior

Tasks, calls, meetings, notes, and conversation summaries have separate Salesforce push settings. You can choose to push some, all, or none to Salesforce. When push is enabled, the activity type determines the Salesforce object Apollo creates and which records it associates with that activity.

Activity Where in Salesforce Associations and behavior

Task

Task

Tasks are linked to the contact or account. They aren't associated with opportunities. You can customize task titles through advanced push settings.

Dialer call

Task

Calls are logged as tasks and linked to the contact or account. They aren't associated with opportunities. You can customize call titles through advanced push settings. Transcripts and recordings aren't pushed to Salesforce.

Meeting

Event

Apollo creates one Salesforce event for each attendee linked to the meeting in Apollo who exists as a contact or lead in Salesforce. Each event contains the same meeting details and is linked to a different attendee. A meeting with three external attendees who exist in Salesforce produces three event records, one for each attendee. These records let the meeting appear on each attendee's activity timeline. To push calendar events where participants don't exist in Salesforce, enable Push all calendar events under activity push settings.

Note

Note

Apollo creates a Salesforce note for each Salesforce contact, lead, account, or opportunity associated with the Apollo note. If a note is associated with multiple records, Apollo creates a separate Salesforce note for each one. Apollo only attaches notes to records with a Salesforce ID and doesn't roll up a note from a contact to its account or opportunity unless the note is also associated with that record in Apollo. In Salesforce, notes appear in Notes & Attachments and can also appear in the record's activity timeline in Lightning.

Conversation summary

Activity feed

Enable and use deals in Apollo before pushing conversation summaries to Salesforce. For conversation summaries, the deal associated with the conversation determines whether the summary appears on a Salesforce opportunity. If a deal is associated, the summary can appear on the activity feed of the associated Salesforce opportunity. If no deal is associated, the summary appears on the related contact, lead, or account instead.

Back to Top

Next Steps

Keep your Salesforce connection aligned as your team's sync needs evolve.

Configure Salesforce Pull Settings Configure Salesforce pull settings to control which contacts, accounts, deals, and tasks Apollo imports from Salesforce.
Configure Salesforce Push Settings Configure Salesforce push settings to decide which Apollo records and activities your team sends to Salesforce.
Use Team Sync Authentication With the Salesforce Integration Set up team sync authentication to choose the Salesforce credentials Apollo uses for account-wide sync jobs.
Map Default Apollo Fields to Salesforce Map Apollo fields to Salesforce to keep contact, lead, account, and deal data in the right fields.
Create and Sync Custom Objects From Salesforce Create and sync custom objects to make relevant Salesforce data available alongside your Apollo records.

Back to Top