3CX provides easy and straightforward server-side integration with ConnectWise via the 3CX API for CRM, with these benefits:
- 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 – The customer record is automatically brought up in 3CX Web Client 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 ConnectWise via 3CX,using the 3CX Browser Extension.
This guide takes you through the steps required to setup your ConnectWise with 3CX.
- Login to your ConnectWise account, click on the user avatar on the top right corner and select “My Account” from the dropdown.
- Click on “API Keys” tab and press the “+” button. In the Description field enter a description, e.g. “3CX Connectwise CRM Integration” and save.
- The generated public and private keys are displayed only once, so ensure they are safely saved immediately.
Call Journaling Configuration
- To report external calls to ConnectWise, you need to populate one of the dedicated Extension fields on the “Member” entity with the agent extension number, so that 3CX can map the extension number of the agent that received the call to the ConnectWise Member.
- Go to “System” > “Members” from the sidebar.
- Open the Member(s) for whom you need to report calls and on the form populate one of the “Ext” fields with the extension number and save () or save and close ().
3CX Server-side CRM Configuration
- Login to the 3CX Management Console and go to “Settings” > “CRM Integration” > “Server Side” tab.
- Select “connectWise” from the dropdown list.
- Fill in the “Company Name” with your unique company ID for ConnectWise.
- Fill in the “Public Key” and “Private Key” fields with the respective keys you generated previously.
- In the “Domain” field, enter the portal URL you use to log in to ConnectWise, i.e. staging.connectwisedev.com.
1. To report external calls from 3CX v16+ to the CRM, check the “Enable Call Journaling” checkbox and configure these parameters:
- Create Activity or Note: The CRM entity to create for the call, i.e. Activity / Note.
- 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.
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.
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 First Name” - first name for the newly created Contact.
- “New Contact Last Name” - last name for the newly created Contact.
Please note that you can use these variables in this field, denoted as
- Number - the external contact number, i.e. the number dialed for outbound calls or the caller’s number for inbound calls.