Skip to main content

Installing the Salesforce Integration

Connect Ocean.io to Salesforce and supercharge your outreach.

Connecting Ocean.io to Salesforce takes just a few clicks. Once connected, you can start exporting companies and contacts directly into Salesforce right away.

⚠️ This integration is available on our annual plans and is compatible with Salesforce Enterprise, Unlimited, Developer, and Performance editions only. To verify your edition, check which version of Salesforce your company is using. We don't have a set price point yet for the plan add-on, it will soon be available as a standalone option. In the meantime, reach out to us at [email protected] and we'll help you get access.

Start the setup

Head to Profile → Integrations and hit "Connect" next to Salesforce.

The Salesforce card in Settings, Integrations, with the Connect button

💡 Note: If the button says "Connect", the integration is enabled for your account and you can start. Once Salesforce is connected, the button changes to "Connected". To adjust your setup preferences later, click "Connected" and choose "Configure". If it says "Continue setup", you have not finished the setup steps below yet. If it says "Get access" instead, the integration hasn't been enabled for your account yet, likely because it's not included in your current plan. Reach out to us at [email protected] and we'll help you get set up.

Connect your Salesforce account

You'll be taken to Salesforce to complete the permissions form. Grant the required access and you're connected.

After connecting, you'll be redirected to the configuration page. You can cancel out at any point, your integration is already live and you can start exporting straight away. That said, we recommend quickly browsing through the steps and making any adjustments that make sense for your setup.

💡 You can always come back to configure later via Profile → Integrations → click "Connected" next to Salesforce → Configure. You can also remove the integration from the same menu.

Read more about the accesses required in our CRM data processing FAQ.

The setup has 7 steps. Use Next to move on. The last step has Finish.

Step 1 — Map company properties

Ocean.io automatically pre-maps the most important company fields so you're ready to export without lifting a finger. Browse through and adjust anything if needed. Any fields left unmapped will simply be ignored during export.

Your Salesforce might have mandatory fields. Make sure they're mapped on this page. Contact your system administrator for a full list.

Each mapped row also has a write rule, in the Existing values column. It tells Ocean.io what to do when the record already exists in Salesforce:

  • Always overwrite: replaces values that differ from Ocean.io's

  • Write if empty: fills the field only when it's empty. This is the default

  • Never write: leaves the field out of exports. It is also left off new Leads

A new record gets every value except the fields set to Never write. The fields that identify a record, such as an account's name and website and a contact's name and email, are always Write if empty. They are greyed out and can't be changed. Only managers can change a write rule. The rules apply to every export, including exports from workflows.

💡 Can't find the right Salesforce property? You can create a custom property directly from the dropdown by clicking "+ Create custom property". To remove an existing mapping, click "Remove mapping" next to the field.

Step 1, Map company properties, with the Existing values write rule on each row

⚠️ If you create a new custom property, make sure to give Ocean.io permission to edit it in your Salesforce settings afterwards.

Step 2 — Map person properties

Same as companies, key contact fields are pre-mapped and ready to go, and each row has the same write rule. Browse through and adjust anything if needed. Any fields left unmapped will simply be ignored during export.

💡 Can't find the right Salesforce property? You can create a custom property directly from the dropdown by clicking "+ Create custom property". To remove an existing mapping, click "Remove mapping" next to the field.

Step 2, Map person properties

Step 3 — Map Ocean properties

Choose where Ocean.io writes its own values in Salesforce.

Step 3, Map Ocean properties, with the five Context columns

The Context columns card sets up five columns for exports of companies from Recommendations or from a segment's lookalikes: Ocean score, Lead score, Segment score, Segment and Matched signals. The card only shows if Segmentation is turned on for your organization. To learn what each score means, read Score definitions.

For each column, pick an existing Salesforce Account field of a matching type, or choose a new field and Ocean.io creates it for you. Each column also has a write rule. For these columns the default is Always overwrite, so a new export replaces the old score.

New fields get a name that ends in _oceanio__c. Ocean.io creates them on both Account and Lead. When you continue, Ocean.io shows Choose who can see the new fields. By default the fields are visible to every profile Salesforce allows. To limit that, open the object's fields in Salesforce, click each new field, choose Set Field-Level Security and pick the profiles that can see it.

If Salesforce doesn't create a field, your Salesforce user needs permission to manage profiles. You can pick an existing field instead, or remove the column.

When you export companies, turn on Add Context columns in the export dialog to send them. Only managers can set up the fields. Everyone else sees "Ask a manager to set them up in integration settings."

Step 4 — Deals

Decide if and how Leads should be created in Salesforce when you export.

  • Automatically create leads: toggle this on to create Leads instead of Accounts and Contacts when you export. Toggle it off to create Accounts and Contacts instead

  • Pick the stage: select the pipeline and the stage that new Leads should start in

Step 4, Deals, with Automatically create leads and Pick the stage

⚠️ In Salesforce, this step creates a Lead, not an Account or Contact. Due to Salesforce's automated duplication prevention, both cannot be created simultaneously. When Lead creation is on, Ocean.io creates only Leads. When it is off, Ocean.io creates Accounts for companies and Contacts for people, under the right Account. Ocean.io never creates Opportunities.

