D365 dynamics integrate

Status
Not open for further replies.

Hoang.Phan

Free User
Joined
Jan 11, 2021
Messages
7
Reaction score
0
Hi,
I got some problems when I try to integrate D365 Dynamics CRM with 3CX.

My 3cx license is PRO v16.

I used this setup: 3cx console > setting > integrate > server-side > Microsoft Dynamics 365 template. I connected and data testing ok.
Here are my cases:

1. When 3cx gets the calling information from CRM then it will be saved as a contact in 3cx (with CRM tag). After the calling, I go to CRM and change the contact information, but the 3cx won’t update (I left it for 1 day but nothing happen).
=> How can I make the synchronization of 2 systems to realtime?

2. Microsoft Dynamics 365 is using the Unified Interface. 3CX extension wont work when i click on Contact's numberphone or Icon Calling.
=> How to call to customer from CRM’s form (unified interface form) _ Brower (chrome vs 87.) had installed 3cx extension.

3. Call Journaling
=> Are there any way to post the Call Journaling record to CRM?
 
1. When 3cx gets the calling information from CRM then it will be saved as a contact in 3cx (with CRM tag). After the calling, I go to CRM and change the contact information, but the 3cx won’t update (I left it for 1 day but nothing happen).
=> How can I make the synchronization of 2 systems to realtime?
There is a 10 minutes cache, so if you call in less than 10 minutes from the same number, no lookup is performed, however after that time the contact details should be obtained. Can you please check after waiting 10 minutes?

2. Microsoft Dynamics 365 is using the Unified Interface. 3CX extension wont work when i click on Contact's numberphone or Icon Calling.
=> How to call to customer from CRM’s form (unified interface form) _ Brower (chrome vs 87.) had installed 3cx extension.
The integration we provide doesn't change the behaviour of Dynamics when you click the phone button. You can click to call using the 3CX click to call extensions, but that will be on the number shown in the web page, not the phone button. Also, the phone numbers must not be links, otherwise the extension can't change them to a click to call with 3CX link. Usually, Dynamics is pre-configured to make calls with Skype. You will need to disable that in Dynamics, and then the click to call extensions will work.

3. Call Journaling
=> Are there any way to post the Call Journaling record to CRM?
Calls details are sent to Dynamics once the call ends, as long as you properly configure Dynamics according to the guide. You will need to create a custom field for the Users entity, and configure this field ID in 3CX. This is explained in the configuration guide.
 
Thank for your reply.
There is a 10 minutes cache, so if you call in less than 10 minutes from the same number, no lookup is performed, however after that time the contact details should be obtained. Can you please check after waiting 10 minutes?
I checked after i left 1day. Nothing change. My setup in integrate is "alwats".
 
The integration we provide doesn't change the behaviour of Dynamics when you click the phone button. You can click to call using the 3CX click to call extensions, but that will be on the number shown in the web page, not the phone button. Also, the phone numbers must not be links, otherwise the extension can't change them to a click to call with 3CX link. Usually, Dynamics is pre-configured to make calls with Skype. You will need to disable that in Dynamics, and then the click to call extensions will work.

Nice. I will try this way then comback later.
Calls details are sent to Dynamics once the call ends, as long as you properly configure Dynamics according to the guide. You will need to create a custom field for the Users entity, and configure this field ID in 3CX. This is explained in the configuration guide.
I did that. Do It has any logic here? The guild said that "This parameter is used to map the 3CX extension receiving the call to a Microsoft Dynamics 365 User, and assign the call to that specific User."
Will 3cx create a Phone Activity?or case? then asign this record to User who had "user.extension.value" is same as the extension of 3cx get the call?
 
I checked after i left 1day. Nothing change. My setup in integrate is "alwats".
The only way to understand what's going on here is enabling verbose logs in 3CX (from the 3CX Console > Dashboard > Activity Log > Settings), making a test call reproducing the issue, and checking the 3cxSystemService.log file.

I did that. Do It has any logic here? The guild said that "This parameter is used to map the 3CX extension receiving the call to a Microsoft Dynamics 365 User, and assign the call to that specific User."
Will 3cx create a Phone Activity?or case? then asign this record to User who had "user.extension.value" is same as the extension of 3cx get the call?
When you create this custom field on the Users entity, you will be able to specify the extension number for each Dynamics user. Then, 3CX will query the Dynamics user associated to the extension that receives the call, and once it has this information, it will create the call activity on the contact's feed.

