Last updated: 23 May 2026.

To get 3CX call recordings into your CRM, you need a 3CX v18 or v20 PBX with call recording enabled, an API user holding the Recording Manager role (alongside the Reports User role) per the 3CX user roles documentation, and a bridge that fetches the recording link once 3CX has finished writing the file. The bridge attaches the link to the matching CRM contact within ten seconds of the call ending in most cases, with a retry loop for late recordings.

Why call recordings belong on the contact record, not in another tab

A team member who picks up an in-progress sales conversation should not need to log into the PBX to hear the last call. The recording belongs on the contact record they already have open. When recordings sit in a separate 3CX portal, three things happen.

  • New hires miss context. They rebuild it by asking around, which takes time the customer can hear in the conversation.
  • Managers stop listening back. The cost of switching apps is enough to kill the habit.
  • Compliance reviews take longer. Audit requests turn into a manual hunt across two systems.

3CX itself records calls reliably once licensed; the practical problem is bridging that recording to the CRM contact while it is still useful.

What you need before you start

Three preconditions stop more 3CX-to-CRM recording setups than anything else. Confirm all three before you touch a setting.

  • 3CX version. v18 build 11 or later for stable Call Control API access. v20 is preferred for new builds because the API surface is broader and transcription is included on the higher tier, per the 3CX v20 release notes.
  • 3CX recording enabled per extension. Recording must be turned on per extension or per inbound rule in the 3CX admin console. The API cannot fetch a recording that was never made. We cover the licence and role specifics in a companion guide.
  • A dedicated 3CX API user with two roles. Recording Manager (to fetch recording files) plus Reports User (to read call history). System Administrator works as a single-role alternative but should be avoided on a production PBX for blast-radius reasons.

The role configuration that actually works

This is the single most common DIY failure mode. The Reports User role on its own returns call records but a 401 or 403 on the recording URL. The Recording Manager role on its own returns recordings but cannot enumerate call history.

The working configuration is both roles assigned to one API user. The 3CX user-roles documentation lists them as separate permission sets for a reason: history and audio are different scopes.

If your bridge is returning calls without recordings, the role is the first thing to check. Open the 3CX admin console, edit the API user, confirm both roles are ticked.

How to set up 3CX call recording in your CRM

