# Salesforce and phone.systems(TM) Integration

Connecting **phone.systems(TM)** with **Salesforce CRM** allows you to manage customer calls and track important
information. The integration includes the following features:

- **Sync contacts automatically**: Keep contacts, leads and company details updated in phone.systems(TM) and Salesforce.
- **Call journaling**: All incoming and outgoing calls are logged in Salesforce for tracking and reference.
- **Create new contacts automatically**: When an unknown number calls, a new contact, lead or company is created in Salesforce automatically.
- **User association for call journaling**: Associating users enables call journaling between phone.systems(TM) and Salesforce. Unassociated users will not receive call details in Salesforce.

---



## Connecting phone.systems(TM) with Salesforce

This guide provides detailed steps on integrating phone.systems(TM) with Salesforce CRM. Follow the instructions below
to complete the setup process.

Note

To connect phone.systems(TM) with Salesforce, you need the **Consumer Key** and **Consumer Secret**. Generate these
values by creating an External Client App in your Salesforce account.

### Step 1: Login to a Salesforce account

To get started, go to the [Salesforce page](https://www.salesforce.com/) and **Login** to access an existing account or
create a new one.

### Step 2: Create an app in Salesforce

1. Click the [![settings_gear_icon](../../../_images/settings_gear_icon.png)](../../../_images/settings_gear_icon.png)
   icon in the top-right corner
2. Select **Setup**.
3. In the left sidebar, expand **Apps** and select **App Manager**.

[![Open Salesforce Platform Tools App Manager page](../../../_images/1_open_app_manager_page.png)](../../../_images/1_open_app_manager_page.png)


**Fig. 1.** Open Salesforce Platform Tools App Manager page

On the app manager setup page, click **New External Client App**.

[![Click New External Client App](../../../_images/2_1_click_new_connected_app.png)](../../../_images/2_1_click_new_connected_app.png)


**Fig. 2.** Click New External Client App

### Step 3: Enter app basic information

In the **Basic Information** section, enter the required fields:

> - **External Client App Name**
> - **API Name**
> - **Contact Email**
>
> Note
>
> Leave the **Distribution State** on the default **local** value.

[![Enter app required basic information](../../../_images/3_create_app_basic_info.png)](../../../_images/3_create_app_basic_info.png)


**Fig. 3.** Enter app required basic information

### Step 4: Launch phone.systems(TM) and create Salesforce connection

> 1. Open a new browser tab, log in to your DIDWW account, and launch [phone.systems(TM)](https://my.didww.com/#/phone_systems).
> 2. In phone.systems(TM), go to Settings > CRM Integrations.
> 3. Click **Connect** to link Salesforce app with phone.systems(TM).

[![Create Salesforce connection in phone.systems(TM)](../../../_images/4_create_salesforce_connection_in_phone_systems.png)](../../../_images/4_create_salesforce_connection_in_phone_systems.png)


**Fig. 4.** Create Salesforce connection in phone.systems(TM)

### Step 5: Copy the Redirect URL from phone.systems(TM) and paste it in your Salesforce app

On the phone.systems(TM) Salesforce connection page, copy the **Redirect URL**.

[![Copy the Redirect URL](../../../_images/5_1_copy_redirect_url.png)](../../../_images/5_1_copy_redirect_url.png)


**Fig. 5.** Copy the Redirect URL

Open the Salesforce app creation page and perform these actions:

> 1. Expand the **API (Enable OAuth Settings)** menu and **Enable** OAuth Settings to reveal additional options
> 2. Paste into the **Callback URL** field.

[![Paste the Redirect URL into Callback URL](../../../_images/5_2_paste_the_redirect_url.png)](../../../_images/5_2_paste_the_redirect_url.png)


**Fig. 6.** Paste the Redirect URL into Callback URL

### Step 6: Add the OAuth scopes to define app permissions and the app

Continue in the Salesforce API (Enable OAuth Settings) section, select the **Available OAuth Scopes** that determine the
permissions your app has to access data or perform actions in Salesforce CRM.

1. Locate the **Available OAuth Scopes** permission list and add the following scopes:

   > - **Access Connect REST API resources (chatter\_api)**
   > - **Access the identity URL service (id, profile, email, address, phone)**
   > - **Full access (full)**
   > - **Perform requests at any time (refresh\_token, offline\_access)**

Note

Selecting the scopes is required to ensure your app has the necessary permissions to function correctly with all
supported features.

2. Uncheck the **Require Proof Key for Code Exchange (PKCE) Extension for Supported Authorization Flows**.

Note

PKCE must be disabled because phone.systems(TM) uses a server-to-server OAuth flow that does not support dynamic PKCE
code challenges.

3. Click **Create** at the bottom of the page to create the application.

[![Add the available OAuth Scopes](../../../_images/6_add_availalble_oauth_scopes_to_selected_oauth.png)](../../../_images/6_add_availalble_oauth_scopes_to_selected_oauth.png)


**Fig. 7.** Add the available OAuth Scopes

### Step 7: Obtain the Consumer Key and Consumer Secret

To complete the connection between phone.systems(TM) and Salesforce, obtain the **Consumer Key** and **Consumer
Secret**.

In the **Manage External Client Apps** page, perform the following actions:

> 1. Open the **Settings** tab.
> 2. Expand the **OAuth Settings** and click on **Consumer Key and Secret**.

[![Click Manage Consumer Details](../../../_images/8_2_manage_consumer_details.png)](../../../_images/8_2_manage_consumer_details.png)


**Fig. 8.** Click Manage Consumer Details

Salesforce will then send a verification code and ask you to verify your identity. Enter the code and select **Verify**.

[![Verify Salesforce Identity](../../../_images/8_3_entered_verification_code_2.png)](../../../_images/8_3_entered_verification_code_2.png)


**Fig. 9.** Verify Salesforce Identity

### Step 8: Copy the Consumer Key and Consumer Secret from Salesforce and paste it in phone.systems(TM)

After verifying your identity, you will be redirected to the **Consumer Details** page. Copy the **Consumer Key** and
**Consumer Secret**.

[![Paste phone.systems(TM) Client ID and Client secret](../../../_images/9_1_copy_app_credentials.png)](../../../_images/9_1_copy_app_credentials.png)


**Fig. 10.** Copy the Consumer Key and Consumer Secret

Open the phone.systems(TM) Salesforce connection page, and paste the **Consumer Key** and **Consumer Secret** into the
corresponding fields.

[![Paste the Consumer Key and Consumer Secret](../../../_images/9_2_paste_app_credentials.png)](../../../_images/9_2_paste_app_credentials.png)


**Fig. 11.** Paste the Consumer Key and Consumer Secret

### Step 9: Connect the phone.systems(TM) Salesforce app

To complete the connection between phone.systems(TM) and Salesforce, open the phone.systems(TM) page and click
**Connect**.

Tip

The "invalid\_client\_id" message may appear shortly after creating the app.
Wait several minutes before attempting to connect again. This allows Salesforce to register the new app credentials.

When the access permissions page appears, click **Allow**.

[![Allow Access](../../../_images/11_allow_access.png)](../../../_images/11_allow_access.png)


**Fig. 12.** Allow Access

After you click **Allow**, you will be redirected back to the phone.systems(TM) CRM Integrations page. Salesforce will
appear under **Active Integrations** with the status **Connected**.

Note

phone.systems(TM) will automatically synchronize data and establish a connection with your main Salesforce account. The
app will also be installed in Salesforce CRM.

[![Active Salesforce connection in phone.systems(TM)](../../../_images/12_active_salesforce_connection.png)](../../../_images/12_active_salesforce_connection.png)


**Fig. 13.** Active Salesforce connection in phone.systems(TM)



---

## Synchronizing Contacts, Companies, and Leads

After connecting, you can perform a one-time synchronization to import your existing data from Salesforce into your
phone.systems(TM) address book.

> 1. Navigate to **Settings > CRM Integrations**.
> 2. Locate the active Salesforce integration and click the actions menu icon.
> 3. Select **Change synchronization options** from the dropdown menu.
>
>    [![The synchronization options menu.](../../../_images/16_sync_options.png)](../../../_images/16_sync_options.png)
>
>
>    **Fig. 14.** Synchronization options.
> 4. In the **Synchronize contacts from** window, use the toggles to select whether you want to import **Contacts**, **Companies**, **Leads**, or a combination.
> 5. Click **Submit** to begin the synchronization.
>
>    Note
>
>    This is a one-time import. For ongoing, automatic creation of new contacts from calls, see the **Auto Contact Creation** settings below.
>
>    [![The synchronization window for contacts, companies, and leads.](../../../_images/17_sync_modal.png)](../../../_images/17_sync_modal.png)
>
>
>    **Fig. 15.** Synchronization window.

---

## Configuring Salesforce Settings

Once the integration is active, you can customize how data is synced between phone.systems(TM) and Salesforce. To access
these options, navigate to **Settings > CRM Integrations** and click the **Settings** icon next to your Salesforce
connection.

> [![Salesforce integration settings button.](../../../_images/18_settings_button.png)](../../../_images/18_settings_button.png)
>
>
> **Fig. 16.** Salesforce integration settings button.
>
> Important
>
> The following settings apply **only** to numbers with **Call journaling** enabled. Call journaling must be configured separately for each number on the [Edit phone numbers page](../../Numbers/phone-numbers.html#ps3-edit-phone-numbers).
>
> [![Salesforce integration settings in phone.systems(TM)](../../../_images/19_salesforce_settings.png)](../../../_images/19_salesforce_settings.png)
>
>
> **Fig. 17.** Salesforce integration settings.

### Auto Contact Creation

This feature automatically creates a new contact or lead in Salesforce when a call is handled from a number that does
not match an existing record in your CRM.

> | **Setting** | **Description** |
> | --- | --- |
> | **Inbound calls** | When enabled, a new record will be created in Salesforce for all inbound calls from unknown numbers. |
> | **Outbound calls** | When enabled, a new record will be created in Salesforce for all outbound calls to unknown numbers. |
> | **Contact type** | Select the default record type (**Contact** or **Lead**) to be created automatically. |

### Other Settings

This section controls what additional call-related data is automatically uploaded to your Salesforce records.

> | **Setting** | **Description** |
> | --- | --- |
> | **Upload AI call insights results** | When enabled, detailed analytics from our AI engine will be added to the call log. This can include:   - **Key topics:** A summary of the main topics discussed. - **Call summary:** A concise, AI-generated summary of the conversation. - **Talk to listen ratio:** A breakdown of how much each party spoke. - **Sentiment analysis:** An analysis of the emotional tone of the call. - **Transcription:** A full, written transcript of the call.   Note  To utilize the AI features, [AI Call Insights](../../ai/ai-settings.html#ps3-ai-settings-enable) must be enabled. |

After configuring these options, click **Save** to apply your changes.

On this page
