3CX integration
Call Helm can act as the CRM inside your 3CX phone system. Once connected, 3CX looks up callers in your Call Helm contacts and shows who's calling, agents can search your contacts from the 3CX client, and completed calls are recorded back into Call Helm automatically.
3CX is the only integration currently available. Setup requires an Organization Admin in Call Helm and admin access to your 3CX Management Console.
What it does
- Caller lookup (screen pop) — when a call comes into 3CX, it searches Call Helm by phone number and shows the contact's name.
- Contact search — agents can search your Call Helm contacts from the 3CX client.
- Contact creation — agents can create a new Call Helm contact from 3CX.
- Call journaling — completed calls are recorded in Call Helm with direction, duration, status, and which agent handled it.
Plan requirements:
- Call journaling is included on Professional and up.
- Screen pop, contact search, and contact creation ("CTI") require Business or Enterprise. On a Professional plan, the template you download only sets up journaling; upgrade to add screen pop and the rest.
Journaling needs two things to fire for a given call:
- The 3CX extension that handled the call is mapped to an active, seated Call Helm agent (see Map your agents). Unmapped or unseated extensions are skipped silently.
- The number on the call matches an existing Call Helm contact. This is expected 3CX behavior, not a bug — journaling records calls to numbers you already have as contacts (for example, the numbers on your call lists). A call to a number that isn't a contact won't be journaled.
Set it up
In Call Helm
- Go to Settings → Integrations and click Configure on the 3CX card.
- Click Generate Webhook Secret. Copy the secret — you'll paste it into 3CX (or just use the template, which embeds it for you).
- Click Download callhelm.xml to save the template.
In 3CX
- Open the 3CX Management Console and go to Settings → CRM Integration.
- Click Add CRM Template and upload
callhelm.xml. - Confirm the Call-Helm API Key and Call-Helm URL parameters are pre-filled from the template.
- Make sure Enable Call Journaling is ticked, then click Save. (This matters even though the template turns it on by default — see the troubleshooting note below.)
- If you're on Business/Enterprise, you can also turn on Allow contact creation from 3CX.
- Click Test to confirm the connection, then Save again.
Map your agents (optional)
Back in Call Helm's 3CX settings, add a mapping for each agent: their 3CX extension → their Call Helm agent email. Journaling only records a call if the extension that handled it is mapped to an agent who currently holds an active seat — each extension you want tracked needs its own seat on your plan.
Using 3CX as your calling device
Agents can also have Call Helm's click-to-call ring their 3CX extension instead of a cell phone: in Settings → Profile → Calling Preferences choose 3CX / PBX (DID) or 3CX / PBX (SIP URI). See Making calls.
Monitoring
Once configured, the 3CX settings page shows activity counters for the last 30 days: total events, lookups, journal entries, and contacts created. These update as calls come in and contacts are looked up or created.
If journaling isn't recording calls
Work through these in order — they cover the vast majority of "it's set up but nothing shows up" cases:
- Enable Call Journaling must be ticked and Saved in 3CX. The template turns it on by default, but that default only applies the first time you configure the template — once you've saved a configuration, 3CX keeps whatever you last saved. Open Settings → CRM Integration, confirm the box is ticked, and click Save.
- Restart the 3CX service after changing or re-uploading the template. 3CX loads the CRM template into memory when its service starts and doesn't re-read it on the fly. If you just fixed a setting or uploaded a corrected template, restart the 3CX service (or reboot the PBX) before testing again — this is the single most common reason a "fixed" template still doesn't work.
- Running 3CX with multiple companies? Install the template in each one. CRM integration is configured per company in 3CX. A call handled by an extension in a company that doesn't have the Call Helm template installed and enabled won't journal, even if another company on the same PBX is working fine.
- The call has to be answered and completed. Journaling happens when a connected call ends — a call that rings unanswered has nothing to journal.
- The extension has to be mapped to a seated agent. Check Map your agents — an unmapped extension, or one mapped to an agent who has lost their seat, is silently skipped.
- The number has to match a Call Helm contact. See What it does above — this is expected behavior.
Other integrations
There are no Salesforce, HubSpot, Pipedrive, Zapier or public-API integrations at this time. The Twilio and Salesforce cards on the Integrations tab are placeholders.