Microsoft Dynamics 365 Blog

Today’s guest blogger is Jerry Weinstock at CRM Innovation a Microsoft Gold Certified Partner with three ISV CRM solutions that are in the cloud – Email2CRM – integrated email messaging with web analytics, Data2CRM – import and migration manager, Web2CRM – visual designer for Web forms to Microsoft Dynamics CRM.

If you are a CRM Consultant, ISV or even an IT department supporting your own CRM implementation this article is relevant for you.

As a developer of CRM ISV solutions our users are sometimes presented with rather cryptic error codes that don’t shed a lot of light on the corrective action they should take.


They in-turn send this information to us to decode and troubleshoot. We have customized our internal CRM 4.0 system to track information about these errors in the Case entity so that we can more quickly resolve the issue and get the client running again.

The CRM Team has included in the online MSDN Library the error codes you may encounter when you are debugging code.

Shown below are the first few lines from the listing.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<crmerrors xmlns:xsi="">
       <ErrorMessage>One or more imports are not in completed state. Imported records can only be deleted from completed jobs. Wait until job completes, and then try again.</ErrorMessage>
    <ErrorMessage>The workflow does not contain UIData.</ErrorMessage>
    <ErrorMessage>The entity relationship role of the referencing entity is required when creating a new one-to-many entity relationship.</ErrorMessage>

There are 1359 error codes. Not finding a CSV file version readily available, I contacted Matt Peart, technical writer on the CRM team who in turn obtained a file that I could import into CRM from one of his peers Jim Daly. If you would like the file you can download it from our website.

I then created a custom organization entity called ‘CRM Error Codes’ :

· Primary attribute for Error ID (primary Key) – text 15 characters

· Managed Error Name – text 100 characters

· UnManaged Error Name – text 100 characters

· Error Message – ntext 3,000 characters


I also set it up so we could attach notes and activities such as links to blog postings we find when we Bing the Error Code.


After publishing the new entity I imported the data file using our company’s import tool (Data2CRM).

Then to make it more functional I created a 1:N relationship with the Case Entity and added it to the Form.


Now we can track Cases by not only the Subject (organized by product) but back to the specific CRM error code. When a new case is created support personnel can quickly go to that error code and see all the cases that have been created for the code and how they were resolved.

We also organize our Knowledge Base Article to reference the Error Codes so we have end user suitable documentation to make available to our reseller partners and/or end users.

This is just one example of how you can extend the Service Module in CRM to make it work the way you work.

Jerry Weinstock

We're always looking for feedback and would like to hear from you. Please head to the Dynamics 365 Community to start a discussion, ask questions, and tell us what you think!