⚠️ When Lead creation is on and you export people, Ocean.io matches each person to an existing Lead by email. It looks in Salesforce itself, so it also finds Leads that Ocean.io has not synced yet. A matching Lead is updated and no duplicate is created. Converted Leads are skipped. A person without an email always gets a new Lead. When you export companies, every company becomes a new Lead, even if you exported it before.

If your Salesforce has no Leads at all (checked at the last full sync), this switch is off by default. Then the Lead creation switch is also hidden in the export dialog and in workflow steps.

💡 Even if Lead creation is turned on here, you can always disable it on a case by case basis directly from the export dialog when exporting on the Ocean.io platform.

Step 5 — Sales funnel mapping

Mark which stages in Salesforce represent "Won" and "Lost" to sharpen your analysis. This powers your segmentation and CRM analysis.

💡 We recommend mapping at least one Opportunity stage and one Lead stage as Won and Lost for the most accurate results.

  • Won stage(s) — select the pipeline and stage that represent a successful deal. Click "+ Add new" to add multiple won stages

  • Lost stage(s) — select the pipeline and stage that represent a lost deal. Click "+ Add new" to add multiple lost stages

  • Open stage(s): optional. Pick the stages that represent a deal still in play. Once you map a pipeline here, its other stages count as disqualified instead of open

⚠️ Without sales funnel mapping, the Deal status filter inside Ocean.io will not work correctly.

Step 5, Sales funnel mapping, with Won, Lost and Open stages

Step 6 — Deal type mapping

Mapping your deal types will positively impact your search experience and CRM analysis.

  • Enable mapping — toggle this on to enable deal type mapping. If left off, Ocean.io will still sync your data but certain insights won't be available

  • Deal type field — once enabled, select the field in your Salesforce that represents deal type

Step 6, Deal type mapping

Step 7 — User matching

Match your Ocean.io users to their corresponding Salesforce users. This ensures that exports and activities are attributed to the right person in your CRM.

  • Ocean.io users are listed on the left, select their corresponding Salesforce user from the dropdown on the right

  • Need to add a user that isn't listed? Click "Add user" to invite them to your Ocean.io account

  • Matched users are the ones you can choose as the owner when you export

Step 7, User matching

⚠️ Without user matching, the Owner and Activity filters inside Ocean.io will not work correctly.

Automatic updates

Nothing to set up here. With the Bi-directional CRM Integration add-on, Ocean.io automatically receives the latest updates from Salesforce, including contact owners and last activity dates.

To make this work, Ocean.io turns on Change Data Capture in Salesforce for Account, Contact, Opportunity, Lead, Task, Event and Opportunity Contact Role. You may see this change in Salesforce under Setup → Deployment Status.

Salesforce limits how many objects can use Change Data Capture. If they do not all fit in your limit, Ocean.io checks the remaining objects for changes every 5 minutes instead.

Who owns the records Ocean.io sends

  • From the export dialog: the Assign to list shows your matched Salesforce users. The user you pick becomes the owner of every new account, contact and lead in that export. Records that already exist in Salesforce keep their owner.

  • From a workflow: the Send companies to CRM and Send people to CRM steps have an Owner setting. You can leave records unassigned, pick one user, rotate between reps, assign by rules (the first rule that matches wins), or use the same owner as the company. Records that already exist keep their owner unless you tick Reassign records already in the CRM. See Send companies to CRM and Send people to CRM.

How Ocean.io finds records that already exist

When exporting from Ocean.io to Salesforce, Ocean.io checks whether the record already exists. If it does, no duplicate is created. Ocean.io updates the record and follows the write rules from steps 1 to 3. It does not change the owner unless you ask it to, as described above.

  • Account: matched by website domain. Ocean.io checks the Website field, or the Salesforce field you mapped from Ocean.io's website. It ignores "http" and "www". If several accounts have the same domain, the oldest one is used. Names are not compared. A company without a domain always gets a new account.

  • Contact: matched by email. If a person has no email, Ocean.io looks for a contact with the same LinkedIn URL (only if you mapped LinkedIn URL to a contact field), then for a contact with the same first and last name under the same account.

  • Lead: matched by email. See step 4.

A record is skipped when a change to it in Salesforce is still syncing into Ocean.io. It shows as Ignored in Export history.

Source fields

New accounts get the value "Ocean.io" in AccountSource. New contacts and leads get "Ocean.io" in LeadSource. Ocean.io only sets it when it creates a record, never on a record that already exists. If you use a restricted picklist for one of these fields, add "Ocean.io" to it. Otherwise Ocean.io leaves the field empty.

Campaigns

In a workflow, the Send people to CRM step can add people to a Salesforce campaign. See Send people to CRM.

Want even more power? Unlock CRM filters with the Bi-directional CRM Integration add-on

With the Bi-directional CRM Integration add-on you can unlock CRM filters directly inside Ocean.io, including Deal status, Activity, and Owner. To get the most out of these filters, make sure the configuration steps above are completed, otherwise the filters won't reflect accurate data.

Without the add-on, existing CRM data is not charged or processed, it is simply ignored.

Interested in the add-on? Reach out to us at [email protected] to learn more.

Did this answer your question?