A productised setup runs in five minutes. The full sequence below assumes you are building or installing a bridge from scratch.

  1. Confirm the 3CX licence covers call recording. Open the 3CX admin console, check the licence type, confirm recording is included. Annual or higher tiers include it on v18 and v20.
  2. Enable recording on the extensions you care about. In Extensions -> [user] -> Options, set recording to "All Calls" or "On Demand" depending on policy. Test by placing a call and confirming the recording appears in the 3CX call history.
  3. Create a dedicated 3CX API user. Add a user (not an extension), name it something obvious like crm-bridge, tick the Recording Manager and Reports User roles, generate an API key. Save the key in a password manager.
  4. Confirm the CRM stores audio links on call events. Modern marketplace CRMs, HubSpot, Salesforce, Zoho and Pipedrive all accept a recording URL on a call activity. Some require enabling the call-tracking feature first.
  5. Map 3CX extensions to CRM users. Each extension that places recorded calls needs a CRM user it can post the call against. Without the map, recordings land on orphan records or fall back to a default user, which makes audit trails meaningless.
  6. Install the bridge or write the listener. A marketplace app handles steps 6, 7 and 8 for you. A custom build needs to listen for the 3CX call.ended event, look up the extension, find the contact by phone number, and post the call activity with the recording URL attached.
  7. Handle the late-recording case. 3CX writes the recording file after the call ends. A naive listener posts the call event with no recording, then never updates it. The bridge needs a retry loop: post the call event with a placeholder, then poll for the recording URL for up to two minutes, then patch the contact event with the link when it arrives.
  8. Test with a real call. Place a call from a mapped extension to a number that exists in the CRM, hang up, wait ten seconds, refresh the contact. The call should be there with a clickable recording link. If the link is missing, wait the full two-minute retry window before troubleshooting.
  9. How Connect Zero handles the late-recording case

    Connect Zero polls the 3CX recording endpoint with exponential backoff for up to two minutes after the call ends, then patches the CRM contact event with the streaming URL when the file is ready. The recording is never copied or stored on Connect Zero infrastructure; the CRM contact carries a link to the file on the 3CX PBX, played back through the customer's existing 3CX licence.

    This matters for three reasons:

    • Storage cost. Recordings stay where they are licensed. No second copy, no second bill.
    • Compliance. The PBX is the system of record for audio; the CRM is the system of record for contact activity. The bridge does not blur that line.
    • Retention. When a recording is deleted on the PBX (retention policy expiry, for example), the CRM link returns a 404. No orphan audio drifting around the CRM.

    You can see the architectural detail on how the bridge works.

    Three patterns where the bridge earns its keep

    We see three workflows agencies and in-house teams build on top of recording sync. Each one is in the base Connect Zero licence; nothing here requires a premium tier.

    • Sales playbook review. Managers filter calls by duration over five minutes, listen to the first ten seconds and the last thirty, drop notes on the contact record. The recording-on-contact pattern collapses the review time roughly in half versus opening two tabs per call.
    • Onboarding handoff. When a sales rep hands a new customer to support, the support agent opens the contact and hears the last sales call. Repetition disappears, the customer notices.
    • Dispute resolution. Either party recalls the call differently. The recording is one click from the contact note. The dispute closes in minutes.

    Compliance and retention considerations

    Call recording is regulated differently across jurisdictions. In Australia, the Telecommunications (Interception and Access) Act and state-level surveillance legislation set rules around informing callers and storing recordings. In the European Union, GDPR treats voice recordings as personal data, with retention limits and right-to-erasure obligations. In the United States, consent rules vary by state (one-party versus two-party consent). Connect Zero does not capture consent on your behalf; the bridge surfaces a recording the PBX has already captured under your existing compliance posture.

    Three practical implications for the integration design.

    • Retention lives on the PBX. Set the 3CX retention policy to match your compliance requirement (30 days, 12 months, 7 years, whatever applies). When the PBX deletes the recording, the CRM contact link returns a 404 cleanly. Nothing has to be deleted twice.
    • Right to erasure (GDPR or similar). A customer asking for their recording to be deleted needs the deletion to happen on the PBX. The CRM contact link breaks automatically when the source is removed. Document the deletion path in your privacy register.
    • Access control. Recording playback from the CRM contact uses the 3CX recording URL, which still respects the PBX's access rules. A CRM user who is not authorised on the PBX cannot bypass the PBX permission by going through the contact.

    If your jurisdiction or vertical requires audio data residency inside the CRM rather than on the PBX, the streaming model is not the right fit. Ask the team via contact before installing.

    What 3CX call recording in your CRM does not do

    A short list of expectations to set, drawn from the questions teams ask in the first week.

    • It does not back-fill historical recordings. Only calls placed after install sync. Bulk historical import is a sales-assisted conversation, not a default behaviour.
    • It does not transcribe by default on v18. Transcription is a v20 feature on the higher licence tier.
    • It does not capture consent on your behalf. Recording consent requirements vary by jurisdiction; that compliance lives with your operations team, not the bridge.
    • It does not store the audio in the CRM. The contact event carries a link; the file lives on the PBX.

    Frequently asked questions

    Does 3CX call recording work with marketplace-distributed CRMs?

    Yes. Any CRM that exposes a call-event endpoint and accepts a recording URL on it works. The bridge maps the 3CX call into the CRM's call schema and posts it against the matching contact, with the recording link attached.

    What 3CX licence do I need for call recording in the CRM?

    3CX v18 or v20 on an annual licence tier (or higher) with recording enabled at the extension level. The 3CX API user needs the Recording Manager and Reports User roles. Detail in our 3CX licence requirements guide.

    Why does my call show up without a recording?

    Most likely the bridge posted the call before 3CX finished writing the recording file. A correctly built bridge polls for the recording URL for up to two minutes after the call ends and patches the contact event when the file is ready. If the recording still does not appear after two minutes, check the API user holds the Recording Manager role.

    Can I listen back from inside the CRM without leaving the contact?

    Yes. The recording URL is a streaming link the CRM contact event opens in place. The audio plays back from the 3CX PBX through the customer's existing 3CX licence.

    Does the bridge copy recordings off the PBX?

    No. Connect Zero does not store call recording audio on its own infrastructure. The CRM contact carries a link to the file on the 3CX PBX; if you delete it on the PBX, the CRM link returns a 404. The PBX stays the system of record for audio.

    What happens to recordings if I cancel Connect Zero?

    The recordings stay on your 3CX PBX as they were. The links in the CRM contact events become orphan links because Connect Zero is no longer attaching new ones, but the existing call activity history in the CRM is preserved. Nothing on the 3CX side is touched on cancellation.

    Can I get transcription as well as the recording?

    On 3CX v20 with the transcription-enabled licence tier, yes. The transcription is fetched alongside the recording and attached as a note on the contact event. On v18 transcription is not available from 3CX itself; you would need a third-party transcription service.

    Is there a separate per-recording fee?

    No per-recording fee. Connect Zero pricing is USD 39 per location per month base plus USD 0.02 per call synced. The recording attach step does not carry an extra charge. We list the rest of pricing in plain numbers.

    Connect Zero is built by Auswide IT, an Australian 3CX VAR partner deploying 3CX across South Australia. Last updated 23 May 2026.