Thanks for everyone who follows my blog and finds it useful.

Just trying to add few small bits missing to my blog arsenal, this blog now officially has a twitter handle. I will be putting more social links

for this blog, to make it easier to find updates.



Here it is : @msdynamicsblog on twitter should help you see me there. I also embedded a link on the side to follow my work on twitter.

Hope it helps!


CRM 2013: How to remove Business Process Flow

This is a good work-around to remove business process flows if you do not want them

Microsoft Dynamics 365 CRM Blog

Microsoft Dynamics CRM 2013 comes out of the box with three system created Business Process Flows, one for Case, Lead and Opportunity. They are activated and ready for use.


All existing CRM Cases, Leads, and Opportunities are defaulted to these new CRM 2013 Business Process Flows. Here is an example for a Lead:


I very much like Business Process Flow – however there are some CRM projects that just don’t need them yet and would be better off – have them disabled. So what is the best option to turn them off?

Here is a good approach:

Make a copy of the existing Business Process Flows. CRM Client > Settings > Processes > open the Business Process Flow (i.e. “Lead to Opportunity Sales Process”) > click on the “Save As” button to make a copy of it for re-use in the future.


Now you can “Deactivate” the Business Process…

View original post 46 more words

{ADVANCED CRM KNOW-HOW} Know Table sizes within your CRM DATABASE

Recently in my project, as part of maintenance and data clean up activity, we needed to know the relative sizes occupied by various tables in CRM database. This was to prioritize clean-up based on table sizes.

Since this was CRM on premise we could quickly fire a query to check this:





— DB size.

EXEC sp_spaceused


— Table row counts and sizes.



    [name] NVARCHAR(128),

    [rows] CHAR(11),

    reserved VARCHAR(18),

    data VARCHAR(18),

    index_size VARCHAR(18),

    unused VARCHAR(18)



INSERT #t EXEC sp_msForEachTable ‘EXEC sp_spaceused ”?”’



FROM   #t


— # of rows.

SELECT SUM(CAST([rows] AS int)) AS [rows]

FROM   #t



This query uses a stored procedure provided by Microsoft to check space and runs it through all the tables in database.

The output is similar to below which can be saved to csv and then filtered to see which tables are using the most space:


It gives a quick indication on the number of rows, reserved space and unused one.

Hope it helps!


Everybody is aware of Parature bringing in lot of enhancements for Dynamics CRM product bundle. Official integration directly into CRM is still awaited. I did my own research to find a list of what Parature bring under Dynamics CRM product bundle:

The Parature Portal gives customers the support and data centre they need on their schedules. This tool integrates to the organization’s existing website and gives users gold-standard web-based support flexibility.

Multi-channel Care

Customers are more connected and better informed than ever before. Organizations are looking for business solutions that can strengthen their ability to connect with customers on their own terms, using whatever device and whatever channel they prefer. Parature offers one of the best cloud-based solutions for customer self-service.

Parature Portal: a 24/7 customer support center that is seamlessly integrated into your organization’s current website. This web-based help center gives your customers easy and convenient access to an intuitive, searchable knowledge base which delivers quick answers to their most-commonly asked service and support questions. If your customers still require personal support after using the knowledge base, they can submit a help ticket, track its progress at their convenience and receive an automatic notification email when an answer is available for them.


Parature Mobile Self-Service: Allow your customers to access answers to frequently asked questions using whatever device they prefer. The responsive design of Parature Portal enables you to increase the reach of your knowledge management efforts and provide consistent and personalized experiences across desktop and mobile devices.


Parature Facebook Portal: provide businesses and organizations with a 24/7 multi-service channel for customer support on Facebook. Customers and consumers can browse FAQs and updates, or submit a help desk tickets. In addition, you can integrate Parature Live Chat seamlessly to deflect customer complaints and service issue posts on your brand’s Facebook page.


Parature Real-time Chat: provide your customers with instant and personalized online support with Parature Chat. Empowers your organization with an immediate, seamless transition from a self-service to assisted channel at critical times during the support interaction. Comprehensive rules for escalation, deflection and prioritization ensure a timely response and that Service Level Agreements (SLAs) are met.



Knowledge Management

Parature Knowledgebase: an intuitive customer self-service solution that provides quick answers to common questions and support issues, plus essential downloads including forms, how-to videos, product manuals, knowledge base information updates and more. Easily add and update information and customize its order and placement to put the most-viewed information in a prominent place.



Hope it helps!


Often we are looking into issues for clients and need to raise support ticket with Microsoft.

One of the first things asked by Microsoft is to know which version of rollup and CRM we are on.

In 2011 , it was pretty easy with File menu.

But in CRM 2013 and CRM 2015 also there is a quick trick to check the version:

Just navigate to this URL(this is CRM 2015 online):

You will be able to see a screen with version(See highlighted in screenshot below):


Hope it helps!

