Integrating WhatsApp Call with CRM Using 3CX
3 min read
Already using the WhatsApp Business Calling API, but its calls still aren’t “talking” to your CRM? This article walks you step by step through connecting WhatsApp calls into 3CX, then linking that to your CRM — so customer data, call logs, and recordings all end up logged automatically in one place.
Also read: Why Should Companies Adopt the WhatsApp Calling API? (Indonesian)
Before You Start, Get These Ready #
Make sure the following are already in place before starting the integration:
- An active WhatsApp Business API account (registered on Meta Cloud)
- A 3CX system, version 18 or 20
- A Linux server with a public IP address
- A valid SSL Certificate for webhook communication
- A SIP Gateway to bridge WhatsApp calls into 3CX
- A target CRM that has one of the following:
- A REST API
- Database access (MySQL/MariaDB, MSSQL, or PostgreSQL)
If any of the above is missing, set it up first before moving on to the next step, so the setup process doesn’t get stuck halfway through.
Step 1: Connect the WhatsApp Business Calling API to 3CX #
The first stage is making WhatsApp calls able to “reach” your business phone system.
- Register your WhatsApp Business number with the Meta Cloud API and enable the Calling feature
- Configure a Webhook so every call event (incoming call, call accepted, call terminated) is forwarded to your server
- Set up a SIP Gateway to convert the WhatsApp call signal into SIP format (RTP media + signaling)
- Connect that SIP Gateway to 3CX as a SIP Trunk
- Test an incoming call from WhatsApp — make sure it shows up as an inbound call in the 3CX Webclient
Once this stage is done, WhatsApp calls can already be routed to an Extension, Ring Group, Call Queue, or IVR as needed — exactly like a regular phone call.
For a more detailed guide on the SIP Gateway-to-3CX architecture, check out WhatsApp Business Calling API with 3CX PBX (Indonesian).
Step 2: Set Up the Call Flow in 3CX #
Once WhatsApp calls are coming in successfully, decide where they should be routed:
- Open Call Flow Designer in the 3CX Admin Console
- Set the call destination: a specific Extension, Ring Group, Call Queue, or IVR (Digital Receptionist)
- If you need an automated menu (e.g. “Press 1 for Sales, Press 2 for Support”), configure it in the IVR
- Enable Call Recording so every WhatsApp call is recorded automatically
- Save and re-test the call flow from the customer’s side
Step 3: Choose Your CRM Integration Method #
Once the call flow in 3CX is sorted, the next step is connecting 3CX to your CRM. There are three methods to choose from, depending on what kind of CRM you’re using.
A. Integration via REST API (most flexible) #
Best suited for cloud-based CRMs, custom CRMs, or Omni Channel systems.
- Enable the Call Control API & Webhook in 3CX
- Create an endpoint on the CRM side to receive call events (incoming call, answered, missed, call ended)
- Map the data being sent: phone number, time, duration, call status, and recording link
- Test both directions — make sure that when the phone rings, customer data can be pulled from the CRM right away (screen pop), and once the call ends, the log is automatically saved back to the CRM
B. Integration via Database (MySQL, MSSQL, PostgreSQL) #
Best suited for a CRM or internal application that’s database-based.
- Prepare connection access to the CRM database (credentials, host, port)
- Decide how phone numbers will be matched against customer data in the database
- Choose a sync method: real-time (as soon as a call happens) or scheduled sync (on a periodic schedule)
- Test that call logs are stored correctly and that ticket/transaction status updates run as expected for your business scenario
C. Hybrid Integration (API + Database) #
Best suited for enterprise CRMs, large-scale call centers, or systems with strict audit requirements.
- Use the REST API for real-time call events (screen pop, notifications)
- Use a database connection for reporting, analytics, and historical data storage
- Make sure the two paths don’t overlap, so the data stays consistent
Step 4: Run an End-to-End Test #
Before going live, run a thorough test covering:
- Incoming WhatsApp calls show up in 3CX Webclient/Desktop App/IP Phone
- Customer data appears automatically (screen pop) as the phone rings
- Call logs (duration, status, time) are automatically saved in the CRM
- Call recordings are accessible from both the CRM and 3CX
- CRM notifications/workflow triggers fire as expected (e.g. updating a ticket’s status)
If everything above runs smoothly, the system is ready for your agent team to use.
Security Considerations #
Since this integration involves customer data, make sure the following are in place:
- API authentication for every request between 3CX and the CRM
- Role-based access — agents can only access data within their authorization
- Data encryption, both in transit and at rest
- Logging & an audit trail to track who accessed what data, and when
Need Help Setting It Up? #
Connecting WhatsApp Call to a CRM involves several technical components — from the SIP Gateway, to the 3CX call flow, to the API/database integration itself. The SolusiPBX team is ready to help with this process from start to go-live. Contact us for a consultation and demo tailored to your business needs.
