Dynamics Monster Limited

By: Pedro | September 14, 2017

I'm the kind o person that really likes to do Migration and Integration tasks into and from CRM.

Last time this happened to me i forgot to mention in here, and probably most of you already know, if no, just spend few minutes reading this.

I was importing some data into CRM 2016, the same applies to CRM 2015 and only for creating the Account entity records (few data fields filled) it was giving an average of 1.5 sec for each one. That's really an issue when you need to import thousands or millions of records, if you migrate or integrate only few hundred, you wouldn't loose time trying to understand why.

However, i'm really stubborn, so i had to figure out why.

What would you do at first? First you would question yourself, do i have any PrePlugin...

By: Pedro | August 04, 2017

This is a nice to have to guide users in terms of filling information based on stages, for instance:

The information needed to a contact to be a prospect, probably we only need First Name, Last Name and mobile phone. On the other hand, to become an opportunity, we will need some more details.

In this situation i would use this kind of approach, Business Process, because it will be really easy to see by opening the record in which phase of the process the contact is only by looking to the process bar.

However, using this feature of CRM can be sometimes a little bit disappointing because customizing what the fields do (hiding based on rules, setting required based on others is not possible), i mean, configuring only with the CRM default functio...

By: Pedro | January 03, 2017

A user was trying to download a note attachment when the message "Invalid Action" just appeared in the browser.

The first thing i did was using my old friend Diag Tool where i saw the exception "The key specified to compute a hash value is expired, only active keys are valid.", i have found as well that in the Event Viewer.

Doing some research i saw that restarting the MS CRM Asynchronous Processing Service or running the executable from the Tools folder inside CRM folder Microsoft.Crm.Tools.WRPCKeyRenewal.exe /R, i could solve the problem.

I did that, i restarted the server and in the end, the same problem. What do you do in this situations, just google it a little bit more, so, after 5 minutes someone had the same issue, ...

By: Pedro | August 18, 2016

Upgrade from CRM 2015 to CRM 2016 On premise

Yesterday was one of those days that i really like to have, i know, sometimes can be really frustrating because of some problems you have to go trough when performing an upgrade.

I have performed many upgrades since CRM v1.2 and it is always a challenge, for more tests in other environments, when it is to Production, something new will happen, yesterday was not exception.

In a virtual machine just performed the Upgrade, it was really quick and no trouble.