{Error Resolution} CRM 2013 SP1 UR1 organisation website down

Just recently, in a CRM 2013 SP1 UR 1 organisation we found that the CRM organisation just went down. Following was the screen when we try to hit CRM url:


When checking logs, found the following logs:

The initialization of the CRM authentication pipline has failed and all user requests to this CRM Server role computer will be denied.

CrmTrace encountered an error. Additional Info:Error in LoadDeploymentSettings [A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 – Could not open a connection to SQL Server)], Stack Trace :    at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo)

  at System.Environment.get_StackTrace()

   at Microsoft.Crm.CrmTraceSettings.Load(String traceDirectory)

   at Microsoft.Crm.CrmTrace.get_RefreshTrace()

   at Microsoft.Crm.CrmTrace.Write(Guid orgId, TraceCategory traceCategory, TraceLevel traceLevel, Int32 skipFrames, String format, Object[] args)

   at Microsoft.Crm.CrmTrace.TraceFormat(Guid orgId, TraceCategory traceCategory, TraceLevel traceLevel, String format, Object[] args)

   at Microsoft.Crm.Authentication.Claims.ClaimsUtility.InitializeApplication()

   at Microsoft.Crm.MainApplication.Application_OnStart()

   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)

   at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)

   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)

   at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)

   at System.Web.HttpApplication.InvokeMethodWithAssert(MethodInfo method, Int32 paramCount, Object eventSource, EventArgs eventArgs)

   at System.Web.HttpApplication.ProcessSpecialRequest(HttpContext context, MethodInfo method, Int32 paramCount, Object eventSource, EventArgs eventArgs, HttpSessionState session)

   at System.Web.HttpApplicationFactory.EnsureAppStartCalled(HttpContext context)

   at System.Web.HttpApplicationFactory.GetApplicationInstance(HttpContext context)

   at System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr)

   at System.Web.Hosting.ISAPIRuntime.ProcessRequest

It seemed to be some issue with SQL service not being able to connect to CRM App server.

Error Resolution:

1. Go to SQL server —> Start –> all programs –> Microsoft SQL —> Configuration Tools —> SQL Server configuration Manager

2. In this expand SQL Server Network Configuration —> Protocols for MSSQLSERVER(if yours in on instance select that )—> Selecet Named Pipes–> enable it.

3. Restart sql service.

4. Next, on CRM server enable NET>TCP port sharing service(If already enabled restart it).

Hope it helps!

{Useful to know} Calculated fields functions and considerations for dynamics crm 2015

Following is list of functions available with Calculated fields in CRM 2015:

Calculated field functions syntax

The following contains information about the syntax for the functions provided in the ACTION section of the calculated field.

ADDDAYS (whole number, date and time)

Returns a new date and time that is equal to the given date and time, plus the specified number of days.


ADDHOURS (whole number, date and time)

Returns a new date and time that is equal to the given date and time, plus the specified number of hours.


ADDMONTHS (whole number, date and time)

Returns a new date and time that is equal to the given date and time, plus the specified number of months.


ADDWEEKS (whole number, date and time)

Returns a new date and time that is equal to the given date and time, plus the specified number of weeks.


ADDYEARS (whole number, date and time)

Returns a new date and time that is equal to the given date and time, plus the specified number of years.


SUBTRACTDAYS (whole number, date and time)

Returns a new date and time that is equal to the given date and time, minus the specified number of days.


SUBTRACTHOURS (whole number, date and time)

Returns a new date and time that is equal to the given date and time, minus the specified number of hours.


SUBTRACTMONTHS (whole number, date and time)

Returns a new date and time that is equal to the given date and time, minus the specified number of months.


SUBTRACTWEEKS (whole number, date and time)

Returns a new date and time that is equal to the given date and time, minus the specified number of weeks.


SUBTRACTYEARS (whole number, date and time)

Returns a new date and time that is equal to the given date and time, minus the specified number of years.


CONCAT (single line of text, single line of text, … single line of text)

Returns a string that is the result of concatenating two or more strings.


TRIMLEFT (single line of text, whole number)

Returns a string that contains a copy of a specified string without the first N-characters.


TRIMRIGHT (single line of text, whole number)

Returns a string that contains a copy of a specified string without the last N-characters.


In the CONCAT function, you can use literal strings as single lines of text, entity fields that contain a single line of text, or a combination of both. For example: CONCAT (FirstName, LastName, “is a manager.”). If a literal string contains quotation marks, precede each mark with the backslash (\) escape character, like this: “This string contains the \”quotation marks.\”” This ensures that the quotation marks inside the string aren’t treated as special characters that separate the strings.

The following examples show how to use the TRIMLEFT and TRIMRIGHT functions. They contain the initial strings and the resulting strings, returned by the TRIMLEFT and TRIMRIGHT functions:   

