Skip to content

FreePBX CRM Integration

FreePBX and Asterisk connected to your CRM: screen pop on inbound calls, click-to-call from the record, and automatic call logging with recordings, plus the phone-number normalisation that makes calls match the right contact. Built by engineers who run FreePBX, Asterisk and Vicidial every day.

Stack & Delivery

What we build on, and how it runs.

Technology stack

PBXFreePBX, Asterisk, Vicidial
InterfacesAMI, REST API
ServicesNode.js, Laravel
Browser callingWebRTC
DataMySQL CDR
Automationn8n, SMTP

How a call reaches the CRM

  1. 1

    Call event

    Asterisk reports ringing, answer and hang-up through AMI.

  2. 2

    Normalise

    The caller ID is put into the same format the CRM's numbers are stored in.

  3. 3

    Match

    The contact is found, or a new one is flagged, before the agent picks up.

  4. 4

    Screen pop

    The agent sees the record and its history as the call connects.

  5. 5

    Log

    Duration, outcome and recording link are written back to the record.

Our Approach

Screen pop, click-to-call and call logging are three separate integrations that get bought as one feature, and each fails differently. We build against Asterisk itself, through AMI and the REST interfaces, because FreePBX is a configuration layer on top of it. The first job is usually the data: caller IDs arrive in one format and the CRM stores numbers in many, so normalisation is designed before any screen pops.

What's Included

Screen Pop

The caller's CRM record opens for the agent as the call rings, matched on a normalised number.

AMIWebSocket

Click-to-Call

Calls placed from the CRM record through the PBX, including browser calling over WebRTC without a desk phone.

FreePBXWebRTC

Call Logging & Recordings

Every call written back to the right record with duration, outcome and a link to its recording.

AsteriskMySQL

CDR Reporting

Call detail reports generated and delivered on a schedule with n8n, across one or several CDR databases.

n8nMySQLSMTP

Multi-Server & Multi-Tenant

One agent view across several FreePBX servers, or tenant isolation on a shared PBX, with role-based access.

ReactNode.jsJWT

Vicidial Integration

Vicidial call-centre floors connected to the CRM, so outbound campaigns and dispositions land on the record.

Vicidial

FreePBX CRM Integration FAQs

Does FreePBX CRM integration need a commercial module?

No. We integrate against Asterisk directly through AMI and the REST interfaces, which works with any CRM that has an API, including custom ones.

Why does the screen pop show the wrong contact or none at all?

Usually the data, not the integration: caller IDs arrive in one format while the CRM stores numbers in many. We design number normalisation before building the screen pop.

Does it work with Vicidial or plain Asterisk?

Yes. FreePBX is a configuration layer on Asterisk, so the same approach applies to Asterisk and to Vicidial floors.

Can it span several PBX servers or tenants?

Yes. Our case studies include one agent dashboard across several FreePBX servers and a portal with enforced tenant isolation on a shared PBX.

Cloud or on-premises PBX?

Either. The integration needs network access from the PBX to the CRM, which we set up without opening the PBX database to the internet.

Talk Through Your Requirements

Tell us your PBX (FreePBX, Asterisk or Vicidial), your CRM, the number of agents, and which of screen pop, click-to-call or call logging you need.

We typically respond within 4–8 business hours.