Introduction

3CX provides integration with Nutshell 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 Nutshell:

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

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

Important: To get a match with Nutshell, the incoming caller ID must be EXACTLY the same as saved in Nutshell, including any prefix.


Nutshell Configuration

  1. Login to your Nutshell account https://app.nutshell.com+
  1. Click on Setup > API Keys
  2. Click “Add API Key”
  1. Enter a name example “3CXPBX”, Set Permission to “API+user impersonation” and click “New API key”
  1. A new API key will be created. Click on this and take a note of the API Key. You will need this later in the 3CX Management console configuration.

3CX CRM Server Side Configuration

  1. Login to the 3CX Management Console and go to “Settings” > “CRM Integration” > “Server Side” tab.
  2. Select “Nutshell” from the dropdown list.
  1. In the Email field, enter the email you use to login to Nutshell.
  2. Enter the API key generated in the previous step.

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:

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