Solved 3cx >Salesforce Call logging

Status
Not open for further replies.

HDSL_CS

Forum User
Joined
Nov 1, 2021
Messages
9
Reaction score
5
Hi Experts,

I'm using Salesforce and have gone through the integration guide for 3cx to Salesforce and all the key's and tokens are working. 3cx contact list is finding the contacts from salesforce but is only updating call logs on some contacts/Accounts but not all. I've checked this forum, looked through the cpbx connected app settings, and also looked at the 3cx command console and can't find anything that could cause/resolve this. Any help would be appreciated.

Thanks
Steven
 
Hello Steven,

Call Journaling needs that 3CX identifies the Salesforce user that makes or receives the call. Are you setting the extension number for all your Salesforce agents?

Also, are these missed calls received through a queue? There is a known limitation in that case, and those calls will not be reported if more than 1 extension rings.
 
HI edossantos,

All agents have there extension linked in there salesforce account. This issue is with all our agent's on inbound and outbound calls. the calls come through to Multiple extensions depending on which option is selected when they dial in for example if a client calls up and selects option 1 this will go through to ext. 10 which call's on extension 1 through to 9. when calling out it calls from one extension and is still 50/50 if it logs automatically . Hope this all makes sense.

Thanks.
 
If you're using a ring group or queue for inbound calls, and more than 1 extension rings, then that might be the issue for those calls. As for outbound calls, we would need to see the logs.

In both cases, in order to investigate further, please enable verbose logs from the 3CX Console > Dashboard > Activity Log > Settings. Then make a call until you reproduce the issue, and then check the 3cxSystemService.log. Any error interacting with the CRM will be visible in this file.
 
  • Like
Reactions: HDSL_CS
If you're using a ring group or queue for inbound calls, and more than 1 extension rings, then that might be the issue for those calls. As for outbound calls, we would need to see the logs.

In both cases, in order to investigate further, please enable verbose logs from the 3CX Console > Dashboard > Activity Log > Settings. Then make a call until you reproduce the issue, and then check the 3cxSystemService.log. Any error interacting with the CRM will be visible in this file.
Thank you. I will try and grab the info for the next one that doesn't work. is there a specific line I need to look for to show the fail?
 
is there a specific line I need to look for to show the fail?
Search for "salesforce.com" as all the API calls include that as part of the URL. There you will see the requests and the responses.
 
Thank you.
The number called is the one on salesforce and error search is looking for is the correct number but the log shows two attempts saying no records found and then the following error message is this saying I need to add a Fax field even though its not used or needed?.

|Erro|Exception during number processing: System.Exception: Server returned a non successful status code - HTTPStatusCode=BadRequest - Reason=Bad Request - Content=[{"message":"\nRETURNING Lead(Id,FirstName,LastName,Fax,MobilePhone,Phone,Email,Company)\n ^\nERROR at Row:1:Column:69\nNo such column 'Fax' on entity 'Lead'. If you are attempting to use a custom field, be sure to append the '__c' after the custom field name. Please reference your WSDL or the describe call for the appropriate names.","errorCode":"INVALID_FIELD"}]
at CrmIntegration.ScenarioProcessorBase.ProcessRequest(ScenarioRequest request, IValueManager customManager, HttpClient client, CancellationToken token)
at CrmIntegration.ScenarioProcessorBase.ProcessScenario(ProtocolScenario scenario, IValueManager customManager, CancellationToken token)
at CrmIntegration.ScenarioProcessorBase.Execute(ProtocolScenario scenario, CancellationToken token)
at CrmIntegration.CrmProcessor.GetContactInfoFromCrm(String contactNumber, Boolean isInboundCall, String destinationEmail, Boolean createIfNotFound, CancellationToken token)


I haven't managed to check an inbound call yet.
 
That error means that the query is failing because the standard field Fax on entity Lead is missing. You need to edit the Salesforce configuration to make this field visible to the query, not necessarily visible in the layout. This way the query will succeed.

In order to do this change:
- Go to “Setup Home > Objects and Fields > Object Manager > Lead > Fields.”
- Click on the field that you want to make visible, for example “Fax”.
- Press the “View Field Accessibility” button on the upper right side of the screen.
- Click on the “Hidden” label on the right of “Standard User”.
- Under the “Field-Level Security” check the “Visible” option.

That should do the trick. Please after doing this change, test a new call and if it doesn't work, please check the log to see if there is another field hidden that you need to make visible.
 
Thank you for your Help I will get this done now.
 
For some reason just setting standard user and admin user to Visible was still causing an error so I made it Visible to all user groups and this fixed fixed it.
This Is now resolved, thanks again for your help @edossantos hopefully it'll be a while before I need to post again. :)
 
  • Like
Reactions: edossantos
Status
Not open for further replies.

Forum statistics

Threads
112,147
Messages
590,961
Members
165,167
Latest member
Finatra.us