called Number in the CRM

Status
Not open for further replies.

valentin.carmont

Free User
Joined
May 17, 2023
Messages
29
Reaction score
2
Good morning,

We use the crm to create a contact in our 3CX server to display caller information. for that we need to query our api with the calling number and the called number, however I can't find a solution to have the called number in the CRM.

Could you tell me more?
 
Unfortunately the called number is not available as a variable for the template, at the time being.
 
  • Like
Reactions: Evolute IT
thank you for your answer, it's really sad...
 
thank you for your answer, it's really sad...
The only workaround is to use a CFD as entry point to the DID, then in there you do the CRM request (as the CFD can see both CID and DID), and you use that to set the raw variables needed for the CRM integration (URL, name and EntityId/EntityType used in ReportCall.)
 
I'm not sure I fully understand

I already have a CFD as input to my did
1687938340629.pngIn your solution, I have to make a CRM request, that's what I don't understand, should I use this option in the CFD?

1687938280014.png


If yes I do not understand how this option works, it does not only expect input parameters?

How should I take it?
 
Using this CFD component, you can do the lookup by phone number, and pass the variable session.ani as parameter. But this is not enough for you, because you need to send the called number too. So you will need to manually invoke your web service using the Web Service REST component. The called number is in variable session.did, as long as you have an Inbound DID rule for this number. Then you will need to analyze the JSON response, you can use the JSON / XML Parser component for this. Then you will need to set some properties by attaching data to the call, here you have the details of the 3 properties that you will need to set:
https://www.3cx.com/community/threads/open-custom-url-variables-issues.117676/#post-545639
 
  • Like
Reactions: Evolute IT
Sorry for hi-jacking this thread, but if I am understanding correctly with out putting a CFD prior to any call flow there is no way via the standard 3cx CRM XML Generator to have the "Matching Scenario" pass the DID the call was made to?

Our customer doesnt want to trigger their CRM on all calls but only on specific calls, we need the DID as a way to filter which calls the CRM should react on. - any thoughts?

The call journeling whihc assume happens after the call completed doesnt appear as well to have this variable.
 
Sorry for hi-jacking this thread, but if I am understanding correctly with out putting a CFD prior to any call flow there is no way via the standard 3cx CRM XML Generator to have the "Matching Scenario" pass the DID the call was made to?

Our customer doesnt want to trigger their CRM on all calls but only on specific calls, we need the DID as a way to filter which calls the CRM should react on. - any thoughts?

The call journeling whihc assume happens after the call completed doesnt appear as well to have this variable.
Use the CFD and customize the URL provided using the Call Data (I'll add the link here when I find it but they all start with public_.)
 
Use the CFD and customize the URL provided using the Call Data (I'll add the link here when I find it but they all start with public_.)
You're probably referring to this.
 
  • Like
Reactions: Evolute IT
@ConceptsWeb @edossantos,

Thank you, I will look into it. The way I see it even in a simplified version of CRM integration like the 3cx CRM integrator should have some very basic information.
1) From number
2) From name (CID)
3) To number
4) A webhook option when answered consisting of the above and the extension that answers it

With the above, a lot can be done...
 
  • Like
Reactions: Evolute IT
Hi,

What am I missing here? Looking to do Http Request - URI for example: "https://mycrm/inbound?Number=session.ani"

Tried it as well as Content, but then it sends it as payload -

How can it be passed in the URL (similar to CRM generator)
 
Set your URL to this:

CONCATENATE("https://mycrm/inbound?Number=", session.ani)

Set Content to empty, and also unset the Content-Type (leave it empty)
 
  • Like
Reactions: edossantos
  • Like
Reactions: Evolute IT
Hi there,

I don't know if I would better revive this thread or start a new one, so I'm sorry if that first option isn't cool.

I'd also like to get the DID information in all ReportCalls scenarios, I get that this variable is only available in CFD apps.

If the call passes through a CFD that attaches to the call a variable, let's say "public_called_number" with value session.did, then is it possible to get back public_called_number variable in CRM integration template so that I could pass it to the ReportCalls ?

Or perhaps should I use one of the LookupFromCFD scenarios and somehow get back the DID in a variable that I could pass to all the ReportCalls scenarios ?

Thank you for reading anyway.
 
Hi there,

I don't know if I would better revive this thread or start a new one, so I'm sorry if that first option isn't cool.

I'd also like to get the DID information in all ReportCalls scenarios, I get that this variable is only available in CFD apps.

If the call passes through a CFD that attaches to the call a variable, let's say "public_called_number" with value session.did, then is it possible to get back public_called_number variable in CRM integration template so that I could pass it to the ReportCalls ?

Or perhaps should I use one of the LookupFromCFD scenarios and somehow get back the DID in a variable that I could pass to all the ReportCalls scenarios ?

Thank you for reading anyway.
There's no way to get the DID beside storing it in a DB via a CFD, then matching that "call" during the report call. Note that you need to provide your own DB for that.

The variables in the XML template are fixed.
 
  • Like
Reactions: edossantos
@ConceptsWeb thanks for quick answer

Ok so first I get the CFD call my REST API to insert CID, DID, timestamp and possibly matched contact in a DB Table then I can use CID, callStart, duration etc to match that entry during the ReportCall. I mean there is absolutely no call id to match these isn't it ?
 
@ConceptsWeb thanks for quick answer

Ok so first I get the CFD call my REST API to insert CID, DID, timestamp and possibly matched contact in a DB Table then I can use CID, callStart, duration etc to match that entry during the ReportCall. I mean there is absolutely no call id to match these isn't it ?
No call ID, and CallStart might not be exactly the same as the CFD timestamp, so keep that in mind. And you cannot grab the matched contact since it may not yet be available in the call data yet. You have to match with CID and timestamp (+/- 1min or less if you feel lucky.)
 
  • Like
Reactions: edossantos
Status
Not open for further replies.

Latest Posts

Forum statistics

Threads
111,973
Messages
590,075
Members
164,895
Latest member
jasonkkrause