Salesforce Integration

Written By: Sam KoekemoerContributors: Yusuf Young

SharpSpring’s Native Salesforce Sync

SharpSpring has a built in Salesforce setup module. Note that this costs $100/month extra. Here is how it works.

Why should you sync Salesforce with SharpSpring?

Using SharpSpring’s Salesforce sync allows you to align sales and marketing by letting you do this, among many other things:

  1. Prove sales results and see which marketing campaigns give you most sales.
  2. Have all contacts with correct information in the correct marketing lists.
  3. Allow sales to see information about what their contacts are doing on the website and in your marketing emails.
  4. Create sales automations that allow sales to add contacts into nurturing and sales automations.
  5. Nurture and follow up contacts with onboarding campaigns, reactivation campaigns, cross- and upselling campaigns, and other marketing activities based on Salesforce activity.

What we need to set it up

  • Login to Salesforce (Administrator)
  • Automatic password expiration must be turned off
  • Salesforce license with API Access (Enterprise, Unlimited, and Performance editions historically, check their current packages to confirm)
  • Leads MUST have a Company name to be synced, but do not need to be linked to an Account.
  • Contacts only require an Email address

Integration Steps

  • If there are any Contacts in SharpSpring:
    1. Export all contacts from SharpSpring
    2. Import all contacts into Salesforce
    3. Export all data from Salesforce (Leads & Contacts) - this is the only way to get the full Salesforce ID
    4. Import Contacts to SharpSpring (include Salesforce ID and map to External CRM ID) - they must have a Contact lead status
    5. Import Leads to SharpSpring (include Salesforce ID and map to External CRM ID) - their Lead Status must be Open, Qualified or Unqualified.
  • If there are no existing contacts in SharpSpring, follow the steps 3-5 above
  • Request API token from Salesforce
  • Turn on the sync, map relevant fields


  • Existing contacts in SharpSpring when the sync is turned on won't be synced across. They need to be imported into Salesforce (if they don't exist already), exported and imported into SharpSpring with the Salesforce ID. Import Contacts first, then Leads.
  • New contacts created while the sync is turned on will automatically be created in Salesforce. Company Name is required for all Leads, but not Contacts.
  • Existing contacts in Salesforce won't be synced to SharpSpring unless the above method is followed in the initial setup. New contacts created henceforth will sync though.
  • Lead Status: SharpSpring uses the Lead Status field to indicate whether someone is a Lead or a Contact in Salesforce. For example, if you have a contact in Salesforce with the Lead Status of Open in SharpSpring, they will generate an error on the sync - their Lead Status must be Contact.
    • Open, Qualified, Unqualified Lead Status: Indicates a Lead in Salesforce
    • Contact Lead Status: Indicates a Contact in Salesforce
  • Owners: Must be imported into SharpSpring with the Owner's email address mapped to the Lead Owner field in SharpSpring. This means that in your Salesforce export, you will need to merge the Owner Email into the Contact and Lead sheets using a VLOOKUP formula.

Troubleshooting Options:

When there is missing information in either system when syncing is turned on for the fields where information is missing, the most likely cause is that there simply has not been an update to these contacts which would trigger a sync for them. The solution is to force these contacts to sync instead.

  1. Create Force Sync custom field on Salesforce side and SharpSpring side
  2. Map Force Sync to Force Sync in field mappings and select Always Use SharpSpring value
  3. Use Bulk Edit in SharpSpring to populate a test value for the custom field for all applicable leads
  4. Wait for next sync pull in about 15 minutes to see whether unsubscribe field value and Force Sync field values carry over into Salesforce

What it syncs

Two-way sync of Leads and Contacts in Salesforce, with Contacts in SharpSpring incl. Lead Owner.

  • New contacts or Leads in Salesforce will automatically be added as Contacts in SharpSpring.
  • New contacts in SharpSpring will automatically be created as new Leads in SharpSpring.

All standard and custom fields on contacts and leads.

  • Picklists/dropdown fields must exist in Salesforce first, and then created in SharpSpring during sync setup. Any new picklists created after the initial setup must first be created in Salesforce, then added to the sync setup in SharpSpring, which will automatically create the matching SharpSpring field.

Events (Life of the Lead). We can select which events to sync (these will be created as Tasks in Salesforce):

  • Form Submissions
  • Email Sends
  • Email Opens
  • Email Clicks
  • Page Visits

Campaign attribution reports in SharpSpring:

  • Measure pipeline and revenue by marketing campaign, channel or initiative.
  • How it works is that Opportunities in Salesforce syncs to Opportunities in SharpSpring, but hidden in SharpSpring since they’re meant to be worked on from Salesforce.

Sync of Campaigns in Salesforce to Campaigns in SharpSpring. Campaigns as a feature exist in both systems, each contact is assigned to one primary campaign which is synced across. Dashboards can be created in Salesforce from this data.

Salesforce Widgets. You can create two types of widgets in Salesforce:

  • Lead score widget - displays the SharpSpring lead score on the contact
  • Lead link widget - show a link to the contact in SharpSpring

Link from SharpSpring contact to Salesforce lead/contact (and vice versa using widget mentioned above).


There is no way to filter which contacts are synced, and which contacts are not (except for excluding all existing contacts when doing initial setup).

Considerations for initial setup

  • No existing contacts will be synced in either direction when the sync is turned on, unless we follow the integration steps that allow existing contacts to be synced. This is because SharpSpring uses the Lead/Contact ID from Salesforce to match leads/contacts, not their email address. This lets us choose whether to sync existing contacts or not.
  • Company Name is required for all Leads in Salesforce, so it should ideally be added and required on all forms.

PieSync/Zapier Salesforce Sync


Currently $12/m (when created from within SharpSpring)


  • Cannot sync Lead Owners


Unknown - Not yet implemented for anyone