When I get an unusual plugin request from one of our business analysts, the first thing I ask myself is, "Do they have a message I can hijack?" With the plugin registration tool, you specify your message first and then the second field filters by what entities support the message. That isn't...
When deactivating a record in CRM you need to specify a state code and a status code. Here is the code to deativate a custom entity. For system entities there are specific objects for each entity, i.e. SetStateOpportunityRequest. SetStateDynamicEntityRequest deactivate = new SetStateDynamicEntityRequest...
One of the least used platform extensions is the asynchronous plugin. When people think of a process that needs to update the database that needs to run in the background, people think custom workflow. As a CRM developer, I consider the asynchronous plugin first. Then I think custom workflow. Here is...
When it comes to writing plugins, there are three driving factors. · Quality - If you don't follow best practices you will find defects in production. The defects are usually challenging to troubleshoot. · Performance - You are working with web services that can only update/insert/delete...
The SDK includes functionality to merge records. When executing the merge it will deactivate the source record. It will move any child records to the target record and it will overwrite any fields you specify on the actual target record. There are build-in merge classes for accounts, contacts and leads...
Unresolved emails are useful in that you can send an email to someone without having them setup as a system record (contact, account, lead, queue, user, ect). Unresolved email addresses are turned off by default. They should be used with caution. If you send an email to an unresolved address it will...
The concept of debugging plugins and workflows has been blogged about in the past. There is a lot of great information out there. One thing I have noticed about debugging is that it involves a lot of steps. These steps take time. You end up waiting forever from the time you make a code change to the...