TRIMLEFT (“RXX10-3456789”, 3), returns the string “10-3456789”
TRIMRIGHT (“20-3456789RXX”, 3), returns the string “20-3456789”

Calculated fields considerations

You should be aware of certain conditions and limitations when working with calculated fields:

  • Saved queries, charts, and visualizations can have a maximum of 10 unique calculated fields.
  • The calculated field values are not displayed in the CRM Outlook Offline mode in the tile views or on entity main forms.
  • A maximum number of chained calculated fields is 5.
  • A calculated field can’t refer to itself or have cyclic chains.
  • If you change one of the condition operators in a multiple condition clause, all of the condition operators will update to that condition. For example, in the clause IF (x > 50) OR (y ==10) OR (z < 5), if you change the OR operator to the AND operator, then all ORoperators in the clause will become AND operators.
  • You can access parental fields via the Lookup field to the parent entity, such as <LookupFieldName>.<FieldName>. This is not possible with multi-entity Lookup fields like Customer which can be Account or Contact. However, some entities have individual Lookup fields for a specific entity, such as ParentAccountid.<FieldName> or ParentContactid.<FieldName>.
  • Sorting is disabled on:
    • A calculated field that contains a field from a parent record.
    • A calculated field that contains a logical field (for example, address field).
    • A calculated field that contains another calculated field.
  • Calculated fields can span two entities only.
    • A calculated field can contain a field from another entity (spanning two entities – current entity and parent record).
    • A calculated field can’t contain a calculated field from another entity that also contains another field from a different entity (spanning three entities):
      (Current Entity)Calculated Field <- (Parent Record) Calculated Field 1 <- (Parent Record) Calculated Field 2.
  • You can’t trigger workflows or plugins on calculated fields.
  • You can’t change an existing simple field to a calculated field. If your current application is using JavaScript or plug-ins to calculate a field, you would not be able to use the calculated fields feature without creating a new field.

Hope it helps!

BROWSER Compatibility for dynamics crm 2011

Microsoft Dynamics CRM 2011 Update Rollup 12 introduced additional browser compatibility for the Firefox, Chrome, and Safari web browsers.
Browser flexibility applies to all functions within Microsoft Dynamics CRM for both users and administrators. The following table lists the devices, operating systems, and specific browser versions that are affected. 


Internet Explorer




Windows XP

Not supported

Not supported

Not supported

Not supported

Windows Vista

Version 7*, 8, and 9

Latest version

Latest version

Not supported

Windows 7

Version 8, 9, 10, and 11

Latest version

Latest version

Not supported

Windows 8

Version 10

Latest version

Latest version

Not supported

Windows 8.1

Version 11

Latest version

Latest version

Not supported

Apple OS X 10.7 (Lion)

Not supported

Not supported

Not supported

Latest version

Apple OS X 10.8 (Mountain Lion)

Not supported

Not supported

Not supported

Latest version

Important Microsoft Dynamics CRM 2011 Update Rollup 17 introduced compatibility with Internet Explorer 11 when it runs in Windows 8.1 or Windows 7. This includes the following supported configurations: 

· The web application when it runs in Internet Explorer 11 on a Windows 8.1-based or Windows 7-based computer

· Microsoft Dynamics CRM for Outlook (CRM 2011 client) when you run Office 2013 in Windows 8.1

*** Windows RT is not currently supported.


Hope it helps!


Scenario: Be able to do a quick find wild card search using out of box CRM quick find box on whole number field.

Ideal Solution: You must be wondering that it is as simple as configuring a Add Quick Find column in quick find and it will be working.

Reality: Even when we configure Quick find view for whole number fields, it only enables full number matches, not partial matches. For eg, if I want to search on number of employees in out of box account entity, I can only do full matches like 1000, I will not be able to get a result on 100*


I think the scenario is already clear by now.

So, since the example is referring to Dynamics CRM 2015, let us have a practical example on Calculated Fields.

Wait a minute, how are Calculated fields going to be useful here?


Well, we will need to store a hidden calculated field for our whole number field , which will be used in Quick find search.


Step 1: Please create a hidden Calculated Field like this:


Step 2: Click Edit and configure like below:


Step 3:

Configure this field in Account Quick find view (Remember in Step 1 field is marked as searchable as well):


Step 4: Publish all customizations.

What about mapping historical data to the new field. Well, calculated fields do not need that.

So, the final test!


Hope it helps!

{QUICK TIP}CRM Data Imports: Things can also roll back!

Data imports are a cool feature in CRM to import bulk data, do bulk edits in excel with re-import option and then re-import the changes.

Highlighted Account record names were added in error.


Accidentally wrong import file was used, how to roll back now?

Just pick the option, All Records imported to the Entity during this import


Then a bulk deletion job option will appear, what is cool is it can also delete the import job history:


Once ok is clicked, it will trigger a background system job.

After some time, the imported records will be deleted.

Note: Changed column values will not be rolled back.

Hope it helps!