If this is not happening, please enable verbose logs, make a test call to reproduce the issue, and check the 3cxSystemService.log file, there you have all the interactions between 3CX and the CRM, so any error will be visible there.
 
  • Like
Reactions: Hoang.Phan
Thank for helping me,

The integration we provide doesn't change the behaviour of Dynamics when you click the phone button. You can click to call using the 3CX click to call extensions, but that will be on the number shown in the web page, not the phone button. Also, the phone numbers must not be links, otherwise the extension can't change them to a click to call with 3CX link. Usually, Dynamics is pre-configured to make calls with Skype. You will need to disable that in Dynamics, and then the click to call extensions will work.
I disabled Dynamics pre-configured but the 3cx still not work. Here is my screenshot. The numberphone is not links.Capture4.PNG
The only way to understand what's going on here is enabling verbose logs in 3CX (from the 3CX Console > Dashboard > Activity Log > Settings), making a test call reproducing the issue, and checking the 3cxSystemService.log file.
The scenario is:
Use only one 3cx extension for this testing.
S1: Create contact A with Number 123
S2: Call to 3cx by Phone number 123
=> 3cx get info from CRM and save as a contact A1 in 3cx
Wait for 10m:
S3: Create contact B with Number 123 and change A's NumberPhone to 124
S4: recall by Phone number 123.
=> 3cxSystemService.log file show CRM returned B's infomations. But the web brower opened the contact A1.
=> 3cx save as a contact B1 in 3cx
S5: Check 3cx webClient > contact. > show 2 contact A1, B1 with same numberphone is 123.

The Question is: Why 3cx dont update A1infomation instead create new B1?

When you create this custom field on the Users entity, you will be able to specify the extension number for each Dynamics user. Then, 3CX will query the Dynamics user associated to the extension that receives the call, and once it has this information, it will create the call activity on the contact's feed.

If this is not happening, please enable verbose logs, make a test call to reproduce the issue, and check the 3cxSystemService.log file, there you have all the interactions between 3CX and the CRM, so any error will be visible there.
Checked. Its good as you can see in screenshot. But i get another error when try inbound with new numberphone.
The scenario is:
3cx console > setting > CRM integration > Enable contact creation > OK. Refreshed it seen good!
S1: Call to 3cx by Phone number 125 (this number did not exist on CRM or 3cx)
S2: 3cx get the call for 3s
=> 3cxSystemService.log file show "Call not reported because contact could not be found for number: 125". No POST request for create new contact.
S3: Check CRM. There is not new contact with numberphone 125
S4. Check 3cx webClient > contact. > no sign of new contact.
 
I disabled Dynamics pre-configured but the 3cx still not work. Here is my screenshot. The numberphone is not links.
Capture4.PNG
The number there already has a specified behaviour when you click it. In that case Dynamics lets you edit the phone number. The 3CX click to call extension can't change that behaviour. The click to call link will work on the list of contacts, where you can see the phone numbers in a grid.

The scenario is:
Use only one 3cx extension for this testing.
S1: Create contact A with Number 123
S2: Call to 3cx by Phone number 123
=> 3cx get info from CRM and save as a contact A1 in 3cx
Wait for 10m:
S3: Create contact B with Number 123 and change A's NumberPhone to 124
S4: recall by Phone number 123.
=> 3cxSystemService.log file show CRM returned B's infomations. But the web brower opened the contact A1.
=> 3cx save as a contact B1 in 3cx
S5: Check 3cx webClient > contact. > show 2 contact A1, B1 with same numberphone is 123.

The Question is: Why 3cx dont update A1infomation instead create new B1?
When you do this, the 3CX phonebook will have A1 and B1 with the same phone number, and it will choose A1 because it's the first contact added to 3CX. In order to update A1 in 3CX, you need to receive a call from this contact. Once you receive a call from the new number of this contact, A1 will be updated in 3CX, and the next call from number 123 will match B1.

Checked. Its good as you can see in screenshot. But i get another error when try inbound with new numberphone.
The scenario is:
3cx console > setting > CRM integration > Enable contact creation > OK. Refreshed it seen good!
S1: Call to 3cx by Phone number 125 (this number did not exist on CRM or 3cx)
S2: 3cx get the call for 3s
=> 3cxSystemService.log file show "Call not reported because contact could not be found for number: 125". No POST request for create new contact.
S3: Check CRM. There is not new contact with numberphone 125
S4. Check 3cx webClient > contact. > no sign of new contact.
I would need to see the full log to understand what's going on. The message "Call not reported because contact could not be found for number: 125" means that the contact lookup didn't return any contact, and no contact was created. Call Journaling is only triggered for matched contacts.
 
  • Like
