Enhance your 3CX

3CX Webhook: real-time call events for your CRM

A service installed on your 3CX server that sends every call event to your CRM, helpdesk or script as an HTTPS request with JSON. Build integrations of any complexity without polling 3CX.


  • Works with any client: IP phone, softphone, mobile or web app
  • All call events: dialing, ringing, answered, finished, missed
  • One call ID (chid) for all events of a call
  • Recording link and AI transcription with a summary
  • Call duration, result and the reason a call ended
  • Which side hung up
  • User status history
  • Main, second and mirror endpoints
  • Windows or Debian, 3CX V18 or V20

From €239 per year. Pricing · Webhook documentation

3CX Webhook generator sends call events to a CRM

What the Webhook generator sends

Call events
Events for every call that passes through 3CX: dialing, ringing, answered, finished
Queues and missed calls
A call placed in a queue, and missed calls both by agents and by queues
3CX call recordings
A link to download the MP3 or WAV recording from your server, or the file in Base64
AI transcription and summary
Transcription, short summary and sentiment score of each conversation
User status history
A table with the history of employee status changes
Call Detail Record (CDR)
An alternative table of call events in 3CX

One call, step by step

Your CRM receives every event it needs, from the first ring to the AI summary. All events of a call share the same chid.
08:16:06
08:16:06
Incoming call from 381629759787 DID 38121203400 IVR 800
{
"event": "ringing",
"callerid": "+381629759787",
"user": "800",
"usertype": "other",
"did": "DID 38121203400",
"id": "250802081606_17-0",
"chid": "00000000-01dc-0374-ee1f-dd2e00000011",
"inbound_did": "38121203400",
"sip_displayname": "+381629759787",
"phonebook": "John Smith",
"call_id1": "4d44cf6670e1503359260aeb1415e8ab@sip.zadarma.com;to-tag=775e8923;from-tag=as004cd620",
"call_id2": ""
}
08:16:12
08:16:12
The call is placed in queue 801
{
"event": "ringing",
"callerid": "+381629759787",
"user": "801",
"usertype": "queue",
"did": "DID 38121203400",
"id": "250802081606_17-0",
"chid": "00000000-01dc-0381-705a-30e900000016",
"inbound_did": "520529",
"sip_displayname": "+381629759787",
"phonebook": "John Smith",
"call_id1": "4d44cf6670e1503359260aeb1415e8ab@sip.zadarma.com;to-tag=775e8923;from-tag=as004cd620",
"call_id2": "i1kYyhxiRa73YjSRNAOL6w..;from-tag=207f2803;to-tag=6b5aee2e"
}
08:16:17
08:16:17
Call-center agent 105 is receiving the call
{
"event": "ringing",
"callerid": "+381629759787",
"user": "105",
"usertype": "ext",
"did": "DID 38121203400",
"id": "250802081606_17-0",
"chid": "00000000-01dc-0381-705a-30e900000016",
"inbound_did": "520529",
"sip_displayname": "+381629759787",
"phonebook": "John Smith",
"call_id1": "4d44cf6670e1503359260aeb1415e8ab@sip.zadarma.com;to-tag=775e8923;from-tag=as004cd620",
"call_id2": "pHoNffqoO8qk70iVZInS9w..;from-tag=4f604b7a;to-tag=d57d226f"
}
08:16:21
08:16:21
Call-center agent 105 is picking up the phone
{
"event": "pickupincoming",
"callerid": "+381629759787",
"user": "105",
"did": "DID 38121203400",
"trtype": "NotDef",
"id": "250802081606_17-1",
"chid": "00000000-01dc-0381-705a-30e900000016",
"inbound_did": "520529",
"sip_displayname": "+381629759787",
"phonebook": "John Smith",
"call_id1": "4d44cf6670e1503359260aeb1415e8ab@sip.zadarma.com;to-tag=775e8923;from-tag=as004cd620",
"call_id2": "28828c1d-2afc-4824-a25a-d2ab27544cb9;to-tag=c7502c4b;from-tag=9e8b348b-735b-4e22-9bab-36791a3e2a79"
}
08:16:57
08:16:57
The call was ended
{
"event": "incoming",
"callerid": "+381629759787",
"user": "105",
"finishtype": "Ok",
"transfer": "False",
"breakside": "External",
"did": "DID 38121203400",
"title": "Answered call from +381629759787 (0:36)",
"id": "250802081606_17-1",
"chid": "00000000-01dc-0381-705a-30e900000016",
"inbound_did": "520529",
"sip_displayname": "+381629759787",
"phonebook": "John Smith",
"call_id1": "4d44cf6670e1503359260aeb1415e8ab@sip.zadarma.com;to-tag=775e8923;from-tag=as004cd620",
"call_id2": "i1kYyhxiRa73YjSRNAOL6w..;from-tag=207f2803;to-tag=6b5aee2e"
}
08:16:58
08:16:58
MP3 link to the conversation recording is ready
{
"FILES": [ "https://{3CXFQDN}/webapi/recording/+381629759787-105_250802081606_17-1-1.mp3" ],
"event": "addrecord",
"addrecord": "250802081606_17-1-1"
}
08:17:04
08:17:04
Voice recognition and conversation summary is ready
{
"event": "ai",
"id": "250802081606_17-1-1",
"summary": "A customer called TechEase Support about a red blinking router. The agent guided the customer through a quick reset, which resolved the issue.",
"transcription": "Hello! Thank you for calling TechEase Support, this is Sarah speaking. How can I help you today? — Hi Sarah! I’m having a little trouble connecting my new router. It’s blinking red and not getting online. — Got it. That usually means the router isn’t picking up the internet signal. Let’s try a quick reset—can you unplug the power for 10 seconds and plug it back in? — Okay, just did that… and—yes! Now the light turned green. — Perfect! That means it’s online now. You should be good to go! — Awesome, that was fast. Thank you so much! — You’re very welcome! Have a great day and thanks for calling TechEase.",
"sentiment_score": "5"
}

Screenshots

Webhook requests received in webhook.site (2023 examples; current events contain more fields, as shown above)

Video

Webhook events generator for 3CX on Windows

Technical details

All settings and events: 3CX Webhook documentation
Requirements
Root (Debian) or administrator (Windows) access to the 3CX server
Not compatible with 3CX SMB and systems hosted by 3CX
The Webhook generator is installed as an additional service on the 3CX server (Debian or Windows)

Pricing

Annual license for the Webhook generator, priced by simultaneous calls (SC). The license must cover the same number of SC as your 3CX license. Support is included; taxes and VAT are not. Need click-to-call as well? See the WebAPI + Webhook bundle.
8 SC
— Webhook generator
— Support included
€239
per year
16 SC
— Webhook generator
— Support included
€359
per year
24 SC
— Webhook generator
— Support included
€479
per year
32 SC
— Webhook generator
— Support included
€599
per year

FAQ

More answers in the 3CX WebAPI and Webhook FAQ