CRM link not opening in 3CX web app or in 3CX Mac app

Status
Not open for further replies.

mkrecek

Customer
Joined
Aug 23, 2019
Messages
15
Reaction score
1
I set-up a custom CRM profile with the CRM Template Generator - the "Test" button returns the correct data including the correct ContactURL.
However, when someone calls with a number that exists in the database, neither the Google Chrome web client, nor the installed 3CX apple client will open the URL. I checked also the settings in the apps making sure it would open the link automatically.

Is this a bug?
 
You need to ensure that the contact lookup is returning data for a real call. In some cases you test from the management console with a number which is found, but then the real call has a different prefix causing that the number is not found.

In order to investigate the issue, please enable verbose logs from the 3CX Console > Dashboard > Activity Log > Settings. Then make a test call where you reproduce the issue, and check the 3cxSystemService.log file that you can download from the 3CX Console > Dashboard > Activity Log > Logs button > Instance folder.
 
Hi there, Thank you very much for the instructions - I checked the log and it correctly finds the contact from the CRM.
The CRM template is setup like below. However, neither the current MacOS 3cx app nor the Google Chrome web client shows the ContactURL link or opens that link as it should. Are you sure this is working properly?


<?xml version="1.0"?>
<Crm xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Country="GER" Name="ERP" Version="1" SupportsEmojis="true">
<Number Prefix="Plus" MaxLength="20" />
<Connection MaxConcurrentRequests="2" />
<Parameters />
<Authentication Type="No" />
<Scenarios>
<Scenario Id="" Type="REST">
<Request Url="http://domain.net/integrations/3cx.php?number=[Number]" MessagePasses="0" RequestEncoding="UrlEncoded" RequestType="Get" ResponseType="Json" />
<Rules>
<Rule Type="Any">contact.id</Rule>
</Rules>
<Variables>
<Variable Name="ContactID" Path="contact.id">
<Filter />
</Variable>
<Variable Name="FirstName" Path="contact.given_name">
<Filter />
</Variable>
<Variable Name="LastName" Path="contact.last_name">
<Filter />
</Variable>
<Variable Name="CompanyName" Path="contact.company">
<Filter />
</Variable>
<Variable Name="Email" Path="contact.email">
<Filter />
</Variable>
<Variable Name="PhoneBusiness" Path="contact.phone">
<Filter />
</Variable>
<Variable Name="PhoneMobile" Path="contact.mobile">
<Filter />
</Variable>
</Variables>
<Outputs AllowEmpty="false">
<Output Type="ContactID" Passes="0" Value="[ContactID]" />
<Output Type="FirstName" Passes="0" Value="[FirstName]" />
<Output Type="LastName" Passes="0" Value="[LastName]" />
<Output Type="CompanyName" Passes="0" Value="[CompanyName]" />
<Output Type="Email" Passes="0" Value="" />
<Output Type="PhoneBusiness" Passes="0" Value="[PhoneBusiness]" />
<Output Type="PhoneMobile" Passes="0" Value="[PhoneMobile]" />
<Output Type="ContactUrl" Passes="0" Value="http://domain.net/customer.php?caction=edit&amp;cid=[ContactID]" />
<Output Type="EntityId" Passes="0" Value="[ContactID]" />
<Output Type="EntityType" Passes="0" Value="Contacts" />
</Outputs>
</Scenario>
<Scenario Id="LookupByEmail" Type="REST">
<Request Url="http://domain.net/integrations/3cx.php?email=[Email]" MessagePasses="0" RequestEncoding="UrlEncoded" RequestType="Get" ResponseType="Json" />
<Rules>
<Rule Type="Any">contact.id</Rule>
</Rules>
<Variables>
<Variable Name="ContactID" Path="contact.id">
<Filter />
</Variable>
<Variable Name="FirstName" Path="contact.given_name">
<Filter />
</Variable>
<Variable Name="LastName" Path="contact.last_name">
<Filter />
</Variable>
<Variable Name="CompanyName" Path="contact.company">
<Filter />
</Variable>
<Variable Name="Email" Path="contact.email">
<Filter />
</Variable>
<Variable Name="PhoneBusiness" Path="contact.phone">
<Filter />
</Variable>
<Variable Name="PhoneMobile" Path="contact.mobile">
<Filter />
</Variable>
</Variables>
<Outputs AllowEmpty="false">
<Output Type="ContactID" Passes="0" Value="[ContactID]" />
<Output Type="FirstName" Passes="0" Value="[FirstName]" />
<Output Type="LastName" Passes="0" Value="[LastName]" />
<Output Type="CompanyName" Passes="0" Value="[CompanyName]" />
<Output Type="Email" Passes="0" Value="[Email]" />
<Output Type="PhoneBusiness" Passes="0" Value="[PhoneBusiness]" />
<Output Type="PhoneMobile" Passes="0" Value="[PhoneMobile]" />
<Output Type="ContactUrl" Passes="0" Value="http://domain.net/customer.php?caction=edit&amp;cid=[ContactID]" />
<Output Type="EntityId" Passes="0" Value="[ContactID]" />
<Output Type="EntityType" Passes="0" Value="Contacts" />
</Outputs>
</Scenario>
</Scenarios>
</Crm>


