AmoCRM Integration via 3CX CRM API

Introduction

3CX provides integration with amoCRM via easy and straightforward server-side configuration with the 3CX API for CRM. The integration provides many benefits to users of 3CX and amoCRM, including:

  • Contact Synchronization – inbound calls from external numbers trigger a CRM contact lookup to add to 3CX Contacts, so the caller name is automatically shown on your phone’s display when receiving 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 CRM call records.
  • Create a new contact automatically when a call is received from an unknown number.
  • Click to Call – launch calls directly from amoCRM via 3CX, using the 3CX Browser Extension.

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

amoCRM Configuration

  1. Login to your amoCRM Account and go to “Settings” > “API”. Note down your API key and amoCRM domain.

3CX CRM Server-Side Configuration

General Settings

  1. In 3CX Management Console go to “Settings” > “CRM Integration” > “Server Side” tab.
  2. Select “amoCRM” from the dropdown list.
  3. Enter your amoCRM account URL – you can see this on the address bar after login. Ensure you enter the full URL including the “https://” prefix, as shown above.
  4. Enter the email address used to register your account.
  5. Copy the API key from amoCRM “Settings” > “API”, to the API Key field in 3CX.

Call Journaling

1. Check the “Enable Call Journaling” option to report external calls to the CRM, and configure these “Call Journaling” parameters:

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

2. Please note that you can use variables in the “Call Journaling” parameters, denoted as [variable_name], e.g. the external number is specified as [Number]. The available variables to use are:

  • CallType – the type of call, it can be “Inbound”, “Outbound”, “Missed”, or “Unanswered”.
  • Number – the external contact number, i.e. 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 call duration in “hh:mm:ss” format.
  • DurationTimeSpan – the duration of the call as a TimeSpan object with a user-defined format.
  • DateTime – call start date and time, in local time zone, formatted using the 3CX server local timezone option in “Settings” > “Timezone, Office Hours & Holidays”.
  • CallStartTimeLocal – the call start date & time, in local time zone, as a DateTime object with a user-defined format.
  • CallStartTimeUTC – the call start date and time, in UTC time zone, as a DateTime object with a user-defined format.
  • CallEndTimeLocal – the call end date and time, in local time zone, as a DateTime object with a user-defined format.
  • CallEndTimeUTC – The call end date and time, in UTC time zone, as a DateTime object with a user-defined format.

Note: This feature is only available for 3CX versions 16 and later.

Contact Creation

To create new contacts in the CRM when a call is received from an unknown number, i.e. not found in either 3CX or CRM, check the “Enable Contact Creation” checkbox and configure the available parameters:

  • New Contact Name” – the name of the contact to create. Please note that you can use variables in this field, denoted with [variable_name], e.g. the external number is specified as [Number]. The available variables are:
  • Number – the external contact number, i.e. the number dialed for outbound calls or the caller’s number for inbound calls.

Note: This feature is only available for 3CX versions 16 and later.