Get Data: Error Connecting PowerBI to the CRM Online OData Service

PowerBI in Office 365 can be a really useful tool, however many users may have come up against an issue with using the MS Dynamics CRM Online OData Service to “Get Data”.

You can easily register to use Power BI for your Office 365 tenant and download PowerBI Desktop, however it doesn’t appear to be as easy to use the “Get Data” function or register CRM as a data source using the OData Service for CRM Online.

If you a looking for a walkthrough on the set up of PowerBI, then this blog post from Steve Ivie is a useful place to start;

The Problem

If like me you attempt to connect to CRM using the OData Service URL found in CRM Online then you might have used the following steps;

  1. Download and Open Power BI, from the pop-up menu select Get Data
  2. Select Dynamics CRM Online for the list and then click Connect
  3. You are then prompted for the OData Service URL in the following dialog
  4. Now you would expect to enter the URL for the OData Service from CRM Online right? The format should be something like this; https://<your org> Note: the URL ‘crm5’ section will vary depending on your datacentre. To find the OData Service URL navigate to; Settings > Customizations > Developer Resources in CRM.
  5. Once you have entered the URL click OK, the organisations available data sets should begin to load
  6. In the Navigator menu select a data set or data sets from the CRM list and then click Load, (in the example AccountSet and ContactSet have been selected)
  7. This is where the frustration starts! The load process is triggered and I receive the following message; OLE DB or ODBC error: [DataSource NotFound] OData Request failed (404) Not Found.At this point you cannot apply any changes and you have not data to work with. Close the message box.

The Work Around*

Now, I researched the problem and couldn’t find a resolution for CRM 2015 Online, however if you have Microsoft Dynamics CRM 2016 Online your PowerBi dreams are but a URL away for fulfillment – *note I didn’t call this a “solution”, I will take answers on a postcard (or comment) from anyone who managed to get the OData Service working.

  1. In CRM Online 2016 navigate to; Settings > Customizations > Developer Resources
  2. Grab the Instance Web API from the field;
  3. Repeat steps 1-3 from the previous section
  4. Instead of the OData URL, enter the Instance Web API from CRM Online and click OK
  5. Once you have connected to CRM select the entity tables you want to work with in the Navigator menu and click Load
  6. The data sets should now load and the glorious world of CRM with PowerBI is yours to explore at last!

Hopefully this will save some people from trawling support threads, if there is a better way or a way you have managed to use the OData Service for CRM Online 2015 or 2016 please get in touch!

Happy CRM’ing for now. 🙂



IE Performance Setting – page load in CRM

Sometimes an instance of MS Dynamics CRM can rely heavily on JavaScript, and ‘On Load’ this can have an effect on page performance.

If this occurs then it can be very frustrating for a user point of view and lead to support calls or disgruntled users. Thanks to a colleague who had spoken to Microsoft about this issue when encountered in IE, there is something you can do on your local machine to improve performance.

Whilst it is suggested you try and avoid the over-use of JavaScript or other performance affecting configurations On Load of an entity form, this happens from time to time.

So what is the fix?  

The fix is to increase the maximum number of connections per server from 2 to 10 on the local machine/PC, the steps to complete are as follows (please note this applied to Internet Explorer);

  1. Start Registry Editor.
  2. Locate the following key in the registry:


  1. On the Edit menu, point to New, click DWORD Value, and then add the following registry values:

Value name: iexplore.exe Value data: 10 Base: Decimal Note  – set this value to the connection limit that you want for HTTP 1.1 connections. By setting the value to 10, you increase the connection limit to 10.

  1. Locate and then click the following registry sub-key:


  1. On the Edit menu, point to New, click DWORD Value, and then add the following registry values:

Value name: iexplore.exe Value data: 10 Base: Decimal Note set this value to the connection limit that you want for HTTP 1.1 connections. By setting the value to 10, you increase the connection limit to 10.

  1. Exit Registry Editor
  2. Close and Restart IE.

If you do not have admin’ rights to your local machine you may need to speak to your IT service desk. Hope this helps some of you out.

Happy CRM’ing

CRM 2013 Plug-in Regsitration Tool Fails to Connect – IFD

MS Dynamics CRM 2013/15 Plug-in Regsitration Tool Fails to create a connection to an IFD – Error “404”