As planned, after hours we just performed the Upgrade in Production with all the scenarios covered in our checklist, almost in the end of the Upgrade, it was on the same step for almost 1 hour (Enabling Read Committed Snapshot Isolation for organiza...

Category: CRM 2016 

Tags: Upgrade to CRM 2016 

By: Pedro | April 26, 2016

When another version of CRM gets out, we all have to learn from 0 few things, and regardless the experience we all have, nobody can deny that sometimes it is frustrating when we experience an error/exception for the first time and more time we spend understanding the "why?" without finding the solution more we feel worst.

What i have found on the very start of the painful task of changing the Javascript code to meet the Web API requirements was that the way i was doing few things related to fields and entities just changed, as an example, the lookup field i wrote on my previous post.

To help me on that tedious task of updating or creating records trough the Web API i found my new best friend regarding that matter, the oData Metadata...

By: Pedro | April 25, 2016

On the subject of CRM 2015 oData Vs CRM 2016 i will be posting the main differences that i have found when upgrading my client code to CRM 2016 Web API.

I could start with the methods (Create, Update, Retrieve,....), however, those things are easier to find in the SDK than this specific one.

Previously you could already use a method called Disassociate to set a lookup field to null, but that involves an additional call for each one of the fields to update. So, i can imagine that you would be doing something similar to:

var account = {};

account.primarycontactid = null;

XRM.Rest.Update(account, "accountSet", ...,...,...);

Don't mind with the (...) on the method call, in my case i have a generic class to expose the Odata Organization Func...

By: Pedro | April 25, 2016

This is my first post on the subject CRM 2015 oData Vs CRM 2016 Web API.

I will start with for me something that took me some time to understand and use properly when upgrading from CRM 2015 to CRM 2016 on the client side

With the Web API, now we have two different types of fields (properties), the primitive properties and the lookup properties (navigation properties).

Primitive types

OData supports a wide range of data types but Microsoft Dynamics CRM doesn’t use all of them. The following table describes how CRM Organization service types are mapped to OData primitive types.

Navigation properties

In OData, navigation properties allow you to access data related to the current entity. When you retrieve an entity you can choose to expand navigatio...

By: Pedro | March 14, 2016

Developer Extensions is a set of tools provided in the SDk that intendes to simplify and accelerate development. Usually to be used in Client apps, something like Portals.

 It provide the following capabilities:

Don't forget:

Developer Extensions for Microsoft Dynamics CRM supports d...

Category: CRM 2015 

Tags: Developer extensions 

By: Pedro | March 11, 2016

New messages available in CRM 2016 below:

Request class

Web API action


More information


CloneAsPatch Action

Creates a solution patch from a managed or unmanaged solution.

Create patches to simplify solution updates


CloneAsSolution Action

Creates a new copy of an unmanaged solution that contains the original solution plus all of its patches.

Create patches to simplify solution updates


CreateKnowledgeArticleTranslation Action

Creates a translation of a knowledge article record.

Create a knowledge article translation


CreateKnowledgeArticleVersion Action

Creates a major or minor version of a knowledge article record.

Create major and minor versions of a knowledge article


DeleteAndPromote Action

Replaces a managed solution plus all of its patches.

Create patches to simplify solution updates



Performs a full-text search on knowledge articles in CRM using the specified search text.

Search knowledge articles using full-text search



Increments the per day view count of a knowledge article record.

Increment knowledge article view count


SetProcess Action

Sets the process that associates with a given target entity.


UpdateSolutionComponent Action

Updates a component in an unmanaged solution.

Package and distribute extensions using solutions

Category: CRM 2016 

Tags: SDK 

By: Pedro | March 09, 2016

Not the best thing to do in terms of performance probably, but if you need to increase the max number of records per collection, i.e: Rest call to get records and render as a table in a custom page, by default it will bring 50, to increase run the next sql statement in the MSCRM_CONFIG database:

update ServerSettingsProperties
set IntColumn = 250 
where ServerSettingsProperties.ColumnName = 'MaxResultsPerCollection'

By: Pedro | March 08, 2016

Running a report on CRM and if you fin an error message similar to this:

If you see an error like this:

Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: Query execution failed for dataset 'DSMain'. ---> Microsoft.Crm.Reporting.DataExtensionShim.Common.ReportExecutionException:
Microsoft.Crm.CrmException: An unexpected error occurred.
System.ServiceModel.Security.SecurityNegotiationException: A call to SSPI failed, see inner exception.
System.Security.Authentication.AuthenticationException: A call to SSPI failed, see inner exception.
System.ComponentModel.Win32Exception: The target principal name is incorrect ---> 

It means the CRM App Pool service account SPN is not configured properly and usually the fix is the one de...

Category: CRM 2015 

Tags: Reports Errors, SPN 

By: Pedro | March 03, 2016

I was creating a report from the CRM 2015 Report Wizard and i just ran the Report where i saw that a date time column was appearing two times, one with the formatted value from my options, in the case English(Ireland) format (01/01/2016 03:00:00) and the next unformatted, something like 2016/01/01 03:00:00 AM.

After digging quite a bit i have discovered that the Body XML on the database had the column in there, and for me, no direct updates/deletes/creates in the database, so i tried to find the reason.

I have discovered from one of my search results that inside the folder (your drive)/Program Files\Microsoft Dynamics CRM\Setup\Serviceability\Latest\Actions_Org\Install the file (dbupdate_37910.sql) could solve the problem. 

I have opened the f...

By: Pedro | February 24, 2016

Link to the UR executables:

 The UR executables should be out during the Q1 of 2016. When available i will put here the link.

Resolved issues on the UR 0.1 of 2016:

·  Creating a new Knowledge Article record doesn't respect changes made to Auto Numbering configuration.

·  Importing new Knowledge Article translation using Import Data Wizard reports failure within Data Import job.

·  Applying an Email Template shows an error and the Template is not applied when unresolved email address is given in the "TO" field of an Email Entity IC Form.

·  Lookup on "TO" field of the Email Entity IC Form doesn't show the "..." and cross symbol for recipients with long Full Name.

·  Clicking "Discard Changes" while navi...

Category: CRM 2016 

Tags: Update Rollups 

By: Pedro | February 22, 2016

I'm really proud of making part of a team that rolled out the first release of the Microsoft CRM Project in here at RCSI (Royal College of Surgeons in Ireland). It has been a really challenging project since the very start, but with team work we could make it possible. 

See article photo in Click to Open Photo.

Category: CRM 2015 

Tags: RCSI 

By: Pedro | February 12, 2016

Trying to import an exported excel file on CRM 2015 Onprem when i came across with an error i found really strange.


Googling i found few posts talking about this kind of issue, but it was related to option sets fields used in the file, and in this case it was not the problem.

I went to other environments and everything was working correctly, what for me was even more strange.

When things like this happen, i only know one way of checking what is happening (DiagTool), like the A-Team of CRM. If nothing can help you, Event Viewer, Error Messages, ..., we should hire the A-Team (DiagTool).

I just enabled the trace, and i have found this:

" The value of 'filetypecode' on record of type 'importfile' is outside the valid range."

So, i google...

Category: CRM 2015 

Tags: Xlsx Import, Data Import