Here you see the log entry for the found CRM record:

2022/05/05 10:11:26.709|17576|0025|Verb|Filtered variables for matching:
2022/05/05 10:11:26.711|17576|0025|Verb| 'FirstName' = 'Michael '
2022/05/05 10:11:26.712|17576|0025|Verb| 'LastName' = 'Testuser'
2022/05/05 10:11:26.712|17576|0025|Verb| 'ContactID' = '1017647'
2022/05/05 10:11:26.712|17576|0025|Verb| 'PhoneMobile' = ''
2022/05/05 10:11:26.712|17576|0025|Verb| 'Email' = '[email protected]'
2022/05/05 10:11:26.712|17576|0025|Verb| 'CompanyName' = 'Michael Tester'
2022/05/05 10:11:26.712|17576|0025|Verb| 'PhoneBusiness' = '+49123456789'
 
Same problem, with Zoho CRM
 
@3cx support This Pro feature still is not working at all in V18 - The CRM integration based on an individual XML profile works, the contacts are identified and added to the phone book.

HOWEVER, no single client is automatically opening the contact URL or shows it:
- Tested on web client (Chrome or Safari)
- Tested on Mac 3CX client
- Tested on Windows 3CX client

As this is an important PRO feature and it still is not resolved for 6-12 months, I would like to urge you to fix this.
For our call center it is absolutely important.

REQUIRED BEHAVIOUR: ContactURL of an identified client is automatically opened.You see the sample XML file above.
P:S: Many with the same problem;
 
Last edited:
@3cx support This Pro feature still is not working at all in V18 - The CRM integration based on an individual XML profile works, the contacts are identified and added to the phone book.

HOWEVER, no single client is automatically opening the contact URL or shows it:
- Tested on web client (Chrome or Safari)
- Tested on Mac 3CX client
- Tested on Windows 3CX client

As this is an important PRO feature and it still is not resolved for 6-12 months, I would like to urge you to fix this.
For our call center it is absolutely important.

REQUIRED BEHAVIOUR: ContactURL of an identified client is automatically opened.You see the sample XML file above.
It might just be config.

Have you checked the logs in verbose mode to see if maybe it just doesn't send the right format?

Zoho doesn't do partial match on the API, so if your numbers are stored in 10-digits format, you need to query with 10-digits. For that, you need to make sure the match settings (Advanced > Contacts > Options) is set to Match Exactly or Match X numbers of digits (and set it to the number of digits in your Zoho contacts.)
 
It might just be config.

Have you checked the logs in verbose mode to see if maybe it just doesn't send the right format?

Zoho doesn't do partial match on the API, so if your numbers are stored in 10-digits format, you need to query with 10-digits. For that, you need to make sure the match settings (Advanced > Contacts > Options) is set to Match Exactly or Match X numbers of digits (and set it to the number of digits in your Zoho contacts.)
I checked the verbose logs, yes, and 3CX is properly getting the correct JSON response from the script - the TEST window confirms this also, as well as the fact that the contact is added to the 3CX phonebook.
What format do you mean which might not be right?
 
I checked the verbose logs, yes, and 3CX is properly getting the correct JSON response from the script - the TEST window confirms this also, as well as the fact that the contact is added to the 3CX phonebook.
What format do you mean which might not be right?
In this case you will need to confirm that it works during an actual call. The test window doesn't do it exactly the same way as a regular call.

Also, check that the users have the integration enabled. If you use the built-in template, it should just work from there.

The format in which you store numbers in Zoho. For example, if you store them as "(555) 111-2233" (with the spaces and all) it may not catch it since 3CX will be sending "5551112233" as one string.
 
In this case you will need to confirm that it works during an actual call. The test window doesn't do it exactly the same way as a regular call.

Also, check that the users have the integration enabled. If you use the built-in template, it should just work from there.

The format in which you store numbers in Zoho. For example, if you store them as "(555) 111-2233" (with the spaces and all) it may not catch it since 3CX will be sending "5551112233" as one string.
This is exactly the issue - if a call is incoming, the number is recognized, yes. This was checked in the verbose log.
HOWEVER, no single client is opening the contact URL even though the clients are properly setup.

I seem not to be the only one with this issue. Please see my XML file above. Everything is setup correctly, only the clients won't show the link.
 
Status
Not open for further replies.

Forum statistics

Threads
112,025
Messages
590,367
Members
164,976
Latest member
Roman Mazur