Recently I came up against an issue where the CRM 2013/2015 Plug-in registration tool from the CRM SDK couldn’t connect to an IFD CRM instance – throwing a “404” exception even though I knew I was using the correct connection details and credentials. I need to turn off some plug-in steps whilst data was updated.

Previously I had been able to connect to the test instance which was also internet facing and the application was available both internally and externally.

Well, one thing you can check (which thankfully worked for me)  was to check the “ActiveMexEndpoint’ for the Federation Provider in the MSCRM_Config database.

STEP 1 – Log into SQL Server Management studio on the SQL server used by the CRM instance in question.

STEP 2 – Navigate to the MSCRM_CONFIG database and then “dbo.FederationProvider”

STEP 3 – Run one of the stored jobs to “Select Top 1000” records, the script executed should read;

/****** Script for SelectTopNRows command from SSMS  ******/
SELECT TOP 1000 [ActiveEndpoint]
FROM [MSCRM_CONFIG].[dbo].[FederationProvider]

STEP 4 – Check the value stored for ActiveMexEndpoint, there should be more than one line returned, the value should look like this – https://sts.<yourdomain>/adfs/services/trust/mex if it doesn’t, then that’s your problem. You can execute a script like the following to update them;

UPDATE [MSCRM_CONFIG].[dbo].[FederationProvider] SET ActiveMexEndpoint = ‘https://sts.<yourdomain>/adfs/services/trust/mex&#8217;
WHERE ActiveMexEndpoint = ‘https://sts.<yourdomain&gt://adfs/ls/mex&#8217;

STEP 5 – Once the update has run perform an IIS Reset (cmd > iisreset) on the CRM Server and the ADFS Server and try to reconnect. It is also worth checking that access to the CRM instance externally is functioning as expected.

You should now be able to establish a connection from the CRM Plug-in Registration Tool and register/deactivate your plug-in steps.

NOTE: The production instance had been created from a database backup of test initially as the data was imported from external sources and cleansed – therefore the plug-ins hadn’t been manually registered in the past. Otherwise this issue would have been encountered earlier in the deployment.

Dynamics CRM Online – things to consider before moving to the cloud

More and more organisations are considering a move to the ‘cloud’ for their IT systems, including Dynamics CRM. But what things do you need to look out for?

Anyone who works for a Microsoft Partner will likely know that most engagements for Dynamics CRM commence with the ideology of “leading with the cloud”, and there are many reasons why a move to the cloud can be advantageous to an organisation. But not everything is unicorns and rainbows, so what should you look out for when making the decision on switching from On Premise or Partner Hosted CRM deployments to CRM Online? In this post I will attempt to use my personal experiences to date to provide some insight along with the facts.

The Compelling Reason

In order to lead with a ‘cloud first’ approach organisations will likely need a ‘compelling reason’ to consider a deployment online, this is especially important when this involves a migration away from CRM deployed on premise. In most cases this can be directly translated into a cost saving – will it cost less to have CRM and other associated applications available in the cloud vs. managing on premise or with via a hosting partner? But the cost analysis is not the only consideration – so your Microsoft Partner should encourage due-diligence prior to making a decision.

Cost to Manage and Licensing

It is here that Microsoft Dynamics CRM Online can come into it’s own, due to the scale of Microsoft’s infrastructure they can operate at a much lower cost a benefit that can be passed on to the customer. Organisations can reduce their overall cost to manage and maintain multiple CRM servers, the savings can be augmented by the use of Exchange, Office and SharePoint through Office 365. If servers and software/applications are aging and a refresh is required this can be an opportunity to consider the cost and effort required against a move to the cloud.

One of the other areas that could prove attractive is the flexibility of licensing compared to purchasing through Software Assurance – licenses can be purchases and then cancelled (given the set notice period) when no longer required.

