Introduction

3CX provides integration with Zendesk via the 3CX API for CRM. The configuration is done server-side, in an easy and straightforward way. This integration provides these benefits to users of 3CX and Zendesk:

  • 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 Zendesk via 3CX, using the 3CX Browser Extension.

This guide takes you through the steps required to setup your Zendesk CRM with 3CX.


Zendesk Configuration

General Settings

  1. Login to your Zendesk account.
  2. Click on the “Settings” icon on the side menu, then click API and select the Settings tab. Enable the option “Enable API authentication using an agent's email address and password”.

Call Journaling

  1. If you want to report external calls to Zendesk, you need to create a custom field on the User entity, to hold the agent extension number. This way 3CX can map the extension number of the agent that received the call to the Zendesk user. Information on how to add custom fields to Users can also be found here.
  2. Click the Admin icon on the sidebar, then select User Fields.
  1. Drag a Numeric field from the right to the Active fields area, and place it where you want it to appear. Alternatively, click the Plus sign (+) beside the Numeric type.
  1. Enter the Field title shown to agents, and the Field key (identifier for the API), on the properties panel on the right. Take note of the Field key, as you will need it later when you configure 3CX. Finally click on Create field.
  1. Click the Admin icon on the sidebar, then select People.
  1. Open the Users for whom you need to report calls, and populate the newly created field on the left bar with the extension number.

3CX CRM Server Side Configuration

General Settings

  1. Login to the 3CX Management Console and go to “Settings” > “CRM Integration” > “Server Side” tab.
  2. Select “Zendesk” from the dropdown list.
  1. Fill in your Zendesk login email and password.
  2. Enter your Zendesk domain part, for example if the URL you use to access your account is https://3cx.zendesk.com then your domain part is 3cx.

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.

2. Call Journaling parameters are:

  • Extension Field ID: The Field key created in the previous step, that holds the extension number of the agent. This parameter must be set when call journaling is enabled. This parameter is used to map the 3CX extension receiving the call to a Zendesk User, and assign the call to that specific User.
  • 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.

3. 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).
  • 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.

2. Contact Creation parameters are:

  • New Contact Name - The name of the newly created Contact.

3. Please note that you can use variables in the name field. 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).