# CRM Integration FAQ

When Cloud Voice syncs contacts with a CRM (Customer Relationship Management) system such as Zoho or Salesforce, the results depend on how that CRM's fields are configured on your side. The questions below cover the two problems customers report most often and how to resolve each one.

:::note
Cloud Voice reads the phone and contact fields from your CRM so an incoming caller shows up by name and calls are matched to the right record. If Cloud Voice cannot read the fields it needs, the lookup fails, which is what produces both symptoms described here. Almost every fix is a permission or field setting inside the CRM, not inside Cloud Voice.
:::

## Why did Cloud Voice fail to synchronize existing contacts in Zoho CRM?

The usual cause is a field access permission problem. If Cloud Voice cannot reach the fields it needs inside the modules you are syncing from, contact synchronization fails. Start by confirming that the required fields listed below exist and are configured correctly in Zoho CRM. Check every module you sync from (Accounts, Leads, and Contacts), not just one, because a missing or unreadable field in any of them can stop synchronization.

| Module | Required fields |
| --- | --- |
| Accounts | Phone, Fax |
| Leads | Phone, Mobile, Fax |
| Contacts | Phone, Home Phone, Other Phone, Asst Phone, Mobile, Fax |

There are two things to verify: that every required field has been created in each module, and that each field's permission is set to **Read and Write**.

:::caution
Both conditions have to be true. A field that exists but is not set to **Read and Write** will still block synchronization, and so will a **Read and Write** permission on a field that no longer exists. If sync keeps failing after you confirm the fields are present, check the permissions next (and the other way around).
:::

### Confirm the required fields exist in each module

1. Sign in to Zoho CRM and click the settings icon ![Zoho CRM settings gear](/images/pbx/crm-setting.png) in the top-right corner.

   
   ![Cloud Voice, Zoho CRM settings menu opened from the top-right corner](/images/pbx/zoho-crm-faq-settings.png)

2. Under **Customization**, click **Modules and Fields**.

   ![Modules and Fields option within the Customization section](/images/pbx/zoho-crm-module-and-field.png)

3. Check whether the required fields for the module have been created.

   a. Hover over the more icon ![More options](/images/pbx/more-edge.png) next to the module you want, then click **Fields**.

      ![Fields option in the menu beside a module](/images/pbx/zoho-crm-fields.png)

   b. In the top-right corner of the field list, click **Create and Edit Fields**.

      ![Create and Edit Fields button above the field list](/images/pbx/zoho-crm-edit-fields.png)

   c. In the module information section, verify that the required fields are shown.

      ![Module information layout showing the configured fields](/images/pbx/zoho-crm-lead-information.png)

      :::tip
      If a required field was removed by accident, look for it in the **Unused Fields** list. To restore it, drag the field from **Unused Fields** into the module information section and save your changes.

      ![Restoring a field by dragging it from Unused Fields into the module layout](/images/pbx/zoho-crm-resume-removed-fields.png)
      :::

### Confirm each required field is set to Read and Write

1. Sign in to Zoho CRM and click the settings icon ![Zoho CRM settings gear](/images/pbx/crm-setting.png) in the top-right corner.

   
   ![Cloud Voice, Zoho CRM settings menu opened from the top-right corner](/images/pbx/zoho-crm-faq-settings.png)

2. Under **Customization**, click **Modules and Fields**.

   ![Modules and Fields option within the Customization section](/images/pbx/zoho-crm-module-and-field.png)

3. Review the permission on each required field.

   a. Hover over the more icon ![More options](/images/pbx/more-edge.png) next to the module you want, then click **Fields**.

      ![Fields option in the menu beside a module](/images/pbx/zoho-crm-fields.png)

   b. Open the **Field Permissions** tab and select the **Standard** profile.

      ![Field Permissions tab with the Standard profile selected](/images/pbx/zoho-crm-standard-permission.png)

      :::note
      Field permissions in Zoho are set per profile. Review the permission on the profile that the account connected to Cloud Voice actually uses. This example uses the **Standard** profile, but if your integration account is assigned a different profile, check that one instead.
      :::

   c. Find the required field and confirm its permission is set to **Read and Write**.

      ![A field's permission set to Read and Write](/images/pbx/zoho-crm-field-rw.png)

## Why does Cloud Voice create a new contact on an incoming call when the contact already exists in Salesforce CRM?

This typically comes down to a field permission issue: when a required field is not visible, Cloud Voice has no read or write access to it on the object you are syncing from, so it cannot match the incoming caller to the existing record. Because the match fails, Cloud Voice treats the caller as unknown and creates a duplicate contact. To fix this, adjust the field accessibility settings for the fields below on the **Account** and **Contacts** objects in Salesforce CRM.

| Object | Required fields |
| --- | --- |
| Account | Account Name, Phone, Fax, Description |
| Lead | Name, Phone, Fax, Email, Description |
| Contact | Name, Account Name, Phone, Home Phone, Mobile Phone, Other Phone, Asst. Phone, Fax, Email, Mailing Address, Description |

The steps below use the **Home Phone** field on the **Contact** object as an example of how to review a field's permission.

1. Sign in to Salesforce CRM, click the settings icon ![Salesforce settings gear](/images/pbx/setting-icon.png) in the top-right corner, then click **Setup**.

   ![Setup option in the Salesforce settings menu](/images/pbx/sf-crm-setup-page.png)

2. In the left navigation bar, go to **PLATFORM TOOLS > Objects and Fields > Object Manager**.

   ![Object Manager path under Platform Tools in the navigation bar](/images/pbx/sf-crm-path.png)

3. Search for the object you want, then click its label to open the object details page.

   ![Selecting an object from the Object Manager list](/images/pbx/sf-crm-object.png)

4. Open the **Fields & Relationships** tab, search for the field, then click its label to open the field details page.

   ![Field details reached through the Fields and Relationships tab](/images/pbx/sf-crm-field-details.png)

5. Click **Set Field-Level Security**.

   ![Set Field-Level Security button on the field details page](/images/pbx/sf-crm-set-field.png)

6. In the **Field-Level Security for Profile** section, select the **Visible** checkbox, then click **Save**.

   ![Visible checkbox selected in the Field-Level Security settings](/images/pbx/sf-crm-set-visibility.png)

   :::caution
   Field-level security in Salesforce is set per profile, and the change does not take effect until you click **Save**. Make **Visible** for the profile assigned to the account connected to Cloud Voice, and repeat this for every required field in the table above, not just **Home Phone**.
   :::
