Skip to main content
Available on the Pro, Teams, and Enterprise plans.
The Salesforce integration syncs Wave contacts into Salesforce as either Leads or Contacts, your choice at setup. Wave uses a custom external ID field to upsert records, preventing duplicates even if a record already exists. Both production and sandbox Salesforce environments are supported.

How to Connect

1

Open the integration

Go to Integrations → Salesforce.
2

Choose a record type

Choose whether to sync contacts as Leads or Contacts.
3

Enable auto-sync (optional)

Turn on Auto-sync to import all existing Wave contacts immediately.
4

Connect Salesforce

Click Connect and sign in to your Salesforce account.
Wave requests offline access (to keep the connection active without repeated logins) and read/write access to create and update records in Salesforce.

Field Mapping

By default, contact fields sync to the Salesforce fields listed under What Gets Synced below. You can send any of these fields to a different Salesforce field, including custom ones, and sync additional fields such as work email or labels.
1

Open your integrations

Go to Integrations → Active.
2

Open field mapping

On the Salesforce integration, click Field Mapping.
3

Choose a destination

Each row pairs a Wave Contact Field with a Salesforce field. Pick a field from the second column, or click the X to stop syncing that field.
4

Add a field (optional)

Click Add field to map a contact field that isn’t in the table yet.
5

Save

Click Save. The new mapping applies to the next sync.
The Salesforce fields in the list are read live from your connected account, so any custom field you created appears alongside the standard ones. If you add a field in Salesforce while the window is open, click the refresh icon in the column header to reload the list.

What Gets Synced

The table below is the default field mapping. You can change it from the Field Mapping section above. For address fields, the first name applies when syncing as Leads and the Mailing* variant when syncing as Contacts. Sync direction: Wave → Salesforce (outbound only) When it syncs: Real-time on contact create, update, or delete

Features

  • Leads or Contacts: choose the Salesforce record type that fits your workflow.
  • Sandbox support: connect to a Salesforce sandbox environment for testing.
  • Auto-sync on connect: import all existing Wave contacts on first connection.
  • Deduplication: a custom external ID field (WaveConnectId__c) is created automatically and used for upserts, so re-syncing never creates duplicates.
  • Owner assignment: contacts are assigned to the Salesforce user whose email matches the Wave team member.
  • Field mapping: choose which Salesforce field each contact field syncs to, including custom fields.

Manually Adding the External ID Field

Wave normally creates the WaveConnectId__c external ID field automatically when you connect. You only need this step if you connect without a Salesforce admin account, since creating a custom field requires admin permissions. In that case, have your Salesforce administrator add the field manually as a backup.
1

Open the Lead object

In Salesforce Setup, open Object Manager and select the Lead object.
2

Check for the field

Under Fields & Relationships, check whether WaveConnectId__c already exists.
3

Create the field

If it doesn’t exist, click New, select Text as the field type, and name it so the API name is WaveConnectId__c.
4

Set field-level security

Confirm that Standard User has read/write access to the field.
5

Add to page layouts and save

Add the field to the relevant page layouts, then save.
If the field already exists, open it and select Set Field-Level Security to confirm Standard User has read/write access. For full details, see the Salesforce setup guide.

Limitations & Requirements

  • The custom field WaveConnectId__c is created automatically on your Salesforce account. Do not delete or rename it. It is used for deduplication.
  • For Leads, the Company field is required by Salesforce. If a Wave contact has no company, it defaults to N/A.
  • If Salesforce detects a duplicate via its duplicate rules, Wave overrides the rule and saves the record.
  • Owner matching is by email. If no matching Salesforce user is found, the contact is saved without an owner.

Disconnecting

Go to Integrations → Salesforce and click Disconnect. This removes the integration and revokes Wave’s access. Records already synced to Salesforce are not deleted.