How does Unify integrate with Salesforce for opportunity and account data?

Last updated: May 5, 2026

Unify's Salesforce integration syncs account and opportunity data to help you build targeted audiences and track engagement. Understanding how this integration works will help you troubleshoot sync issues and configure your data properly.

How Opportunity Data Syncs

Unify ingests Salesforce opportunities as "Unify Fields" rather than separate opportunity objects. This means opportunity data becomes part of the company record in Unify rather than maintaining separate opportunity entities. You can use this opportunity data when building audiences and setting up exclusions.

Unify opportunity fields (such as Opportunity Stage) are direct copies of their corresponding Salesforce opportunity fields - for example, the Unify Opportunity Stage field is typically mapped to the standard Opportunity Stage field from your Salesforce instance.

Unify can associate both Salesforce Leads and Accounts with a single company record based on domain matching. When multiple record types exist for the same domain, Unify prioritizes the Account record and will link to it (typically because it has more associated contacts). However, both the Lead and Account remain associated with the Unify company record. This means a company may show as "existing in Salesforce" even when filtering for accounts specifically, because it exists as a Lead.

When multiple CRM integrations are active (such as both Salesforce and HubSpot), Unify pulls opportunity data from all connected sources. This means a company may appear in opportunity-based exclusions even if its Salesforce opportunity is closed, because it has an active opportunity in another connected CRM.

Required Fields for Successful Sync

For successful synchronization, Unify requires two essential fields to be populated in Salesforce:

Additionally, Email is required for contacts and leads to sync to Unify. Records without email addresses will not appear in Unify audiences, which is a common cause of count discrepancies between Salesforce and Unify.

  • Company Name: Mapped from Salesforce 'Name' field

  • Domain: Mapped from 'Website' or custom domain fields like 'Website_URL__c'

  • Have the same domain in Salesforce

  • Have different domains that redirect to the same domain (e.g., when one company is acquired and their old domain redirects to the acquiring company's domain)

  • Are hosted on the same domain (e.g., WordPress domains)

  • Email: Required for contacts and leads to sync to Unify

Records missing either of these required fields will fail to sync and appear in read errors. When configuring schema mapping, ensure the domain field points to the correct Salesforce field that contains website/domain information for your accounts.

Default Exclusion Behavior

Companies with closed-won opportunities are automatically excluded from audiences by default to prevent outreach to existing customers. This exclusion must be manually toggled off if you want to include closed-won accounts in your audiences. When creating audiences with opportunity data, check exclusion settings if expected records are missing from your audience results.

Field Sync Behavior

Some fields have specific sync behaviors to be aware of:

  • The 'Last Activity Date' field in Unify is sourced directly from Salesforce's 'Last Activity Date' field and is read-only, meaning Unify will not write back any changes to this field in Salesforce

Troubleshooting Sync Issues

Identifying Sync Problems

Check the read errors page at Settings > Integrations > Salesforce > Errors (READ tab) to view accounts that failed to sync due to missing required fields or invalid data. This page shows specific records that couldn't be processed and the reasons for failure.

If you notice that leads or contacts exist in Salesforce but are missing from Unify audiences, verify that all contacts and leads have email addresses populated, as records without emails will not sync.

Resolving Sync Issues

  1. Fix missing required fields (Company Name and Domain) in Salesforce

  2. Update schema mapping in Unify if needed to point to correct Salesforce fields

  3. Request a manual sync to update the data after making corrections

  4. To view all active opportunities associated with an account across all connected CRMs, scroll down on the account record in Unify.

Note: The read errors UI may not update immediately after fixing issues in Salesforce, but the actual sync functionality will work correctly once the underlying data is corrected.

Understanding Exclusion Limitations

When filtering audiences with "Doesn't Exist in Salesforce as an account," be aware that companies may still appear if they exist as Leads in Salesforce. To exclude companies that exist as either Leads or Accounts, use Exclusions (Settings > Exclusions) based on Salesforce Lead or Contact fields rather than relying solely the account filter. You can then control which audiences apply these exclusions to by toggling exclusions on or off in the audience's Advanced settings.

Important: Contacts matching exclusion criteria may still appear as "queued" in your sequences. This is expected behavior – exclusions are checked at send time, not when contacts are added to the queue. Contacts matching any active exclusion criteria will be automatically skipped when the sequence attempts to send. For exclusions to work properly, ensure they are toggled on at both the organization level (Settings → Organization → Exclusions) and within the sequence itself.

Exclusions in Unify apply globally across all sequences, not at the individual sequence level. You cannot exclude contacts from one sequence while including them in another. To create different audience segments with varying exclusion criteria, create separate exclusion rules and audiences rather than trying to apply exclusions at the sequence level.

When setting up exclusions, you can choose whether the exclusion applies to:

  • The company has an active opportunity in a different connected CRM (e.g., HubSpot) even though the Salesforce opportunity is closed. When multiple CRM integrations are active, Unify pulls opportunity data from all connected sources, so a company may appear in opportunity-based exclusions if it has an active opportunity in any connected CRM.

  • Both audiences and sequences

  • Audiences only (allowing excluded contacts to still receive sequences)

Accessing Salesforce Account Filters

For companies, Salesforce Account fields are directly available in the company filters.

For people, click to access nested conditions, then add Salesforce Account as a nested condition.

Note that Salesforce Lead and Contact fields appear separately from Salesforce Account fields in the filtering interface.

Salesforce Writeback Limitations and Configuration

Intent Field Writeback Restrictions

Company intent level and intent score fields only write to Salesforce Accounts, not Leads. If you're checking these values on Lead records, they will not populate.

Configuration tip: Verify your field mappings to confirm the "Unify Intent Level" company field is mapped to an Account field, not a Lead field.

Empty Field Write Policy

Unify will only write to empty fields in Salesforce and will not overwrite existing values. If a Salesforce field already contains data, Unify will not update it.

Workaround: To update fields that already have values, you'll need to set up automation in Salesforce (such as a Flow) to move Unify values to your desired fields.

Write Error Monitoring

While read errors appear in the main integration settings, write errors have a separate location: Navigate to Settings > Salesforce Integration > Skipped Records > Account write errors to see records that Unify couldn't write back to Salesforce. Hover over the error to see the specific reason it was skipped.