-->
This article provides a resolution for the issue that An error occurred promoting this item to Microsoft CRM occurs when tracking an outgoing email in Microsoft Dynamics CRM for Outlook.
When a user tries to configure Microsoft Dynamics CRM Client for Outlook by using the Configuration Wizard, the user receives the following error message: There is a problem communicating with the Microsoft Dynamics CRM Server. The server might be unavailable. Choose CRM tile and the error message is: An error has occurred. Try this action again. If the problem continues, check the Microsoft Dynamics CRM Community for solutions or contact your organization's Microsoft Dynamics CRM Administrator. May 17, 2016 Browse other questions tagged c# dynamics-crm dynamics-crm-2013 microsoft-dynamics or ask your own question. The Overflow Blog A deep dive into how we designed Collectives.
Applies to: Microsoft Dynamics CRM 2011
Original KB number: 2708761
Microsoft Dynamics Crm Error Messages Examples
This problem occurs because Microsoft Dynamics CRM is not configured to use your credentials to send and to receive e-mail messages. Therefore, the Microsoft Dynamics CRM E-mail Router does not have the user name and the password to retrieve the mail. To resolve this problem, enable Microsoft Dynamics CRM to send and to receive e.
Symptoms
When tracking an outgoing email in the Microsoft Dynamics CRM for Outlook client, the following error may occur:
An error occurred promoting this item to Microsoft CRM. The Microsoft CRM Server could not be contacted or the user has insufficient permissions to perform this action.
A Microsoft Dynamics CRM client side trace will show the following:
The access credentials that you have specified have insufficient delegate permissions to send the e-mail message. Contact your Microsoft Exchange administrator to grant the required Permissions.
Cause
This error can be caused by the following:
- The Outlook contact or suggested contact has missing properties such as the email address or SMTP properties.
- The HidecontactfromExchangeaddresslists functionality in Microsoft Exchange Server is being used for either the Sender or Recipient address in the email. Using this functionality removes all SMTP and email address information from a contact when it's synchronized to Outlook, which is used for the Microsoft Dynamics CRM for Outlook client to promote an email. Instead, it provides an Exchange DN value in the Display Name field.
By default, Microsoft Dynamics CRM selects the user that tracks the email to display as the Sender of the email in Microsoft Dynamics CRM if it can't find an SMTP email address for the Sender on the original email in Outlook.
Resolution
If the MAPI properties are damaged or missing, try forwarding the email to the user that originally received the email. Then, Set Regarding to the correct contact. In addition, these properties may be able to be recreated. Contact Outlook support for additional information on this process.
If the Outlook contact or suggested contact is missing properties, add the missing information such as the email address.
If using the Hide contact from Exchange address lists functionality in Microsoft Exchange Server, this type of behavior is by design and expected within Microsoft Dynamics CRM, as this Exchange functionality removes the necessary information needed for Microsoft Dynamics CRM to find the original Sender of the email from Outlook. The emails can be tracked manually by using Set Regarding to track this to the correct contact.
By this time many of you might have already explored the Xrm.Internal namespace and displayed your custom webresources in CRM 2013/ 2015 modal style. Well, if you have not, I suggest you check my blog post https://debajitcrm.wordpress.com/2014/04/29/exploring-the-xrm-internal-namespace-in-crm-2013/ to explore the Xrm.Internal namespace and i bet you would like it.
Coming back to the topic, if we open our custom webresources in CRM modal style, why not show the custom client side errors in CRM 2013 style? If you are thinking how to to do this, you have to come back to Xrm.Internal namespace and explore its Xrm.Internal.openErrorDialog method.
First let us explore the Xrm.Internal.openErrorDialog method. The following is the nomenclature of this method.
function (errorCode,message,serializedException){var $v_0='0x'+(errorCode<0?4294967295+errorCode+1:errorCode).toString(16).toUpperCase();if(IsNull(serializedException))openErrorDlg($v_0,message,null,0,0);else openErrorDlgWithDetailedInfo($v_0,message,serializedException,0,0)}
So we can see that it accepts three parameters
- Error Code
- Message
- Serialized Exception
Error Code : If you see the nomenclature, it appends “0x” to the error code. It should be a number. If you enter anything other than integer, the method might not work as expected.

Message: I have tried multiple combinations but whatever i entered does not reflect. However if anybody reading this can explore this, it would be extremely beneficial.
Serialized Exception: This is the most important parameter. Whatever value you put here is the one that would come when the user clicks on “Download Log file” button.
As an example, in the account form load, I have called the method as shown in the screenshot below.
Now when the form loads, the following error message is displayed. When the user clicks on ‘Download Log File’ you can see the Downloaded error message.
Microsoft Dynamics Crm Error Messages Download
Hope this helps!