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
- 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
- In 3CX Management Console go to “Settings” > “CRM Integration” > “Server Side” tab.
- Select “amoCRM” from the dropdown list.
- 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.
- Enter the email address used to register your account.
- 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.