Another excellent selling point for Office 365 in this area is the price of an Enterprise E3 subscription with CRM Online (check out the details of the E3 Plan here:, with a direct comparison to a Professional CRM license the slight increase in cost makes them an attractive proposition.

The E3 plan is more suited to larger organisations but the cost can reduce further based on discounts for certain sectors such as; charities and educational establishments, so investigate through your licensing supplier. There are also promos running in some regions that include Unified Service Desk and Parature – check the Microsoft website.

Please Note: The prices below were accurate at the time of writing but are subject to change.

Item Description Cost (NZD) Cost (GBP)
Dynamics CRM Online Professional + O365 Enterprise E3 Plan Per User/Month, includes O365 E3, PowerBI and SharePoint 84.17 42.79
Dynamics CRM Online Professional Per User/Month CRM Online 79.60 40.50

Managing Multiple Instances

Any solid CRM deployment is based on multiple instances – Production, Testing and Development environments are at the very least best practice, so how does that work with CRM Online? Well the answer is quite simple; one non-production instance is included when you purchase 25 or more licenses (USLs) that are Professional or above. The instance is added to O365 as a subscription and is managed as such, additional instances can be purchased as subscriptions too, there is no ‘double up’ on licensing, users who have active CRM licenses can be given access to any of your instances.

Upgrades can be applied to your CRM instances in a staggered schedule using the management console in the O365 portal. Usually these are initially scheduled at increments before Production is updated and the updates can be deferred or rescheduled.

You can copy instances (Production to Non-production) in the O365 portal too, the steps to do so can be found on TechNet here:

Backups are a key area to consider when moving to O365, managing servers and databases on premise means the organisation are the masters of their own destiny, with CRM Online this changes. With CRM Online you have no access to SQL server or the database other than through the application layer, backup copies can be requested through Microsoft Support as can the restoration of a backup here;…/contact-technical-support.aspx.

What about Data Sovereignty? Where is my data?

Depending on the region you select your organisations data will be held in the nearest Microsoft Data Centre, this can be important when considering data sovereignty – different sectors have different rules as to where data can be stored as do different countries (it is best to check this for each organisation). You can check out the various locations here; Online Legal Bits, there is also a brief FAQ section here that can be useful. It is important to note that for the UK, the nearest data centre at the time of writing is Dublin (Eire) which could pose issues for some potential customers. For CRM Online customers in New Zealand and Australia the nearest location was Singapore, but this has been improved by the use of the newer sites in New South Wales and Victoria, though this would still be an issue for those organisations needing to store data within New Zealand for example.

Microsoft Dynamics CRM Online uses service logs, rather than direct access to customer data, for purposes of providing, maintaining, and troubleshooting the online services. Service logs record errors and performance issues, and may contain limited customer data such as email addresses, subject lines of emails, file names, and site URLs to identify the source of the error or performance issue being recorded. Service logs do not contain customer-authored data such as customer documents, email message bodies or attachments, website content, or IM/voice conversations. Service logs that contain customer data are stored in the datacentres identified

Failover/Disaster recovery is managed between sites.

Database Size -Storage Limits

The default size is 5GB (not huge), after that you may have to purchase additional storage space, depending upon the number of user licenses purchased there is addtional storage given for each user licensed in O365, which is approx. 2.5GB per user.

There was a maximum size limit of 50GB however, I believe this no longer applies. The storage is also shared across instances, you can keep up with the current storage use in the CRM Application (under Settings > Administration > Resource Use). So, if moving from on Premise to the cloud, it is time to cut some of the deadwood!

*Update* – It is also a good idea to consider if Auditing is applied to entities and fields in CRM. A high volume of audit records stored in CRM Online can directly affect performance and storage availability.

Archiving or deletion of Audit Logs should be considered and factored into CRM maintenance to ensure the volume of records does not adversely affect CRM Online. – RedCRM July 2016.

Reporting In CRM Online

Without effective reporting on your CRM data to gain insight it can be argued that there is no real point at all investing in a CRM Application. Being able to retrieve and display data for the Sales Pipeline, KPIs and ROI can be vital to the success of the implementation. Organisations who are currently using CRM on premise may have complex reporting through SSRS (SQL Server Reporting Services) which can use the MSCRM database as a data source, schedule snapshots, set up subscriptions and use the reports .RDL file to surface the report in CRM through the Reporting Wizard.

Out of the box in CRM Online this is not possible to set up SSRS reporting, you can use the CRM Wizard Reporting tool as well as Advanced Find (as you can on premise), but you cannot currently schedule snapshots nor do you have access to a dedicated Reports Serve to create SSRS reports. Though this can be achieved using Fetch XML and/or SQL replication, (check out this post on Code Project).

If this is not a desirable workaround, it may well be worth considering Power BI. Power BI for Office 365 cloud service works together with Microsoft Office Excel and Microsoft Dynamics CRM to extend the reporting capability of CRM Online. (Power BI now supports data refresh with Microsoft Dynamics CRM Online.) And as per the earlier section on licensing Power BI can be purchased as part of the E3 plan for O365.

There are also some handy Analytics Templates for CRM Online and Power BI available via Pinpoint;

Sales Analytics Templates;
Service Analytics Templates;

It is important to establish the level and complexity of reporting prior to recommending a move to the cloud and what that might mean as an impact for delivery or the CRM project. What about data warehousing or big data? – you may ask, well that actually leads me on to the next topic.

Data Integration with CRM Online

Recently I have been engaged with clients that are considering CRM Online with data integrated from others sources, such as AX, GP and/or Data Warehouses. My tip – do not underestimate the importance of this step, it is a huge ask for CRM Online to replicate larger organisations current data integration compared to CRM on premise.

Some of you may or may not know that typically the number of parallel connections allowed to CRM Online is 2, though this can be expanded using manipulation of XML to 4 this could potentially be throttled back to 2  so is not exactly stable. I recommend calculating the volumes of data being transferred and testing performance using a proof of concept and the use of batches, ExecuteMultiple and BDD (balanced data distributor) to enhance integration performance. Using ISV solutions such as KingswaySoft may allow for smoother integration.

Some colleagues of mine tested the indicative transfer rates based on tests conducted against a vanilla instance of MSCRM Online hosted in the Australian datacentre. Tests include both singular requests and the execute-multiple approach, simultaneous execute-multiple connections were also tested:

Data Transfer

CRM Online Vs. On Premise

There are other areas to consider, and to reduce the risk of turning this post into a novel, there is a quick reference table below:


In Closing

A move into the cloud doesn’t have to be terrifying, but it does need careful consideration and may be more suitable to some organisations than others. Make sure the requirements are well defined and that wherever possible performance and scalability is tested fully prior to making a commitment. A trial instance usually lasts for 30 days, but can be extended through Microsoft Support.

So – do your homework, assess and cleanse your CRM data, stress test your integrations, compare your costs and happy CRM’ing. 🙂

Trigger Field Updates from Roll-up Fields in MS Dynamics CRM 2015

I recently read a post from Jukka Niiranen on limitations of using roll-up fields in Microsoft Dynamics CRM 2015 (, which was very useful – however I have been working on a client solution that did benefit from this feature using some simple configuration and business rules.

The idea is that you can use a roll-up field in CRM based on hierarchical and/or associated records to display a cumulative currency value, such as “Total Spend” or “Total Revenue” to trigger updates to other attributes such as, “Service Level” or “Customer Type” in the associated Account or Contact without using code. In some cases, using the “keep it simple” principle then you can achieve this using;

  • Roll-up Fields
  • Roll-up Filters
  • Business Rules

The scenario I am using as an example is that a customer makes a booking that is associated with their contact, the more they spend (new_totalnetbookingspend) the higher their “Loyalty Level” (new_membershiployaltystatus), but the principles can be applied to your customisations and other situations. So let’s get started.

Please Note; Business rules run only when the form loads and when field values change. They do not run when a record is saved, unless the scope for the rule is set at an entity level. For this scenario my client works within the Contact entity – it cannot currently replace the functionality of a plug-in.

Step 1 – Create a Roll-up field Go to your solution in CRM and the entity of your choice, (in this case I am using Contact) and either the asscoiated “Fields” or the “Form” you are going to work with, (this will depend on your working preference), then create a new field. Next complete the required information for your field, such as; the “Display Name” and “Field Requirement” level and add a “Description” if you desire, (remember in this version of CRM the description appears when the user rolls-over the field label). Then choose your “Data Type” in this case the one I am using is “Currency” and then the “Field Type” as “Rollup”. Then “Save” you field.


Step 2 – Define your Roll-up Calculation Then navigate down to the “Field Type” field and click the “Edit” button that should have dynamically appeared in the field properties window. This will launch the pop-up window for your roll-up calculation. You will need to complete the following;

  • Related Entity
  • Filters (the use of filtering is optional)
  • Aggregation

For filtering you may want to filter out records assigned a certain ‘status reason’ or ‘type’ depending on the requirements, for aggregation you can choose a “SUM” of the target field (in this case a sum of the NET Booking Amount),  I have included a screen shot of my example calculation below. When you are done click “Save and Close” and then add you new field to the entity form and Publish” your changes.

rollup_calc I also have the existing field which I want to update based on the roll-up value which is an option set, you may need to create a field before continuing to the next step.

Step 3 – Create a Business Rule As Jukka explains in his post; “No standard workflow or Business Rule will allow you to initiate the roll-up field calculation based on the custom business logic you’d like to define.” However you can trigger a business rule based on the value held in the field itself. Out of the box this relies on the roll-up value being updated either using the “refresh” or the system job to calculate the roll-up being completed. The business rule will execute when the record is loaded or the roll-up field value changes. So, for this example my contact field “new_membershiployaltystatus” has three options; Gold, Silver and Bronze. The loyalty status will be set based on the following rules;

  • Bronze – If the contact has a “Total NET Booking Spend” < $2500.00
  • Silver – If the contact has a “Total NET Booking Spend” >= to $2500 and < $5000
  • Gold – If the contact has a “Total NET Booking Spend” >= to $5000

Please Note; “Bronze” is also the default value for my option set “new_membershiployaltystatus”. To create a new business rule in your CRM solution navigate to the entity (in this case Contact) and click the “Business Rules” item in the nav’ tree and then “New”. You will then need to complete the Condition statements and Action for each of the possible options, as per the example below, then “Save” and “Activate” your business rule. You can also choose a form to execute the rule against, or execute against all forms.


Additionally I locked my fields on the form, however if you want the option set to be “read only” you will need to define this in the rule, not on the form – if you do it from the form the value changes might not be committed when the record saves. Don’t forget to test to check your results!  Easy. 🙂


 Happy CRM’ing!
**UPDATE** 16/08/2015 – You can use a plug-in to force the roll-up calculation to be updated using CalculateRollupField, you can also populate another attribute such as a date field to be populated when it has and use this to trigger a standard workflow. Thus negating the need for the record to be opened in the UI for the associated attribute to change, for more information please see: (MH)

Using Queues in Microsoft Dynamics CRM

Queues can be instrumental in helping to organise, prioritise, and monitor the progress of your work, such as Cases while you are using Microsoft Dynamics CRM.

If used properly they can act as a centralised location for users to manage case progress, respond to service calls or work with prospects in your sales pipeline. There is often times when the feature is overlooked or misunderstood, however as the functionality was updated around the use of queues in MS Dynamics CRM 2013 SP1 and 2015 there is a lot more to do with queues and it is not as difficult as you may think.

Recently I published a blog post on the use of Routing Rules in CRM 2015 and CRM Online and during the process referenced the Queue entity. So I thought I would expand a little. At a high level what you may or may not know is that queues;

  • Can be used with any custom entity
  • Can be made “Public” or “Private” (with Private queues making the queue items only available to members)
  • Private queues are auto-created for new users or teams when they are created
  • Queues can actually contain multiple entity types, (e.g. tasks, emails, cases)
  • Users can work on Queue Items to prevent task duplication
  • Queues can be workflow enabled
  • Queues cam ne enabled for auditing

Public or Private? In CRM there is an attribute called “QueueViewType” which is used to define if a queue is public or private. Private uses have individual members (users) which are used to allow/remove access to the queue. You can add a team to a private queue and this will add all the team members as members of the private queue. Some other things to remember about queues are that;

  • All user queues are private, so only the user will be able to see queue items in this queue
  • Team queues are marked as private by default, the team owner and all its members have access to the queue
  • All other queues are considered public, anyone with ‘read’ access to queues can see them

For information on CRM queues in previous versions check this MSDN article;

Creating a Public Queue:

Creating queues are simple enough in CRM, as mentioned above each user account has it’s own private queue created automatically. The ability to create a queue will be based on the users security role, out of the box the following roles can create a queue;

  • Customer Service Manager
  • System Customizer
  • System Administrator

If you have an applicable role with create permissions then you are good to go – if you are not sure you can check your role by using the steps in this Customer Centre article;

Next go to; Settings > Service Management/Business Management* > Queues, then choose New. You will then need to complete the required fields in the Queue form, out of the box these fields will be;

  • Name
  • Type (Public or Private)
  • Owner (Lookup to System User)
  • Convert Incoming Email To Activities

The “Incoming Email” field is for exactly that purpose, here you can enter the email address that receives all messages for this queue, for example; ‘’.

In the “Convert Incoming Email to Activities” field you will need to make sure you choose the appropriate action, by default this will likely be populated with “All email messages“, this will not be suitable for everyone. Depending on the purpose of the queue you may want to only covert emails that are “Email messages in response to a CRM email” or only emails from Leads, Accounts and Contacts.

The locked field referring to “Mailbox” will be automatically populated with a new mailbox record when you have created the Queue, once this has occurred you can update the mailbox details using the link.

Finally, click Save.

*Service Management will be visible in the Settings area of CRM based on the version you are using.


Queue Items:

Queue items are displayed in the associated sub-grid within the Queue form. If you are using Cases for your solution then all cases that are either; (a) routed to this queue (using routing rules) or (b) manually assigned cases will be displayed.

It is worth noting that a queue item is automatically deactivated if the associated record is updated from Active to Inactive, which applies as you’d expect to all queue enabled entity records that have Active or Inactive states in CRM.

Create an Automatic Case Creation Rule;

Automatically creating cases from incoming email can be awesome for reducing the amount of manually created cases in CRM and increasing the actual contact time of a support desk and your agents for both internal and external channels. Case creation rules use conditions similar to those found in Advanced Find to automatically convert emails into support cases.

Please Note; This functionality applies to MS Dynamics CRM Online that were either updated to CRM 2013 SP1 (or Spring ’14 release as it is known) or the CRM 2015 product update. If your deployment is On Premise you will also need to have updated to CRM 2013 Sp1 or CRM 2015.

Step 1 – Create a New Record

To create a new Case Creation Rule in CRM 2015 click the “Email to Case Settings” button in the ribbon from your Queue (as created in the above steps). The create window will pop a new Case Creation Rule form, complete the required fields, which include;

  • Name
  • Source Type (Email)
  • Queue (Lookup to your Queue)
  • Owner

Now, you can only associate one rule per source type, so in this example once we have selected the “Source Type” as “Email” in a rule for this queue, we cannot have another active rule associated unless it is used for Social Monitoring. Also, make sure your queue has an email address as per the previous section.


Step 2 – Specify Conditions

Next you will need to go to the “Specify Conditions for Case Creation area in the next section of the form and choose your condition or conditions (as you can add multiple). These include;

  • Create cases for email from unknown senders+
  • Create case if a valid entitlement exists
  • Create cases for activities associated with a resolved case
  • Create case when the case associated with the activity is resolved since

Create Cases for email from unknown senders – if you select this option all emails from unknown senders (i.e. a sender that cannot be associated with an email in a CRM record) are converted to a case, be default this will also create a contact record. However this does work in conjunction with the personal options for “Automatically Create Records” set by the user that owns the rule.

+If this option is not selected cases will only be created automatically for email senders that are attributed to an Account or Contact in CRM, (those email addresses associated to other records will not create a case).

Create case if a valid entitlement exists – if you select this option then the rule will do exactly that, to read more on entitlements see; If the sender of the email is a contact that has a parent account with a valid entitlement and the contact is associated using the sub-grid on the entitlement, then a case is created, this is also true if the entitlement sub-grid is empty as the entitlement can be applied to all contacts for that account.

Create cases for activities associated with a resolved case – a case will be created if the email is related to a resolved case if it references an active case then no case is created. If you select this option then the option for Create case when the case associated with the activity is resolved since appears which allows you to select/define a duration. This will mean that a new case will be created only if it is resolved earlier than the specified duration. If it is later then it is associated with the existing resolved case.

When you are done click “Save”.

Step 3 – Specify Case Details

Now we need to add conditions for the creation rule, for those users familiar with Advanced Find it is as easy as that. We also need to add the case properties for the records we are going to work with once created, such as the priority etc.

In this step you can define how to treat cases based on their customer category or the contact type, a good tip is to be sure that you use the correct reference in the conditions, for example, for Contacts it is; “Sender (Contact)”, for Accounts the reference is; “Senders Account(Account)”. You add conditions by clicking the “+” icon near for “Condition”.


Once you are done click “Save” and if you are happy click “Activate”.

Please Note; Once a case is created the incoming email is removed for your Queue. If there are no routing rules to apply to the newly created case to a user or Queue then the case owner will be set to the user that owns the case creation rule.

Hope this helps, if you need to dig deeper check out the CRM Customer Centre, or for technical information such as case creation from a web service see MSDN. Happy CRM’ing!

Dynamics CRM Activity Timeline via xRM Consultancy

Since the upgrade to Microsoft Dynamics CRM 2013 administrators have been able to use the conversations tab to allow users to view related activities, notes and posts against their associated records, essentially replacing the activity and history tabs from previous versions. The conversations tab displays a chronological list of the activities that are either open or completed using the current CRM look and feel, however scrolling through this list for records such as accounts with a high volume of activities to those that are yet to be completed is not very user friendly.

One solution is to use the Timeline for Microsoft Dynamics CRM from xRM Consultancy to provide a visual representation of the future and historical interactions related to the entity in your CRM instance. Recently I have found this a useful addition to clients’ CRM deployments.

The solution can be applied to CRM Online and On Premise deployments and is compatible with CRM 2015 as well as 2013 and 2011, the solution is free if you are looking to apply it to the following entities:

  • Account
  • Contact
  • Opportunity

The timeline is pre-configured to use the following default entities to display:

  • Appointment
  • Email
  • Fax
  • Letter
  • Case
  • Phone Call
  • Task
  • Service Task
  • Opportunity
  • Campaign Response

As part of the free version you can manage which of these entities are displayed too, I will cover that later on.

For the walkthrough we will use the free version, you can purchase the full version to enable against custom entities from their website, (pricing at the time of writing is “Less than 50 active users” = 995.00 GBP/ $1935.65 NZ or “More than 50 active users” = 1995.00 GBP/ $3881.03 NZ).

Step 1 – Download & Import the Solution

You can download the managed solution from the xRM Consultancy website, or by using the following link:


You will be required to enter your name and email address and select the version of CRM you want the solution to be compatible with (in this examples CRM 203/2015) and then click “Send”. You will then see an alert asking you to click on the newly presented link. Click the link and the download will begin.

Once the download has completed navigate to your CRM instance and import the solution via; Settings > Solutions > Import. And follow the usual steps to complete.

Please Note: As this is a managed solution once you have imported into CRM removing the solution will remove all installed components, however you will still want to use a non-production instance first to assess the suitability of the customisations for your deployment.

Step 2 – Timeline Configuration

Once you have imported the solution you’ll need to open it in CRM and accept the terms& conditions of use as per below. You will then see a link to “Open Timeline Configuration”, click the link to launch the pop-up window.


In the Timeline Configuration window you will see the “Timeline Entities” displayed in a sub-grid, here you can remove entities that you do not want to display in the timeline, (if you have entities in this list that are not in use or viewable to users you may encounter errors so it is best to check). Additionally you can open one of the associated entities to view/amend the settings and the query used (amendments are via the paid version only).


Step 3 – Entity Configuration

Next you will need to add the timeline to your entity, for this you can use a new or existing unmanaged solution. Open the entities form (in this example I am using Account) and insert a new tab or section.

Then in the form editor go to; Insert > Web Resource > search for and select “xrmc_Timeline.html” > Add a Name > Add a Label > Ok, this will add the HTML component from the managed solution. You can then alter the amount of space you require for the timeline using the formatting options.


If you have added the timeline to a new tab, you may want to collapse the tab as default depending on the amount of processing required for your form OnLoad. Then save and publish your changes.

Step 4 – Assign Custom Security Roles

In order for users to view or work with the timeline you will need to assign them one of the custom roles imported as part of the managed solution. “Timeline Writer” allows users to add the timelines to forms and change the configuration (version permitting), the other role “Timeline Reader” will enable them to view the HTML component we have just added to the Account record.


Navigate to the “Administration” or “Security” area of CRM, depending on your version and assign the security role to your users and/or teams as required.

Once you have completed your set up navigate to see your changes. You can click on activities in the timeline to view the details or scroll up and down the timeline with your mouse/finger.


This can be a great addition to your configuration and add to the overall user experience in CRM. Enjoy!