# Salesforce Unify Direct Integration Guide

This guide outlines the process for setting up [Salesforce](http://salesforce.com/) as a data source with [Segment Profiles](/docs/segment/connections/destinations/catalog/actions-segment-profiles).

Once configured, this integration lets you send Salesforce data directly to Segment Profiles, eliminating the need for a data warehouse and enabling faster data synchronization and profile enrichment.

> \[!NOTE]
>
> The Salesforce Unify direct profile integration increases API usage. Verify your API limits and Segment billing before you enable the Salesforce Unify direct profile integration.

## Prerequisites

Before you begin, make sure that you have the following:

* A Segment workspace with [Unify](/docs/segment/unify/) enabled and [Identity Resolution](/docs/segment/unify/identity-resolution/) set up.
* Administrator access to your Salesforce account.

## Integration steps

Follow the steps in this section to set up the Salesforce Unify Direct Integration.

### Step 1: Add Salesforce as a source

Start by setting up Salesforce as a source:

1. From your Segment workspace, go to **Connections > Catalog > Cloud App Objects**.
2. Select **Salesforce** as your source.
3. Name your Salesforce source and authenticate with your Salesforce credentials.
4. Once connected, use **Selective Sync** to choose the Salesforce collections and columns you want to sync.

After successful authentication, Segment adds the source but it isn't immediately enabled by default.

> \[!WARNING]
>
> After adding Salesforce as a source, don't enable it yet. You must first set up the [Segment Profiles destination](#step-2-add-a-segment-profiles-destination) and [configure the mapping](#step-5-enable-the-destination-mapping-and-salesforce-source). Enabling the source before completing these steps might result in incomplete or incorrect data syncing.

### Step 2: Add a Segment Profiles destination

Next, add a Segment Profiles destination:

1. From the **Overview** tab of your Salesforce source, click **Add destination**.
2. From the catalog destination page, click **Segment Profiles**, then click **Add destination**.
3. Name your destination, then click **Create**.

### Step 3: Create a data model

1. In the Salesforce source you created, go to the **Models** tab and click **Create Model**.
2. Select the fields you want to map to the Segment Profiles destination.
3. Preview and validate the schema with real-time Salesforce data.
4. Name your model and save it.

### Step 4: Configure mapping

1. In the Salesforce source, go to **Models > Add mapping**.
2. Segment returns you to the Segment Profiles destination. Click **Add mapping**.
3. Select your data model and map your selected Salesforce data to fields in Segment Profiles (typically "Identify" for profile updates).
   * Select the Profile space you want to update.
   * Map Salesforce fields to Segment Profile fields. You must map either a User ID or Anonymous ID field.
4. Test your mapping with real data from Salesforce.
5. Save your mapping configuration.

![The Select Mappings interface in Segment, showing fields for mapping event data from a source to a destination.](https://docs-resources.prod.twilio.com/13c1145c231faec9eb55c13fe2ce4873b24b76dcf984f19b1651fe9d3d80ebaf.png)

### Step 5: Enable the destination mapping and Salesforce source

Finish by enabling the destination mappings and the source:

1. From the settings tab of the Segment Profiles destination, toggle the **Enable destination** switch to **Enabled**, then click **Save**.
2. From the overview tab of the same Segment Profiles destination, toggle the **Mapping Status** switch to **Enabled**.
3. Return to your Salesforce source and navigate to **Settings > Basic settings**.
4. Toggle **Enable source** on.

Data now begins to sync between Salesforce and Segment.

## Data synchronization

After you've connected Salesforce and the Segment Profiles destination, the integration begins syncing data.

* New or updated records in Salesforce are sent to Segment Profiles based on your mapping configuration.
* The initial sync includes historical data within the range specified in your Selective Sync settings.
* Further syncs take place at regular intervals (typically hourly).

## Best practices

Keep the following in mind as you work with the Salesforce Unify direct integration:

* Start with a subset of data to test your integration before expanding to all Salesforce objects.
* Regularly review your mapping to ensure it reflects any changes in your Salesforce schema or Segment Profile needs.
* Monitor both your Salesforce source and Segment Profiles destination for errors and data discrepancies.

The Salesforce Unify direct integration supports mapping from a single Salesforce collection per data model. For complex use cases requiring data from multiple collections, you might need to create multiple data models and mappings.