Reactions: Hoang.Phan
S3: Create contact B with Number 123 and change A's NumberPhone to 124
What happens if you change A's name, then wait more than 10 minutes?
 
  • Like
Reactions: Hoang.Phan
What happens if you change A's name, then wait more than 10 minutes?
The problem is that he's calling from a new contact (B), so a new ContactUrl is returned, and a new contact is added to 3CX Contacts. The old contact A will remain unchanged, unless Dynamics returns new data for the same ContactUrl.
 
  • Like
Reactions: NickD_3CX
What happens if you change A's name, then wait more than 10 minutes?
3cx showed A name then it updated B with new one AFTER the call.
The problem is that he's calling from a new contact (B), so a new ContactUrl is returned, and a new contact is added to 3CX Contacts. The old contact A will remain unchanged, unless Dynamics returns new data for the same ContactUrl.
When you do this, the 3CX phonebook will have A1 and B1 with the same phone number, and it will choose A1 because it's the first contact added to 3CX. In order to update A1 in 3CX, you need to receive a call from this contact. Once you receive a call from the new number of this contact, A1 will be updated in 3CX, and the next call from number 123 will match B1.
Yes, the problem is 3cx find new Contact and save as B but why it still opened contact A url?
in @NickD case: 3cx updated B with new infomations but it still opened A url.
I would need to see the full log to understand what's going on. The message "Call not reported because contact could not be found for number: 125" means that the contact lookup didn't return any contact, and no contact was created. Call Journaling is only triggered for matched contacts.
Please check my attched file. I updated the NumberPhone like example. (125)
 

Attachments

The number there already has a specified behaviour when you click it. In that case Dynamics lets you edit the phone number. The 3CX click to call extension can't change that behaviour. The click to call link will work on the list of contacts, where you can see the phone numbers in a grid.
Understand. I tried from contact grid. It's work but It opened an blank URL like: "<my crm url>/numberphone".
Can i change that URL to open the Contact was clicked?
 
Last edited:
Yes, the problem is 3cx find new Contact and save as B but why it still opened contact A url?
Because in 3CX Contacts you have 2 contacts with the same phone number, and the first created contact is selected, in this case A.

Understand. I tried from contact grid. It's work but It opened an blank URL like: "<my crm url>/numberphone".
Can i change that URL to open the Contact was clicked?
The click to call extension should take you to the Windows or Web Client (depending on the browser extension configuration). Go to the browser extension settings, select the Web Client and fill your Web Client URL to get this working properly.
 
  • Like
Reactions: Hoang.Phan
Because in 3CX Contacts you have 2 contacts with the same phone number, and the first created contact is selected, in this case A.
I see. The logic was not good.

When have an incoming call, 3cx query form CRM => return B but still open A because this created first?
I think this logic will go right if 3xc update B information to contact A (use phone number like another foreign key) or just open the queried information from CRM then let the user (Admin? because I can't modify contact A in web client) choose to keep A or B.

In my CRM system, there are many leads or contacts with the same phone number which will be merged or updated after Caller confirmed information. Once contact merged, it may not have same id with the first one. This case may not usually happen but it would make the wrong database flow.

Example: in my case, A is the first contact call to confirm the information but B is the merged result. The second incoming call, 3cx auto-create a phone activity for B but the Caller noted information in A (popup contact).

The click to call extension should take you to the Windows or Web Client (depending on the browser extension configuration). Go to the browser extension settings, select the Web Client and fill your Web Client URL to get this working properly.
Could you please take me some screenshots with steps?
 
When have an incoming call, 3cx query form CRM => return B but still open A because this created first?
Yes, that's correct. We have 2 contacts with the same phone number, and that's the logic being used to select one.

Could you please take me some screenshots with steps?
The latest version will automatically work with the Web Client. Just add the extension as described here:
https://www.3cx.com/phone-system/click-to-call/
 
Status
Not open for further replies.

Latest Posts

Forum statistics

Threads
112,324
Messages
591,897
Members
165,475
Latest member
lastshadow