TryLearn More

Use SIP trunks, WebRTC & Apps

Slash your Phone Bill by 80%

Zoho CRM Integration - Server Side

On this topic

Zoho CRM Integration - Server Side

Introduction

Zoho Configuration

General

Call Journaling

3CX CRM Server Side Configuration

General Settings

Call Journaling

Contact Creation

Introduction

3CX provides integration with Zoho. The configuration is done server side, in an easy and straightforward way. This integration provides many benefits to users of 3CX and Zoho, these being:

  • Contact Synchronization – Inbound calls from external numbers trigger a contact lookup in your CRM, and contact details are added to 3CX Contacts. This way, the caller name is automatically shown in your phone display when you receive the call.
  • Call Pop-ups – When using the 3CX Web Client, the customer record is brought up to you automatically when you receive an inbound call.
  • Call Journals – Calls are logged as call records in the CRM.
  • Create a new contact automatically when a call is received from an unknown number.
  • Click to Call – Launch calls straight from Zoho via 3CX, using the 3CX Click2Call browser extensions.

In this guide we will take you through the steps required in order to setup your Zoho with 3CX - server side.

Zoho Configuration

General

  1. Login and go to https://accounts.zoho.com/developerconsole
  2. Click on “Add Client ID”

  1. Enter the Client Name, for example: “3CX”.
  2. Enter the Client domain which is your 3CX FQDN, for example: “ossmall.3cx.nl”.
  3. In the Authorized redirect URIs field, enter the URL you use to access your 3CX management console, adding “/api/oauth2crm” at the end. For example: “https://testing.3cx.com:5001/api/oauth2crm”.
  4. When you press the Create button, Zoho will generate the Client ID and Client Secret.
  5. Take note of the Client ID and Client Secret, as you will need them later.

Call Journaling

  1. If you want to report external calls to Zoho, you need to define the extension number for every Zoho user. This way 3CX can map the extension number of the agent that received the call to the Zoho user. You can use an existing standard field from the User entity, or you can also create a custom field. Information on how to process user fields can also be found here and here.
  1. You need to log in to your Zoho CRM account with Administrative privileges and go to  Setup > Users and Control > Users.

  1. Select the user you want to edit from the list of available CRM users and click the Edit icon.

  1. In the Edit User form, click the Manage fields link

  1. In the User form builder select a Phone field from the New Fields Tray on the left and drag the required field type, and drop it into the desired module section on the right.

  1. Specify the label of the field. The unique field id that will be needed in 3CX Setup, is the initial label value of the field after replacing any spaces with “_”. In the example below the field id would be “Extension Number”Extension_Number

 

  1. Refresh the Edit User page, populate the newly created field with the extension number and click Save.

  1. Open any other Users for whom you need to report calls and fill the extension field.

3CX CRM Server Side Configuration

General Settings

  1. Login to the 3CX management console > Settings > CRM Integration > Server Side tab.
  2. Select Zoho from the dropdown list.

  1. Enter the Accounts Server URL and Zoho CRM URL. The default value applies in many cases, but you can use for example https://accounts.zoho.eu and https://crm.zoho.eu if your account in based in Europe.
  2. Enter the Client ID and Client Secret from the previous step.
  3. Press the “Authorize” button. A new browser tab will be launched, asking you to grant permissions to the Client ID you just created.

  1. Press the Accept button to grant access to the data from your Zoho account, to the Client ID previously created.

Call Journaling

  1. If you want to report external calls to the CRM, check the Enable Call Journaling checkbox and configure the parameters below. Please note that this feature is only available for 3CX v16 and later installations.

  1. Call Journaling parameters are:
  • Extension Field ID: The unique field id of the User entity field,created in the previous step, that holds the extension number of the User. This parameter must be set when call journaling is enabled. This parameter is used to map the 3CX Agent handling the call to the CRM User and assign the call to the specific User. Information on how to process user custom fields can be found here.
  • Subject: The subject of the call.
  • Answered Inbound Call: Description for answered inbound calls.
  • Missed Call: Description for missed calls.
  • Answered Outbound Call: Description for answered outbound calls.
  • Unanswered Outbound Call: Description for unanswered outbound calls.
  1. Please note that you can use variables in the Call Journaling parameters. Variables are specified between [], for example the external number is specified as [Number]. The available variables are:
  • CallType - The type of call, it can be “Inbound”, “Outbound”, “Missed”, or “Unanswered”.
  • Number - The external contact number (the number dialed for outbound calls or the caller number for inbound calls).
  • Name - The external contact name retrieved from the CRM.
  • Agent - The extension number of the agent handling the call.
  • Duration - The duration of the call in “hh:mm:ss” format.
  • DurationTimeSpan - The duration of the call as a TimeSpan object, which can be formatted as the user wants.
  • DateTime - The start date & time of the call, in local time zone, formatted using the local culture from the 3CX server.
  • CallStartTimeLocal - The start date & time of the call, in local time zone, as a DateTime object, which can be formatted as the user wants.
  • CallStartTimeUTC - The start date & time of the call, in UTC time zone, as a DateTime object, which can be formatted as the user wants.
  • CallEndTimeLocal - The end date & time of the call, in local time zone, as a DateTime object, which can be formatted as the user wants.
  • CallEndTimeUTC - The end date & time of the call, in UTC time zone, as a DateTime object, which can be formatted as the user wants.

Contact Creation

  1. If you want to create new contacts in the CRM when a call is received from an unknown number (not found in both 3CX and CRM), check the Enable Contact Creation checkbox and configure the parameters below. Please note that this feature is only available for 3CX v16 and later installations.

  1. Contact Creation parameters are:
  • Create Lead instead of Contact - If checked a Lead will be created instead of a Contact.
  • New Contact First Name - The first name of the newly created Contact.
  • New Contact Last Name - The last name of the newly created Contact.
  1. Please note that you can use variables in the first name and last name fields. Variables are specified between [], for example the external number is specified as [Number]. The available variables are:
  • Number - The external contact number (the number dialed for outbound calls or the caller number for inbound calls).

Free for up to 1 year! Select preferred deployment:

On-Premise

for Linux on a $200 appliance or as a VM

Get the ISO

On-Premise

for Windows as a VM

Download the setup file

On the cloud

In your Google, Amazon, Azure account

Take the PBX Express