Campaign Activity status = Pending

If campaignactivity status is "pending" all the time, when you are distributing the activities, then check out the Microsoft CRM Asynchronous Processing Service was started on the server.

Convert HTML to plain text and remove tags

// convert HTML to plain text
string Description = System.Web.HttpUtility.HtmlDecode(HTML_encoded_string);

Description = StripTags(Description);


// remove tags from HTML-parsed string
private string StripTags(string HTML)
System.Text.RegularExpressions.Regex objRegEx = new System.Text.RegularExpressions.Regex("<[^>]*>");

return objRegEx.Replace(HTML, "");


TargetUpdate VS Update method

If you have a question what is better for use: UpdateRequest with TargetUpdate or Update method, then first of all you must to look at MS CRM SDK "CrmService Common Methods" article.

There was said:
"The CrmService Web service provides a set of methods used to perform the most common operations on system and custom entities. These operations can also be performed by using the Execute method and the corresponding message. However, the methods will perform faster so they should be used whenever possible."

So service.Update is a winner.


CrmDateTime conversion to DateTime


For more information on the CrmDateTime, look in the SDK:

Open any entity for edit

The universal URL to open any entity for edit is

http://server name/company name/CRMReports/viewer/drillopen.aspx?ID=objectguid&OTC=object type code

Object type code you can find at Microsoft Dynamics CRM SDK Entity Type Codes article.

Also like that:
http://server name/company name/CRMReports/viewer/drillopen.aspx?ID=objectguid&LogicalName=entity name (contact, account, e.t.c.)