3cx and Zoho

Status
Not open for further replies.

tartpion

Forum User
Joined
Feb 19, 2019
Messages
6
Reaction score
1
Hi,

I am trying to integrate 3CX with Zoho CRM.
My main goal is to be able to create a Lead in Zoho CRM when we receive an inbound call using calling number and extension.

I have setup the Settings / CRM Integration page for Zoho.
Authtoken and configuration fields are ok.
The TEST button shows that the integration is ok. The Test fails because it looks for a phone number in the Zoho CRM Contact module but we don't use it.
Anyway, at that stage, we need to be able to catch the inbound call and create the Lead.
At that point, I don't know how what to do in order to test this integration.
How is the integration supposed to work ?
Should we call a specific number ?
Is there a popup window that is supposed to appear or any other user interface component ?
At what point should we be able to create a Lead ?


Many thanks for your support,
 
In first place, please note that the CRM integration engine only works with external calls. So in order to test this, you need to make a call from an external number, not a call from an extension.

This is what the CRM integration engine does when it receives an inbound call:
  1. It will search the caller number in the configured CRM (Zoho).
  2. If the caller number is not found, and the "Enable Contact Creation" checkbox is checked, a new contact or lead will be created in Zoho, with the default contact name specified in the configuration.
  3. You need to be using the 3CX Web Client, and then the created contact will be automatically shown in a new browser tab.
 
Hi,

We made several tests :

We tried calling a 3CX extension using a phone number which was in the CRM and with a phone number which was not in the CRM (in Contact modules).
In both cases, a popup window appears within the 3CX Web Client but no link is done with Zoho CRM.

Within the console, there is a TEST button.
When we use it we have the error below. But in Contacts, we have all fields required.

In our implementation, we need to search in Leads instead of Contacts but for test purposes we have used Contacts.

Many thanks for your help.

Server returned a non successful status code - HTTPStatusCode=BadRequest - Reason= - Content={"code":"INVALID_QUERY","details":{"reason":"the field is not available for search","api_name":"Home_Phone"},"message":"invalid query formed","status":"error"}
Started scenario with empty id
Started Auth
Request text: https://accounts.zoho.eu/oauth/v2/token
Request form value refresh_token set to 1000.xxxxxxxxxxxxxxxxxxxxxxxxxxxfcaf2850e07222ce
Request form value grant_type set to refresh_token
Request form value client_id set to 1000.xxxxxxxxxxxxxxxxxxxxxxMU387M5T6L
Request form value client_secret set to ee89xxxxxxxxxxxxxxxxxxxx10ce40cb226c68d
Response text: {"access_token":"1000.d0ddxxxxxxxxxxxxxxxxxxxxxx601.13938xxxxxxxxxxxxxx82d9a429505b3c3c","expires_in_sec":3600,"api_domain":"https://www.zohoapis.eu","token_type":"Bearer","expires_in":3600000}
Response finished
Variable AccessToken set to 1000.d0xxxxxxxxxxxxxxx7a34cf84fc601.13xxxxxxxxxxxx9a429505b3c3c
Variable ApiDomain set to https://www.zohoapis.eu
Finished Auth
Request text: https://www.zohoapis.eu/crm/v2/Contacts/search?criteria=((Phone:equals:023708) or (Mobile:equals:023708) or (Home_Phone:equals:023708) or (Other_Phone:equals:023708) or (Fax:equals:023708))&fields=Account_Name,id,First_Name,Last_Name,Phone,Mobile,Home_Phone,Asst_Phone,Other_Phone,Email,Fax
System.Exception: Server returned a non successful status code - HTTPStatusCode=BadRequest - Reason= - Content={"code":"INVALID_QUERY","details":{"reason":"the field is not available for search","api_name":"Home_Phone"},"message":"invalid query formed","status":"error"}

at CrmIntegration.ScenarioProcessorBase.ProcessRequest(ScenarioRequest request, IValueManager customManager, HttpClient client, CancellationToken token)
at CrmIntegration.ScenarioProcessorBase.ProcessScenario(ProtocolScenario scenario, ValueManager customManager, CancellationToken token)
at CrmIntegration.ScenarioProcessorBase.Execute(ProtocolScenario scenario, CancellationToken token)
at CrmIntegration.CrmProcessor.GetContactInfoFromCrm(String contactNumber, String destinationEmail, CancellationToken token)
 
This Zoho installation seems to have the Home_Phone field hidden for Contacts. You will need to make that field visible, so the query succeeds.
 
You can modify this by using the CRM Integration Editor to edit the XML.
 
Status
Not open for further replies.