3CX connects the phone system to Mokapen for the contact popup, the call journal and, if you configure it, click-to-call. Mokapen does not become the phone system: it generates an API key and an XML template that you load in the 3CX admin. From there 3CX asks Mokapen who the number is, and Mokapen can write the call note on contact or company.
Overview: Integrations.
User menu → Integrations → 3CX. Mokapen shows the API key to use in the CRM template: as the Basic auth username, or in the X-Api-Key header. Download the XML template. The key is already inserted as the default value. Load it in 3CX Admin → Integrations → CRM.
On the page you also find the CRM API base URL: it is the address the template calls. If 3CX is behind a network that cannot reach Mokapen, the popup does not open even with the template loaded.
You can regenerate the key on save. The previous one stops working: you must reload the template, or update the key already pasted in 3CX. Leaving the old key in the phone system produces authentication errors, not a second connection.
Two switches decide the behavior toward the address book:
Click-to-call is separate. You need the 3CX host (FQDN) and WebAPI / Call Control key. Without a key, Mokapen says the Call Control key is not configured. Without a host, it says the FQDN is missing. Without mapping, the call does not know which extension to ring.
The mapping is one row per person, in the form extension=user_id (example 102=15). It is needed both to attribute the call note to the right user and for click-to-call. If your user has no row, Mokapen says there is no mapped extension. A normal click calls with 3CX; Shift, Ctrl or Alt together with the click opens the device dialer.
If 3CX rejects the request, check in order FQDN, Call Control key and extension. The on-page message is that 3CX did not accept the call.
Need help?