> For the complete documentation index, see [llms.txt](https://docs.clearout.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.clearout.io/integrations/salesforce.md).

# Salesforce

Clearout natively integrates with Salesforce CRM to maintain high deliverability and improve overall contact data quality across your account. Clearout supports two contact verification solutions for Salesforce:

* [Data Pulse](/integrations/salesforce.md#how-data-pulse-salesforce-two-way-sync-works): Continuous, real-time contact monitoring and multi-field enrichment automatically validating Name, Email, and Phone data as contacts enter Salesforce.
* [Email Verifier](/integrations/salesforce.md#how-email-verifier-works): On-demand bulk verification and cleaning for existing Salesforce email lists.

## Integration Architecture

The Clearout Salesforce integration uses the standard OAuth 2.0 authorization flow. When you authorize the connection, Salesforce issues an access token and a refresh token, which Clearout uses to make API calls on your behalf. Clearout never stores your Salesforce credentials. All communication with the Salesforce platform happens over HTTPS.

<div data-with-frame="true"><figure><img src="/files/tCMexqxcFA6aVNniGXAb" alt=""><figcaption></figcaption></figure></div>

## Before You Begin - What You Need

To use the Clearout–Salesforce integration, your Salesforce Org must meet a few requirements:

* **Supported Salesforce Edition** - requirements differ by product, see the table below.
* **Admin permissions in Salesforce -** required for the **initial one-time setup** (installing the Clearout managed package and assigning the permission set). Standard users can run validations after setup is complete.
* **A Clearout account** - sign up at [clearout.io](https://clearout.io/) if you don't have one.

#### Supported Salesforce Editions

<table><thead><tr><th width="290">Salesforce Edition</th><th>Email Verifier</th><th>Data Pulse</th></tr></thead><tbody><tr><td>Enterprise</td><td>Supported</td><td>Supported</td></tr><tr><td>Unlimited</td><td>Supported</td><td>Supported</td></tr><tr><td>Developer Edition</td><td>Supported</td><td>Supported</td></tr><tr><td>Professional Edition with the API Access add-on</td><td>Supported</td><td>Not supported</td></tr></tbody></table>

{% hint style="warning" %}
**Data Pulse requires outbound message support**

Data Pulse depends on Salesforce outbound messages to detect and sync records in real time. Professional Edition does not support outbound messages, so Data Pulse cannot run on it even with the API Access add-on.

If your org is on Professional Edition, use Email Verifier for on-demand bulk cleaning of your existing lists.
{% endhint %}

## How to Set Up the Clearout–Salesforce Integration

The Clearout integration with Salesforce involves a one-time admin setup, followed by daily use that any team member can perform.

* [One-Time Admin Setup](#one-time-admin-setup) - An one-time setup has be done by the admin of your organization
* [How the Salesforce integration works](#daily-use-any-user-with-the-permission-set) - How a user can perform bulk email validation once the permission set is assigned to the user account in the organization&#x20;

## One-Time Admin Setup

{% hint style="warning" %}
This setup must be performed by a **Salesforce administrator** in your org.
{% endhint %}

{% stepper %}
{% step %}

### Install the Clearout Managed Package in Your Salesforce Org

* Click here to install the [**Clearout managed package**](https://clearout.io/salesforce-managed-package/).
* Log into your Salesforce Org.
* On the installation screen, select the installation option based on your requirements.

<div data-with-frame="true"><figure><img src="/files/KSMh37vExEX8zuk3Y2ua" alt=""><figcaption></figcaption></figure></div>

* Click **Install**. Salesforce will process the installation, which takes a few minutes.
* Once complete, you'll receive a confirmation. The package adds the following to your org:
  * Clearout External Client App (Handles OAuth)
  * Clearout Permission Set (The Clearout Permission Set gives users access to the Clearout-specific fields on your Contact and Lead records)
  * Clearout Custom fields on Contact and Lead objects (These are [Clearout's standard fields](/email-verifier/overview.md#result_file_header), that will be used for storing the validated results)
    {% endstep %}

{% step %}

### Assign the Clearout Permission Set to the Desired Users

* In the Home page, click on the **Gear** icon and select the option **Setup**.

<div data-with-frame="true"><figure><img src="/files/e0LViebcIsMeI8HjO4mx" alt=""><figcaption></figcaption></figure></div>

* Search for **Permission Sets** in Quick Find and select it.
* After entering the Permission Sets page, search for the **"Clearout"** permission set in the list.

<div data-with-frame="true"><figure><img src="/files/cCzkBF3tiZ4yWGQqYoS4" alt=""><figcaption></figcaption></figure></div>

* Drill down on the Clearout permission set, and click on **Manage Assignments**.
* After entering Manage Assignments, click on **Add Assignment** and select the users you want to assign the permission set to.
* Once the desired users have been selected, click on the **Next** button and click **Assign**.
* To make sure the permission set is assigned, you can check the **Manage Assignments** page to see the permission set is assigned to the intended users.
  {% endstep %}

{% step %}

### Connect Your Salesforce Account with Clearout

* **Log in** to your Clearout account.
* Go to the [**Integrations**](https://app.clearout.io/integrations/connect-account) section.
* Select **Salesforce**.
* Click **Add Account**.
* Log in to your Salesforce Org.

<div data-with-frame="true"><figure><img src="/files/hZpt7grUQhtyCfxPXK2b" alt=""><figcaption></figcaption></figure></div>

* Once authorized, your Salesforce Campaign lists (Contacts/Leads) will be available to verify.
  {% endstep %}
  {% endstepper %}

## How Data Pulse Salesforce Two-Way-Sync Works

Data Pulse is the real-time CRM contact verification tool that validates every email, phone, and name the moment a contact is created - and writes the clean record back automatically. [Know more.](/data-pulse/overview.md)

{% stepper %}
{% step %}

### Enable Account

Go to the Data Pulse [dashboard](https://app.clearout.io/data-pulse), find your linked Salesforce account, and click **Enable**.

<div data-with-frame="true"><figure><img src="/files/EIqj1pcLUOtG5ik6ghLI" alt=""><figcaption></figcaption></figure></div>

{% hint style="info" %}
At any given point realtime pulsing can only be enabled on one clearout account for a given salesforce account.
{% endhint %}
{% endstep %}

{% step %}

### Choose what to enrich

Choose the fields you want to enrich. You can select one or more enrichment options based on your requirements.

<div data-with-frame="true"><figure><img src="/files/elvtCsYRzA5t4apNM3IE" alt=""><figcaption></figcaption></figure></div>

{% hint style="warning" %}
At least one field must be selected to continue.
{% endhint %}
{% endstep %}

{% step %}

### Configuring Data Field Mapping

Decide which fields require validation and define output metadata fields for appending.

#### Input Field Mappings

Map incoming fields from your data source to Data Pulse input fields to ensure accurate validation and enrichment. You can configure mappings using either a **preset** or by selecting **custom fields**.

Available presets:

* **Auto Map** - Automatically detects and maps fields based on the source structure.

<div data-with-frame="true"><figure><img src="/files/IQfcqv26Ig96X91wnyCd" alt=""><figcaption></figcaption></figure></div>

**Data Pulse Input Fields Reference**

<table><thead><tr><th width="166">Field Name</th><th>Description</th></tr></thead><tbody><tr><td><strong>First Name</strong></td><td>Given name associated with the contact</td></tr><tr><td><strong>Last Name</strong></td><td>Surname associated with the contact</td></tr><tr><td><strong>Full Name</strong></td><td>Combined name field (if available in source)</td></tr><tr><td><strong>Email</strong></td><td>Primary email address for validation and enrichment</td></tr><tr><td><strong>Phone</strong></td><td>Contact number for validation and formatting</td></tr><tr><td><strong>Country</strong></td><td>Geographic identifier used to determine the country dialling code during phone validation if the dialling code is not present in the number</td></tr></tbody></table>

#### Output Field Mappings

Choose which fields should be returned and synced back after enrichment. You can configure mappings using either a **preset** or by selecting **custom fields**.

Available presets:

* **All** - Selects every available output field.
* **Mandatory Fields** - Selects only the required fields.

<div data-with-frame="true"><figure><img src="/files/DJUVsXgRD4ibG6m4ujb7" alt=""><figcaption></figcaption></figure></div>

**Output Fields Reference**

{% tabs %}
{% tab title="Email" %}

<table data-search="false"><thead><tr><th>Clearout Field Name</th><th>Description</th></tr></thead><tbody><tr><td><strong>Status</strong> <em>(Mandatory)</em></td><td>Validation status of the email</td></tr><tr><td><strong>Safe to Send</strong> <em>(Mandatory)</em></td><td>Indicates if the email is safe for outreach</td></tr><tr><td><strong>Reason</strong></td><td>Reason associated with the validation result</td></tr><tr><td><strong>SMTP Provider</strong></td><td>Identified email service provider</td></tr><tr><td><strong>Free Domain</strong></td><td>Indicates if the email uses a free/public email provider</td></tr><tr><td><strong>Role Email</strong></td><td>Indicates if the email is a role-based address (e.g., info@, support@, admin@)</td></tr><tr><td><strong>Disposable Email</strong></td><td>Indicates if the email uses a temporary/disposable domain</td></tr><tr><td><strong>Gibberish Email</strong></td><td>Indicates if the email's local part appears to be random or meaningless characters</td></tr></tbody></table>
{% endtab %}

{% tab title="Phone" %}

| Clearout Field Name         | Description                                 |
| --------------------------- | ------------------------------------------- |
| **Status** *(Mandatory)*    | Validation status of the phone number       |
| **Carrier**                 | Telecom carrier information                 |
| **Country Name**            | Country associated with the number          |
| **Country Timezone**        | Timezone of the detected country            |
| **E164 Format**             | Standardized international format           |
| **Line Type** *(Mandatory)* | Type of phone line (mobile, landline, etc.) |
| **Location**                | Geographic location metadata                |
| **DST Observed Hrs**        | Hours adjusted for daylight saving time     |
| {% endtab %}                |                                             |

{% tab title="Name" %}

| Clearout Field Name               | Description                                     |
| --------------------------------- | ----------------------------------------------- |
| **Normalized Name** *(Mandatory)* | The cleaned/standardized version of the name    |
| **Gibberish** *(Mandatory)*       | Indicates if the name appears invalid or random |
| **Status**                        | Validation result for the name                  |
| {% endtab %}                      |                                                 |

{% tab title="Miscellaneous" %}

| Clearout Field Name           | Description                             |
| ----------------------------- | --------------------------------------- |
| **Enriched On** *(Mandatory)* | Timestamp when enrichment was performed |
| {% endtab %}                  |                                         |
| {% endtabs %}                 |                                         |

{% hint style="info" %}
You can save custom field mappings as a new preset. Saved presets can be reused for the same data source in future configurations. This applies to both import and output field mappings.
{% endhint %}
{% endstep %}

{% step %}

### Activate Data Pulse

<div data-with-frame="true"><figure><img src="/files/r4Yo84NJrITVuJnZRgSb" alt=""><figcaption></figcaption></figure></div>

Complete the setup wizard to activate real-time validation and enrichment.\
Weekly data quality report is **enabled by default**. You can opt-in or opt-out of the report here.
{% endstep %}
{% endstepper %}

### What to expect once it is enabled

Data Pulse monitors leads as they are created after it is enabled. Validates and enriches them in real-time within seconds. Then appends its own set of [Clearout result properties](/data-pulse/supported-data-sources.md#fields-data-pulse-updates) to your contact records.

A weekly data quality digest is delivered every Monday.

### Bulk Importing Leads with the Data Import Wizard

Data Pulse validates a record when Salesforce sends Clearout an outbound message about it. That message is fired by a record-triggered Flow installed with the managed package.

The Data Import Wizard does not run your org's automation by default. Left at its default setting, a bulk import through the wizard can land thousands of leads in Salesforce without a single one reaching Data Pulse. The import will report success, so the gap is easy to miss.

{% hint style="warning" %}
**Tick the automation checkbox before importing**

The wizard leaves **Trigger workflow rules and processes?** unticked by default. Tick it, or none of your imported leads will be sent to Clearout for validation.
{% endhint %}

#### Opening the Data Import Wizard

Where you launch the wizard from depends on your Salesforce Edition. Both routes open the same wizard, and every step after this point is identical.

{% tabs %}
{% tab title="Unlimited" %}

1. Log in to your Salesforce Org and go to the **Leads** object.
2. Scroll down to the **Tools** section.
3. Select **Import Leads**.

<div data-with-frame="true"><figure><img src="/files/eogB4gT25Loyqvss8G5A" alt=""><figcaption></figcaption></figure></div>
{% endtab %}

{% tab title="Enterprise" %}

1. From the Home page, click the **Gear** icon in the top right and select **Setup**.
2. Search for **Data Import Wizard** in Quick Find and select it.
3. Scroll down and click **Launch Wizard**.

<div data-with-frame="true"><figure><img src="/files/EXNg2YTv7I8Ebl5MXTcF" alt=""><figcaption></figcaption></figure></div>
{% endtab %}

{% tab title="Developer" %}

1. Log in to your Salesforce Org and go to the **Leads** object.
2. Select **Import**.

<div data-with-frame="true"><figure><img src="/files/1JU8Mi32sWWowehTPPaz" alt=""><figcaption></figcaption></figure></div>
{% endtab %}
{% endtabs %}

#### Running the Import

{% stepper %}
{% step %}

#### Select the object

Under **Standard Objects**, select **Leads**.
{% endstep %}

{% step %}

#### Choose "Add new records" and tick the automation checkbox

Click **Add new records**, then tick the checkbox under **Trigger workflow rules and processes?**

This is the step that matters. With the box unticked, your leads import successfully but Data Pulse never sees them.

<div data-with-frame="true"><figure><img src="/files/haaN9WQub1KUlecW1dJC" alt=""><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

#### Upload your file

Select the file you want to import and click **Next** at the bottom right.
{% endstep %}

{% step %}

#### Verify the field mapping

Check that your columns are mapped to the correct Salesforce fields, then click **Next** at the bottom right.
{% endstep %}

{% step %}

#### Start the import

Click **Start Import**. Your leads are created in Salesforce, the Flow fires, and Data Pulse enrichment appears on each record within seconds.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
**Recovering leads imported without the checkbox**

Data Pulse validates leads as they are created, so editing or re-saving an existing lead does not send it to Clearout. To validate leads that were imported with the checkbox unticked:

* Delete the imported leads and re-import them with the checkbox ticked, or
* Run Email Verifier over the affected list. This cleans the email addresses but does not enrich phone or name data.
  {% endhint %}

### Retaining Enriched Data When Converting Leads

Data Pulse monitors Leads. When it validates one, it writes the results to the Clearout custom fields installed on the Lead object by the managed package.

Converting a Lead to a Contact does not carry custom field values across unless each field has been explicitly mapped. Because Data Pulse does not monitor Contacts, a converted Contact is never re-enriched, so any unmapped value is lost permanently at the moment of conversion.

{% hint style="warning" %}
**Map these fields before you convert any leads**

Lead conversion is not reversible and Data Pulse will not re-enrich the resulting Contact. Enrichment that was not mapped at the time of conversion cannot be recovered.
{% endhint %}

The managed package installs matching Clearout fields on both the Lead and the Contact object, so the destination fields already exist in your org. You only need to connect them.

#### Opening the Lead Field Mapping Screen

Where you find this screen depends on your Salesforce Edition. The editions group differently here than they do for the Data Import Wizard, so check the tab that matches your org.

{% tabs %}
{% tab title="Unlimited" %}

1. From the Home page, click the **Gear icon** in the top right and select Setup.
2. Search for **Lead** in Quick Find and select Fields.
3. Scroll down to the **Lead Custom Fields & Relationships** section.
4. Click **Map Lead Fields**.

<div data-with-frame="true"><figure><img src="/files/UE8bRz6CI0nVfNS4Ac7E" alt=""><figcaption></figcaption></figure></div>
{% endtab %}

{% tab title="Developer and Enterprise" %}

1. From the Home page, click the **Gear icon** in the top right and select Setup.
2. Select the **Object Manager** tab.
3. Search for **Lead** and select it.
4. Select the **Fields & Relationships** section.
5. Click Map **Lead Fields** in the top right.

<div data-with-frame="true"><figure><img src="/files/fxUELzEWcUBdPnKkgEQo" alt=""><figcaption></figcaption></figure></div>
{% endtab %}
{% endtabs %}

#### Mapping the Clearout Lead Fields

{% stepper %}
{% step %}

#### Map each Clearout field to its Contact equivalent

For every Clearout field on the Lead, select the matching Clearout field on the Contact object from the dropdown.

<div data-with-frame="true"><figure><img src="/files/GfVzAN6iYxHz0gV1kxdH" alt=""><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

#### Save

Click **Save**. Every lead converted from this point forward carries its Clearout enrichment onto the Contact record.
{% endstep %}
{% endstepper %}

## How Email Verifier Works

{% stepper %}
{% step %}

### Import Your Campaign (Contact/Lead) Lists

* Once connected, you can choose from your Salesforce Campaign Lists.
* **Select the list(s)** you wish to clean and click **Add to My List**.

<div data-with-frame="true"><figure><img src="/files/exz9ZraEUdqf6z0VBdHi" alt=""><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Start the Verification

* After importing, hit **Start verification**.
* Clearout performs **20+ advanced checks**, ensuring 99% accuracy.
* Disposable, spam trap, catch-all, syntax errors, and inactive emails are all flagged.

<div data-with-frame="true"><figure><img src="/files/TQqBcwbfoW3FGaz6hd9v" alt=""><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Export the Clean List

After the validation is complete, the user can download the results in CSV format or export them directly to their Salesforce Org.

The user can export the results by selecting **unsubscribe**, **append**, or **both**.

* **Unsubscribe**: Select this option to remove all the non-deliverable (invalid) email addresses on the Salesforce Org automatically.
* **Append**: Select this option to append the Clearout standard columns to Salesforce Org.

This ensures your email list remains accurate, your reputation intact, and your Salesforce Org is clean.

<div data-with-frame="true"><figure><img src="/files/RJTGKoVHJPBA0CtwMgIh" alt=""><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Verify the exported validated results

After the exporting is complete, the contact and lead records will be updated with the validated results in the custom fields from Clearout.

<div data-with-frame="true"><figure><img src="/files/GNsUE50wH9FG8KJ1Xnwu" alt=""><figcaption></figcaption></figure></div>

#### How to add clearout custom fields to the contacts list view table:

* In the App Launcher, search for "Contacts" and click it for entering into the contacts object.

<div data-with-frame="true"><figure><img src="/files/uyLplt9I91lXxlubq1cN" alt=""><figcaption></figcaption></figure></div>

* Open the **List view controls** (Gear Icon) in the Contacts tab and click on the "Select fields to display" option.

<div data-with-frame="true"><figure><img src="/files/PuiReyeDNQKaZlfUAQTc" alt=""><figcaption></figcaption></figure></div>

* Select and move the fields to the "Visible Fields" column that are required to be displayed on the list view for verification and click on save.
  {% endstep %}
  {% endstepper %}

## Choosing the Right Solution

Both products use the same validation engine. The difference is when and how they run.

### **When to Use Data Pulse**

* You want always-on, hands-off validation of every new leads as it enters Salesforce.
* You want results to live natively on the Salesforce record with no exports or re-imports.
* Bad data enters continuously through forms, imports, and integrations, and you want to catch it at the source rather than in periodic cleanups.

### **When to Use Email Verifier**&#x20;

* You need a one-time clean of an existing list, for example pre-campaign list hygiene.
* The list lives outside Salesforce (a CSV, XLSX, or Google Sheet).
* You are validating your existing Salesforce database before turning Data Pulse on.

A common pattern: run a one-time Bulk Verification to clean the contacts already in Salesforce, then enable Data Pulse to keep everything clean from that point forward.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.clearout.io/integrations/salesforce.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
