CRM integration: called extention

Status
Not open for further replies.

Ronald Klitsche

Forum User
Joined
Sep 25, 2018
Messages
17
Reaction score
1
Hello @Ronald Klitsche,

Do you mean in the server side templates? In that case, please note that you have 2 types of scenarios:
1) The lookup scenarios (without ID), which are used to search for contact records. In this case you don't have the extension number, because when this is executed, the call has not been sent to an extension yet. Also, this is not executed for every single call, if you already have the contact details in 3CX Contacts, then the lookup scenario will not be executed, the information will be retrieved from 3CX Contacts.

2) The call journaling scenario (with the special ID "ReportCall"). This is invoked when the call ends, and you have the variable [Agent] which contains the extension number that received the call.

Kind regards.
 
Is there any documentation available, especially which ID/Events and values are when available?
 
Thank's for the Link, Ernesto.
What I'm missing is the called number (DID/DDI) and the direction of the call.
These CRM Link are called for incomming and outgoing calls. I can't see, what kind it is?

I see that this interface is used to feat the 3CX sytem with the data of the CRM.
I want to feat the CRM with the in- and outgoing call information.
 
The called number (DID) is not available via this API. You only have the Caller number in the [Number] variable, and the extension of the agent who received the call in the [Agent] variable. The [CallType] variable will tell you if it's "Inbound" (incoming and answered), "Outbound" (outgoing and answered), "Missed" (incoming not answered), or "Unanswered" (outgoing not answered).

If you need additional information, like the DID, you need to use the 3CX Call Control API in a .NET Core program:
https://www.3cx.com/docs/call-control-api/

Kind regards.
 
The CRM Test bring the following errors:
-> Unknown expression: CallType. Part: CallType.
-> Unknown expression: Agent. Part: Agent.

Any idea?
 
Ok, I see. It's only available at the ReportCall state.
But at this state the call is already done.
I'm right?
 
Ok, I see. It's only available at the ReportCall state.
But at this state the call is already done.
I'm right?
Yes, you're right. The ReportCall scenario is executed when the call ends.

Also, please note that the contact lookup scenarios are not intended to be used to notify every call. They are executed when the call arrives to 3CX, but not always. For example, if you already have a contact in 3CX Contacts with that phone number, the lookup scenario will not be executed...

To much effort for only two more parameters.
Is there a wish list for further development?
The contact lookup scenarios don't have the information of the agent that takes the call. And this is not something we can add in a future version, because these scenarios are executed as soon as the call arrives to 3CX, and before sending them to an agent. So the CRM engine has no idea of which agent will take this particular call... Also, the CallType is useless in this case because lookup scenarios are always executed for inbound calls. As I said, these are not intended to be used to report calls, they are to get the contact information when the caller number is not in 3CX Contacts yet.

So, you can suggest this in the 3CX Ideas site if you want, but it doesn't make sense considering the current architecture of the CRM engine... I would use the 3CX Call Control API in your case...

Kind regards.
 
The contact lookup scenarios don't have the information of the agent that takes the call. And this is not something we can add in a future version, because these scenarios are executed as soon as the call arrives to 3CX, and before sending them to an agent.

Does the 3CX have the information which phone nummer is called?

So the CRM engine has no idea of which agent will take this particular call... Also, the CallType is useless in this case because lookup scenarios are always executed for inbound calls.
No, it's also triggered by outgoing calls.

As I said, these are not intended to be used to report calls, they are to get the contact information when the caller number is not in 3CX Contacts yet.
Ok. I see.
Cant realy understand, why other CRM need a copy of the phone/adress list in the 3CX and how do they synchronize changes in adress and phone numbers.
We try to have these information in the CRM only and make notes and open tickets to the customer records. Therefore we just need the incoming call information: Caller number, called number and the information in- or outbound.

So, you can suggest this in the 3CX Ideas site if you want, but it doesn't make sense considering the current architecture of the CRM engine... I would use the 3CX Call Control API in your case...
Maybe a further Id="CallPending" with these parameter can be a solution. Not touching the existing events.
 
Last edited:
Does the 3CX have the information which phone nummer is called?
In the 3CX Call Control API you have it. But it's not exposed to the lookup scenarios.

Cant realy understand, why other CRM need a copy of the phone/adress list in the 3CX and how do they synchronize changes in adress and phone numbers.
This is not a CRM need. It's how 3CX designed the CRM engine architecture. The contacts inserted in 3CX Contacts have a timestamp, and after a while 3CX will query the CRM again and check if the record needs to be updated. That's how 3CX is synchronized when you make changes to a contact in your CRM.

We try to have these information in the CRM only and make notes and open tickets to the customer records. Therefore we just need the incoming call information: Caller number, called number and the information in- or outbound.
This is a different approach than the one used by the 3CX CRM engine. I would use the 3CX Call Control API in this case.
 
In the 3CX Call Control API you have it. But it's not exposed to the lookup scenarios.

That would be great, if these two little parameters could be added. ;-)

This is a different approach than the one used by the 3CX CRM engine. I would use the 3CX Call Control API in this case.

Is the NotificationsMonitor.cs the right sample?
 
Is the NotificationsMonitor.cs the right sample?
Yes, there you will be able to see the notifications you receive from 3CX. Then you need to perform your HTTP requests depending on them.
 
Status
Not open for further replies.

Latest Posts

Forum statistics

Threads
112,323
Messages
591,896
Members
165,474
Latest member
costionofrei