App for Outlook, CRM, CRM features, Dynamics 365, Mobile, Unified User Interface

Introduction to the App for Outlook – Dynamics 365 July Release Preview

Recently, there has been a lot of emphasis around the Dynamics 365 July 2017 or v9.0 as its also known as; Microsoft released the Unified User Interface (or UUI) for Dynamics 365 with this released for new Office 365 tenants. This built upon the design concepts of the MOCA client with the philosophy:

Code once, deploy everywhere.

I have previously written an article regarding the UUI when V9.0 was first announced to the world here:

Unified Interface for Dynamics 365

The Present

Fast forward until now – you can finally provision trials with Dynamics 365 V 9.0. A few of my colleagues and I have been putting a lot of effort into testing the new UUI in earnest to try and help with our customers come up with a clear upgrade strategy to upgrade to the next version of Dynamics 365.

Our testing for the UUI has been broken down the testing into the following topics:

  • App for Outlook
  • Tablet/Phone Mobile Client
  • Mobile Web Client (not the “web refresh”)

Spreading the Knowledge

My colleague, Chris Huntingford had already written an brilliant introductory blog (link above or here) into our initial findings of the Web UUI, which lists a few “Awesome” features and a few of the issues we have encountered so far which we have shared for all to read.

This article received some really good feedback from the Dynamics Community which highlighted some cool items that we needed to consider or had missed, so thank you!

Additionally – I would like to thank Jason Almeida and Rob Dawson for assisting us on the continued path of testing the UUI!

The “App for Outlook” – a Consultants Story.

So moving on to business – I have been testing out the new App for Outlook on my trial demo environment with two main objectives:

  1. How do we install the preview version of the App for Outlook?
  2. What can we do with the App for Outlook?

This blog will serve as an introduction and will aim to help you understand how the App for Outlook can be deployed and installed (point 1) and a high level overview of what it can and cannot do functionally; my next blog will cover point 2 in more detail.

Firstly, you may be asking yourself – “why are we talking about this when there is the Outlook Client”?

I would like STOP you right there – this article is in reference to the new cloud based App for Outlook addin which was first released with Dynamics 2016; the Outlook Client (installed to the Users machine) has been deprecated (RIP) and will be removed from support at some point in the future.

Preview Only


As part of Microsoft UUI release with Microsoft Dynamics 365 July Release (V9.0) – the App for Outlook is only released in preview; which means:

  • Dynamics 365 (online), version 9.0 or later only.
  • Not supported – Microsoft will not provide full product support until General Availability (GA)
  • Not complete product/functionality

Full details can be found here.Prevvvvv
So whilst this is great for the Partner to get their hands dirty and do some testing for Microsoft – for new customers, they would be stuck in a scenario where the recommended email synchronisation method is not actually officially supported by Microsoft yet. They may need to go back to the Outlook Client as an interim solution until support is offered/general availability.

Ok – what do I need to get the App for Outlook running for my Users?

Good question – there are several pre-requisites to get the App for Outlook running, I will provide the basics with the necessary links for these as separately, these can be quite a detailed process to complete.

  • Switch to server side synchronisation (SSS) for all Email and Activities in your V9.0 instance – reference here.
  • Have a supported version of Exchange (Exchange 2013, 2016 or Exchange Online).
  • Have a supported version of Outlook (through Office) (2013/2016/Outlook for iOS/Android/Mac or Outlook on the Web OWA).
  • Configure the Users mailboxes for SSS.
  • Enable the preview in your environment.

How can I access App for Outlook?

Previously, with the Outlook client you were restricted to the following:

  • Supported versions of Outlook/Exchange (still the case with the App for Outlook).
  • Installation of the Outlook client on each device you wanted to use (Windows only)
  • One synchronising client if accessing with multiple devices.

For the App for Outlook, you can use a single installation (addin to your Exchange Mailbox completed at the server level) across a multitude of devices and platforms where you access your mailbox through an supported Outlook App (i.e. Outlook for iOS). You can use the App for Outlook on the following devices:

  • Outlook on the Web
  • Outlook for Desktop
  • iOS mobile
  • Android Mobile
  • Windows Mobile


What can I do with the App?

There are some major functionality differences between the App for Outlook and the Outlook Client (taken from here):

Feature Dynamics 365 App for Outlook Dynamics 365 for Outlook
Track and set regarding for email Yes Yes
Track and set regarding for appointments Yes Yes
Track and set regarding for contacts Yes Yes
Track and set regarding for tasks No Yes
One click set regarding Yes No
Shows recipients’ summary Yes No
Shows the regarding record summary in the email/appointment Yes No
Works with Outlook on the web Yes No
Works with Outlook desktop Yes Yes
Works with Outlook for the Mac Yes No
Works with phones Yes No
Open and create Microsoft Dynamics 365 record directly Yes Yes
Apply custom forms and business logic Yes Yes
Work offline No Yes
Apply email templates Yes Yes
Apply sales literature Yes Yes
Apply knowledge articles Yes Yes
Ability to monitor emails after sending Yes No
Sort, filter, format, group, and categorize views No Yes
Create Word mail-merge documents No Yes

A lot of people will focus on the negatives – so neither Task synchronisation or Offline ability will be available (with this release) of the App for Outlook.


However – Tasks would synchronise via server side synchronisation as they normally would – you just will not be able to set the regarding or access the CRM fields in Outlook for Tasks.

Whilst you will not have the ability to work offline, you now can with the mobile apps!. The new functionality (in my opinion) far outweighs the functionality missing with the ability to work on the move with your mobile device – though however, this does depend on which device you are using as shown below:


Understanding the above items is crucial when deciding whether the App for Outlook is a good fit for your customers/organisation as it will help identify whether your current Dynamic/Exchange deployment are supported* moving forwards.
As I had previously stated – my next blog will talk about the functionality of the App for Outlook – what’s cool and what’s not so cool!

Known issues

The below link highlights some already known issues of the App for Outlook – and will be kept up to date by Microsoft.

You can find the second part to this article here.

Thanks for reading – MW.

*when Microsoft fully release this for GA

CRM, CRM features, Dynamics 365, Mobile, Unified User Interface

New Mobile Experience & Unified Interface for Dynamics 365

This is my fourth blog relating to new features with the Spring Release of Dynamics 365 (July 2017).

My previous blogs can be found here:

Please note any pictures are taken from the Dynamics 365 Preview Executive Briefing which can be found at the following link (by CRM Innovation). All information contained in this blog is a summary of the Mobile Experience presentation on the first (of three) days of the briefing – there are still a lot of unknowns at this point so please bear with me!

This blog follows on nicely from Blog 2 as the Mobile App is based on the new Unified Interface

Dynamics 365 – A mobile history of time

The Mobile App for Dynamics CRM has come along way since 2012; previously – Dynamics CRM 2011 only had the Mobile Express forms for Mobiles/Tablets which would eventually be replaced with the Dynamics 365 for Phones/Mobile that we use today. There are third party add-on products such as Recsco or CWR (which has now been acquired by Resco) which were primarily chosen (at additional cost) for mobile access to Dynamics CRM data.

Mobile Express

The Mobile Express Client provided by Microsoft for Dynamics CRM allowed licensed users to access their Dynamics CRM data on the move.  To set up the Entities for Mobile Express use – the Mobile Express forms would have to be customized (separately to the main forms) and you where generally limited to what you could achieve on them:

  • Read Only/Create/Edit records
  • Few buttons (Create/Edit/Delete/Save) with no ribbon
  • All Views where shown (but just the first two columns of each View)
  • No JS/Web resources on forms
  • Cannot execute On Demand Workflows or Dialogues
  • No Offline availability
  • No filtering
  • Poor Lookup functionality
  • No Dedicated App – just a different page would be displayed on the devices browser (

Dedicated Apps for Phones/Tablet


Microsoft finally announced dedicated Mobile Apps with the release of Microsoft Dynamics CRM 2013. There were separate apps for the following device types:

  • iOS
  • Android
  • Windows 8.0/8.1

If you had Dynamics CRM online or an IFD configuration – then you could use the Apps.

The Apps provided a more streamlined way for Users to view, edit and create new data in Dynamics CRM. They could look at the Sales Dashboard and interact with the Business Process Flows on the Case/Opportunity and Custom entities.

The early version of the MOCA framework appears here and the development principle was coined:

Design once and deploy across clients.

The introduction of the Tablet/Phone Forms was separated out from the layout of the Web Client Forms by re-rendering Form components for a Mobile device based on a set layout.

New functionality was added to the Mobile App:

  • JavaScript and Business Rules could be executed Client side locally on the device
  • Business Process Flows could be progressed
  • Views could be shown (with more than two columns
  • Charts could be displayed
  • Lookups could search for records

There were how ever some limitations imposed (some of which still exist today)

  • Form Controls where limited to 5 tabs (or 75 fields and 10 lists). This limit includes hidden fields.
  • Activity Feeds (Social Pane) and Yammer were not supported
  • No true Offline Capability (just cached data)

The layout for the Tablet app was defined and separated from the updated Form layouts in the web client.


Today – Dynamics 365

The Dynamics 365 Apps (Phone and Tablet) have been enhanced with CRM 2015 and CRM 2016 and now offer Offline capabilities with Mobile Offline Synchronization Profiles – but this needs to be enabled by a system administrator! Otherwise – you have Offline drafts.

With the new Apps – you can now use Dynamics 365 exclusively from these Apps as they are feature rich, and in some case provide enhanced functionality over the web client (like Task Flows and Mobile only Controls (i.e. Scan Barcodes or Form Controls)


There is great integration with the other Office 365 Apps – for example:

  • You generate a Word (or Excel) Document Template from within the D365 App for Phone
  • Open it in the App version of Word (or Excel)
  • Make changes to it, Save it to SharePoint
  • Send it as an Attachment in Outlook (App)
  • Track the Email with the App for Outlook and related it back to the record you generated it from

Over the past 5-6 years, Microsoft has slowly improved the Mobile App into a very productive tool which could ultimately be used by a set of Users instead of the Web Client.

Dynamics 365 – Spring Release, the new Mobile Experience

With the Spring Release – the Unified Interface was announced with the true aim of providing a common platform to deploy a single set of customisations across multiple devices at the same time.

A major part of the Unified Interface is the inclusion of the Dynamics 365 Mobile Apps for Phone and Tablets.


It has been built with Accessibility in mind from the ground up – meaning multiple devices can access the same interface. Also – with the Phone App, you will now be able to swipe Right-to-Left which was commonly highlighted!


Microsoft has target productivity features to make the experience on the device more delightful.


Dashboards have received an overhaul on mobile devices,

  • You now have pinch to zoom charts
  • Touch Tooltip
  • Charts and Views are combined into a section with new additional chart types
  • Interactive Dashboards (from Interactive Service Hub) will now be available


Activity Timeline

The Activity Timeline replaces the Social Pane (from the Web Client) in the Unified Interface – and this will be available on the Mobile Apps also.


Business Process/Task Flows

Business Process Flows have been improved drastically (I will be writing a blog on the improvements in time – execute MS Flows?!) and the look and feel on the Unified Interface has changed with a linear stage view.


Optimized Navigation and search

One of the main draw backs of the Dynamics 365 App for Phone/Tablet was the way the Navigation was not consistent with the Sitemap defined in the Web Client. Now the Modular Apps you can create in Dynamics 365 are now available in the Unified Interface and Mobile Apps with FULL Sitemap now available.


You also have the Quick Navigation bar and access to favorites and recent items like in the Web Client. This should hopefully save you some time navigating through Views to find your last opened Opportunity or Case!

Tabs are now stacked side by side (Tabbed navigation) – hooray for swipe Right to Left support (RTL)! Quick View Forms and Card Forms are now available.


There is also a Birds eye view (known as Semantic View) allowing you visually see the Tabs and Sections; this allows you to jump to the Tab or Section easier without having to Tab/Scroll though.

Relevance Search is enabled in the Unified Interface and extensive filtering (i.e. Visual Filters) are available also.

Device Integration

Accessing the devices hardware like the Camera and Microphone are already present – but with the new capabilities in the Activity Timeline (you can create Notes and Attachments) – you can now capture location information at the point of capture!

Enhancements to Mobile Offline

This deserves its own blog – as the Azure layer will take some explaining; there is now added support for Create/Update and Deletes to your Dynamics 365 data!

Extension to existing functionality

Whilst there are many new areas of functionality – the Product Team have done an excellent job at enhancing the existing functionality:

  • Relationship Assistance
  • Document Interaction and suggestions (boost up with Azure ML)
  • Office 365 Integration (i.e. with the other device apps)
  • Efficient Metadata Synchronisation for better performance
  • Upgrades to Apps/Customisations

Custom Controls?

Microsoft have added the ability to allow you create your own Custom Controls (rich visualizations). More to come on this as it will be a separate preview and I cannot speculate anymore on this!


The Unified Interface will certainly change the way the Dynamics 365 App for Phones and Tablets will be used moving forward – perhaps we can soon start to think about the scenario where the Web Client is redundant for everything except customisation! I will be writing about the Mobile Offline capabilities next – but this will have to wait until next week as I am having a short break away with my family this weekend!

Thanks for reading,


CRM, CRM features, Dynamics 365, Mobile, Unified User Interface

Activity Timelines in Dynamics 365

This is my third blog relating to new features with the Spring Release of Dynamics 365 (July 2017).

My previous blogs can be found here:

Please note any pictures are taken from the Dynamics 365 Preview Executive Briefing which can be found at the following link (by CRM Innovation). All information contained in this blog is a summary of the Activity Timeline presentation on the first (of three) days of the briefing – there are still a lot of unknowns at this point so please bear with me!

Activities in CRM


Activities play an important role in providing key information to some or all Users who interact with a particular set of records in your CRM system – after all, CRM stands for Customer Relationship Management. Part of managing your customer relationships is being able see all interactions/communications with your customers in a singular view.

Activities from a Sales perspective:

  • This could be Emailing out a Quote to a customer regarding your Opportunity with them
  • Nurturing your potential Leads by providing additional information with a Phone Call or Sales Meetings
  • Setting up reminders to chase your finance team to see if the Account is on credit hold or not.

Activities from a Customer Service perspective:

  • Sending out automated Email notifications to your customers about the progress of their support ticket
  • Providing Phone call support to your customer as you walk them through a potential resolution to their issue.

Recording Activities in CRM

All this information is can be tracked in Dynamics 365 as Activity records, which can then be related to key records in the system (with Set Regarding). For example – the Email notification would be related to the Case (Ticket) and visible from the Case record.

Tracking of these Activities records (creating a copy in CRM) can be achieved via Outlook by one of two ways:

Collaboration in CRM – Activity Feeds

Collaboration between Users is crucial in successful organisations – recording the collaboration or providing new ways to collaborate is even better – especially from a CRM perspective as you can ask questions to other Users who may be able to respond to a wide audience or in the context of a record.


Activity Feeds were introduced back in the early days of CRM 2011 (roll up 4 or 5) as a separate managed solution (and integrated into product at a later date) – this allowed Users to send messages (in CRM) to each other directly from the context of a record (for example the picture above shows a post on the Account Wall).

With Activity Feeds you can:

  • Follow Records
  • Record Manual or Automated Posts
  • Comment
  • Like/Unlike Actions

The following blogs provide a good overview on Activity Feeds:

The rise of the Social Pain (Pane)

CRM 2011 UR12 (or the Polaris release) introduced the Social Pane to the CRM community as part introducing a more social concept to CRM.

It was initially well Microsoft received and provided a much need upgrade to viewing the following types of records in a singular view:

  • Activities (combined list with the possibility of interacting with them)
  • Notes (new way to view and create and attach new Notes to the record)
  • Posts (if enabled)

As it currently stands, the Social Pane looks like this:


The upgrade to Dynamics 365 has actually caused some graphical problems – increasing the spacing between the “Add Activity “options (Add Phone Call              Add Task            ….).


The Social Pane allows users to interact or complete simple actions with Activities individually (like completing the Activity) without having to open the record itself – effectively an in-line edit.


Users can switch between the three different (4 with KB articles on a Case) areas of information quickly on the same area on the form.


Room for improvement

You know about the CRM Ideas website don’t you? If not – take a look here because the CRM community provided feedback to the product team.

Some of the most requested functionality/improvements to the Social Pane are:

  • Sorting Order of records displayed in the Activity View
  • Customizing the fields displayed (show created on)
  • Changing the filters (remove custom activities)

Microsoft knew that they needed to improve the Social Pane, and here is the answer.

Introducing the Activity Timeline

Microsoft have announced the Unified Interface – one of the standout features of this is the new activity Timeline Control (Social Pane 2.0).


That looks like the Social Pane?

Yes – it does, but it has been redesigned from the ground up and has the standout points:

  1. Combined single view of:
    • Activities (and custom Activities)
    • Notes
    • Posts
  2. Replaces the Social Pane from the legacy web client and Timeline Control on Interactive Service Hub (ISH)
  3. Available on Mobile and browser client and dashboards!

Unified Interface Only

This is only available on the Unified Interface and not the Web Client – although the Web Client has had a refresh and the Social Pane is still included in that refresh (i.e. clearer tabs)4

What is new with the Timeline?


Firstly – when you navigate to a record enabled for Activities (like an Opportunity or Case) you will have new filtering capabilities (i.e. Text or Visual) to filter down all the records displayed in the Timeline. Here we can see the Timeline has been filtered to show Activities and the the 1 Closed Activity:


Extending Inline Actions

The quick actions that you can take on Activity records has been extended to allow you to choose between:

  • Closing (Mark Complete) the Activity
  • Add to Queue
  • Open Entity Record
  • Assign the records (cool if I want to create a task and assign the task to a different User)
  • Delete the record

Who needs a Ribbon to carry out these actions?


View Attachments

Microsoft has added the ability to view all attachments (including Email Attachments) and download them, inline, without opening the record!

So a customer has requested that you read the document attached to the Email they sent you, these are the steps you would have to take currently in Dynamics 365:

  • Open the Email record
  • Find the Attachment
  • Open the Attachment
  • Download the Attachment to your computer
  • Open the Attachment

It will also open the correct Office product (like Word) if it detects the correctly associated file type if the attachment is clicked. #ProductivityIncrease


What you missed?

Your first action when opening records is to view what has changed since last time and would probably involve looking at the recent Activities.

Now Dynamics 365 will record the time you last accessed the record and display a summary (filter) allowing you to see what Activities/Posts/Notes have been recorded since then.


Timeline with the Mobile App

Device Hardware

If you are using the Timeline Control on the Mobile App – you will be able to interface with your Phones Camera/Microphone to capture Videos, Pictures and Audio recording automatically and save those as Attachments with Dynamics 365 (make sure you start considering to manage online storage here!).


Activity Feeds

Activity Feeds (Posts) will now work in the Mobile Client (in the Unified Interface). These were previously not available.


Configuration – Wait there is more?

Microsoft have listened – they have also included configuration options for the Timeline control providing customisation possibilities for what used to be a hard-coded approach!

Module Configuration

You can now specify what appears in Timeline by Module Type (Activities, Notes and Posts). If you do not use Notes, hide them!


Activity Filter

Do you use custom Activity Types (i.e. Portal Messages) and do not want these showing on your Account Timeline? Filter them!

Say what now?!

You can also sort the Timeline by different fields (i.e. Last Updated or Created On etc.which was introduced with 8.2)


Activity Card Forms

You can now choose which forms display (and type of forms to use) for each different Activity Type.

  • Decide whether to create records using the Quick Create or Default Forms
  • Display Activities using a Card Form
  • Choose which Card Form to use on an Activity by Activity basis


Timelines on Dashboards

New option for creating a Timeline Control on a Dashboard – this is a logical replacement for the Activity Wall Web Resource (currently available in the Web Client).


There are several limitations with the Timeline Control for Dashboards – which should be immediately noted so you can plan for them:

  • This will not automatically replace the existing Activity Wall and will need to be built to replace it.
  • The existing Activity Wall web resource will not render in the new Unified Interface
  • Vice Versa – the new Timeline Control will not render in the Web Client
  • Only shows Activities and Posts

Community Driven

WOW – Timelines look impressive in my opinion, they are a much welcome change to the way we currently interact with Activities in general and will hopefully provide an easier experience for all. But – this is all because of you, the CRM community.

The preview briefing want to emphasize the importance the CRM Community played here in driving the functionality provided. So, thank you everyone!

The following slide shows which Feedback has driven the development of Timeline. This shows that most of the feedback originated from the Idea Site.


If you still think there is room for improvement – then raise an idea! What is the worst that can happen, hey?


There is a lot coming with the new Unified Interface, and whilst the Timeline feature is a small portion of this new functionality – this has the potential (in my eyes) for one of the greatest impacts to the User Experience across each device. I am thoroughly excited with what is to come in the next release of Dynamics 365 – yet there is still so much to learn.

Thanks for reading,


CRM, CRM features, Dynamics 365, Mobile, Unified User Interface

Unified Interface – Dynamics 365

This is my second blog relating to new features with the Spring Release of Dynamics 365 (July 2017).

Please note any pictures are taken from the Dynamics 365 Preview Executive Briefing which can be found at the following link (by CRM Innovation). All information contained in this blog is a summary of two presentations across the three days of the briefing – there is still a lot of unknowns at this point so please bear with me!

Accessing Dynamics 365 – the current Interfaces

Dynamics 365 as we currently know it – Microsoft allows us to access our Dynamics 365 data via the following (out of the box) methods:

Extending your implementation within the Microsoft Stack, Microsoft provides the following options:

  • PowerBI – for powerful Reporting capabilities and new ways to visualise your Dynamics 365 Data
  • PowerApps – Easily build and deploy, small cost – large scale no-code approach based Apps
  • Dynamics 365 Portals – Formally ADX Portals
  • Unified Service Desk – .Net windows application which can integrate a wide array of Applications for Customer Service Users in a Unified Interface.

Current issues

When designing and building Dynamics 365 solutions for a customer, system customisers need to consider impact each customisation change will have on the various methods of interfacing with Dynamics 365. For example, one of the main considerations is designing forms where Mobile Form limitations exist.


When adding a new Field to a Tab on the Contact entity (for example) – whilst we do not need to worry about how many Fields or Tabs there are on the Form or where they are located when Users access D365 through the Web Client, we are however constrained to the number of Fields and Tabs that can be displayed on the Phone or Tablet apps:

  • 5 Tabs OR
  • 75 Fields and 10 Lists

So anything located in the sixth Tab or the 76th Field will not be shown on the Mobile App and if Client Side automation (such as JavaScript) executes/requires that field; then an error may be shown.

Extending CRM Forms is a common scenario using JavaScript or Web-resources/i-Frames, sometimes these are not always supported on Mobile devices and special functions are needed to stop them from running on the Tablet or Phone (getClient() or when the client is Offline).

Layouts are another issue – with the Web Client, you  are allowed to define a Tab with 1-3 Sections with no clear Headings existing; whereas the Tabs on the Mobile device will only have a single Tab layout which stacks all sections (inside a Tab) on top of each other.

Web Client issues

Microsoft highlighted the top customer feedback from the CRM community regarding the current design and state of the Web Client as it exists today. This is a mismatch of the old style V5 (CRM 2011 forms) and the 2013+ forms. The feedback is as follows:

  1. Too much White space on the forms
  2. No text wrapping – so it was often hard to read the full label or field value
  3. Header Text is cut in both directions
  4. Non-intuitive input controls/tabs – the social pane tabs where hard to identify
  5. Missing a Tab/Visual Hierarchy (unlike the 2011 Tab tree hierarchy)
  6. Inconsistent spacing between Columns and Column Spacing – Tabs or sections where all different spacing which created an ugly look to them.


The Accessibility vision

The Spring Release Briefing contained a quote from Satya Nadella (from the Microsoft Shareholders Meeting 2017) stating:

We will focus on designing and building products that our customers love and that are accessible to everyone and built for each of us

The Microsoft Dynamics 365 product team has taken this  vision and created the Unified Interface which essentially is a Common UI across platforms and devices.

Accessible Unified interface

Microsoft have developed the Unified Interface which essentially will be the same architecture under the hood for the following interface and will provide the same experience, with Mobile Offline and faster synchronization when initially connecting to Dynamics 365:

  • Tablet/Phone Client
  • Mobile Web Client
  • App for Outlook

The Unified Interface provides a Responsive UI – which can re-scale/resize automatically adapting to device screens across the different form

It will deliver common functionality between platforms – for example Controls, styles themes. System designers will only need to customise once, and deploy on all devices.

Web Client Refresh

The Web Client has also had an overhaul which provides a cleaner look and feel to the current layout.


Microsoft have provided the following changes with this refresh:

  • Uniformity – with font standardization across all areas of the form (no more Times New Roman popping up everywhere!) for consistency
  • Reduction in white space across the form – in-conjunction with Borders
  • Allowed for text wrapping – especially with long Field/Section labels or values (can be turned off at system level.
  • Implemented the ability for themes (i.e.Headers or Section Headers) and theme the Sub-grid Headers with different colour based on the record type.
  • Empty States in empty containers (like in the Social Pane below)


To truly appreciate the new look and feel of the forms – I highly recommend you register and watch the Preview videos (link at top of page); they say “a picture speaks a thousand words” – a video showing a responsive UI is a completely different story.


There is still a lot of information we are missing and do not yet know about the new Unified Interface, this blog was written using only the preview demo and slides we have seen. So please, watch this space over the next few months as more details arise regarding this new UI/functionality.

Thanks for reading!


App for Outlook, CRM, CRM features, Dynamics 365

(RIP) Microsoft Dynamics Client for Outlook (CRM/365)

This is a clone of my original article from LinkedIn which can be found here and grammar corrected. I have added this article here as to collate all blog posts I write in relation to the D365 Spring Release as stated in my later blog.

Next Dynamics 365 Release Update

Over the last few days, Microsoft announced their latest update to Dynamics 365 – The Microsoft Dynamics July 2017 Update (spring release in summer!). To say this is a small minor update would be a big understatement, this is probably the biggest update that Microsoft have ever undertaken since Dynamics CRM v4.0.

Pierre Huslebus tweeted:

After working with #msdyn365 since 2002 v 1.0 this is by far the biggest update we have ever seen. So many #GameChangers#MicDrop

Dynamics 365 MVP Jukka Niiranen collated tweets across 3 Storify boards (1 for each day) which the CRM community shared for others too see on Twitter (thanks again Jukka!).

I am sure more and more blogs will posted with various CRM community members over the next few weeks detailing an overview or focusing on specific areas of new functionality that will be released. Whilst there are so many new pieces of functionality I would like to blog about, I will focus on one item I have taken immediate note of – an announcement which may slip under the radar for most:

Deprecation of legacy Microsoft Office components

The deprecation announcement includes:

  1. Outlook Client – Which includes Outlook Offline and Online Sync (Finally)
  2. SharePoint List Component – (nothing new here – already announced before)
  3. Mail Merge Word Addin (I also assume this will apply to not being able to download and use Export to Excel: Dynamic Worksheets as this requires the Outlook Client)

Back in March – Dynamics 365 MVP Steve Mordue wrote an excellent blog on the why the Outlook Client for Dynamics 365 should be deprecated; yesterday his wish came true!

Email Router/Office 2010 Deprecation

Microsoft have previously announced that the Email Router has been deprecated and so had support for Office 2010, it was only a matter of time before the last client based email synchronization method with the Outlook Client deprecation announcement.

What does deprecated mean?

Deprecated means that Microsoft will remove support for this product some time after the Dynamics 365 July 2017 release.

This does not mean it will immediately stop working (unless this is fully dependent on the 2011 endpoint which will also be removed) and there will be some time to allow Organisations to switch to the new App for Outlook.

It is worth also noting that you obliged to apply at least 1 major update per year with Dynamics 365 online’s update policy – so if you have just upgraded to Dynamics 365 Online – you will still have about 1 year to consider your options and test any new functionality/changes.

App for Outlook – preparing for the Cloud

Over the last few releases – Microsoft has slowly but surely adding support for the various Server Side Synchronization combinations which the App for Outlook requires and Users will need to be running at least Exchange 2013+ with Office 2013+:

  • CRM Online – Exchange Online
  • CRM Online – Exchange On-Premise (most recently added)
  • CRM On-Premise – Exchange On-Premise
  • CRM On-Premise – Exchange Online

The App for Outlook

Companies will need to start thinking about looking at the new Dynamics 365 App for Outlook – the cloud based Microsoft Exchange Addin (which also will gain some vast improvements in the next release).

There is no client installation (I hear Consultants/support teams screaming with happiness) as it is provisioned through Exchange as an Third Party Addin at the server level. This also allows it not to be device specific (i.e. just Windows OS with Office installed)

This allows you to:

  • Track Emails (and Set Regarding) and view related record information
  • Track Appointments (and Set Regarding) and view related record information
  • Track Contacts and link them to Accounts
  • Create Tasks/Phone calls*
  • Use on multiple devices – i.e. Outlook, Outlook Web App, Phones (iOS, Android and Windows using the Outlook Device specific app) and Outlook for Mac

*Tracking functionality not currently available for Tasks and Phone calls

There are some technical requirements/limitations to the App from a Software point of view.

Will I loose Offline Capabilities?

The Outlook client as the option of an Offline mode – which basic installs a local SQL database and synchronised your Dynamics 365 data so you can work offline when you loose an internet connection. So the initial answer is – yes, if you have enabled this.

The App for Outlook is currently used in an “Always Connected” instance – meaning that there needs to be a constant active connection to the Dynamics 365 server (i.e. Online requires an internet connection.).

There are workarounds to Offline

The Dynamics 365 for Phones/Tablets App (remember you can install the tablet version on your Windows PC through the Windows Store) has Mobile Offline Synchronization capabilities. These apps provide another way of accessing your Dynamics 365 data, formatted to the display of your device. In my opinion – this is a better way of accessing your data than through the clunky interface of Outlook web page rendering.

Preparation for the App for Outlook

Whilst a lot of Dynamics CRM/365 customers may be shocked at this path Microsoft has now laid out, they will need to be considering the impacts to their organisations from a business and technical point of view and start preparing to make the switch. Some questions/items to consider:

  • Switching/Testing Server Side Synchronization for each Mailbox (incoming Emails, outgoing Emails and Activities, Contacts and Tasks).
  • What is your Microsoft Exchange version – will this need to be upgraded? (if running 2010 – you need to be at least on 2013).
  • Which Microsoft Office versions are installed on Users machines: Office 2013 is a minimum (anyone running earlier versions cannot use the App).
  • How will you uninstall the Outlook client across each Users machine?
  • Do your mobile devices run the Outlook App?

The good news

Support Teams and Implementation Consultants (and even infrastructure teams) will be rejoicing at the news – the Outlook Client has always caused a fair amount of pain over the years. It has been unstable – memory leaking (left, right and center), synchronizing/network/firewall issues where common place and was very costly to support (from a resource perspective). So over a period of time – the (hidden) cost of the Outlook Client will become more noticeable (absent) as the number of support issues that arise (where implemented) decrease drastically!

Final thoughts

As a Technology consultant, I am always trying to keep up to date with the latest technology – but also be aware of the changes and impacts to existing organisations/customers that are using soon-to-be obsolete technology. This is a very exciting release of Dynamics 365 and I look forward to learning (and reading) other community content about the latest release.

Thanks for reading.


CRM, CRM features, Dynamics 365

Dynamics 365 – Multi Select Option Sets!

Spring Release 2017 – July is Summer right?

Microsoft announced the next release of Dynamics 365 (D365) – the July 2017 Spring Release last week (20-22 June) with the Dynamics 365 Preview Executive Briefing; the unedited content will soon be uploaded to the Dynamics Learning Portal.  All photos have been taken from this Preview Briefing.

Over the next few weeks, I will be writing a few blogs detailing some of the new functionality that is expected with the Spring Release of D365 release and the impact it may (or may not) have on customers moving forward. I recently wrote an article on LinkedIn relating to the deprecation of the Outlook Client.  I will be bringing that article to this blog to collate all posts together so it is available from a single location.

Community Overviews – Spring Release

Currently – CRM Innovation have hosted unedited links to the Videos (Thank you!):

Dynamics 365 Preview Executive Briefing

There are already some good blogs on the overviews coming with V9.0 which I recommend that all should read:

Community Requests

Microsoft allow members of the CRM (Sorry Dynamics 365) community to post ideas/requests for functionality within the Dynamics 365 application with its new Ideas site. One of the most requested features is “Multi Select Pick-lists” of which the first instance of this request is at nearly 500 votes – combine this with the other duplicate idea threads, this becomes one of the most requested items of functionality for Dynamics 365, ever.

Requested – 5 years ago, I was still a baby consultant!

Option Sets – a brief history

From my knowledge/experience – we (as CRM customisers) have had the functionality of an Option Set from CRM V4.0 (I assume V3 also based on the Idea above).

Whilst Creating an Option Sets are great for restricting values to Users, these were bound to the Entity where these Option Sets where created, if you required the same options on a different Entity, then you would of had to recreate that Option Set on the additional Entity (this concept became known as Local Option Sets in 2011).

This would be pain if you had a Country Option Set on the Contact and Account Entity… and where the concept of a Country Entity may have been a better choice as you could import the Countries as records which could be used instead of an Option Set.

With Dynamics CRM 2011 – Global Option Sets where introduced, this allowed system customisers the ability to re-use Option Sets across different Entities.

Power Objects have a good guide on Global Option Sets.

Flash forward to the present

Currently – out of the box, Dynamics 365 still does not provide Multi-Select Option Sets; the nearest methods (without using 3rd party add-on’s/bespoke customisations) to providing this functionality out of the box is to use:

  • Multiple Boolean fields (where each option is a separate Yes/No field which the user must select a value for)
  • Utilise an N:N relationship (Many to Many) with an Entity (similar to the Country Lookup).

The downside is the User needs to either select multiple field options or relate many “Option” records to the current record (i.e. a Contact record may have many Interests related to their record which would better represented as Multi-Select Option Sets), both instances increase the complexity of the system design and the way the data can be reported on.

“We have listened”

Microsoft have finally announced with the Spring release of Dynamics 365 (link will be added with official MS Announcement) that Multi Select Option Sets will be released for Dynamics 365. Microsoft highlighted the following properties of the Multi Select Option Sets


New Data Type

There will be a new Data Type available when creating Attributes called “MultiSelect OptionSet” which will create a new Attribute with this functionality provided. From an Option Set point of – this will use the Global Option Set functionality allowing you to use your existing Option Set values or create new ones.


These are created and added to Forms and Views like normal Option Sets (local or global). They can also be queried in the same fashion as other fields through the API.

What do they look like?


From a form perspective – they look like a normal Option Set but with a check box next to each option allowing Users to select one or more option values. There is also a Select All check box at the top of the drop down list which will select/deselect All option values.



When looking at view – these new Attributes will display as a semicolon separated list for each returned row.


These columns can also be filtered to show rows matching the criteria applied.


What about Advanced Find Queries?

MultiSelect Option Sets can be also included in Advanced Find – these Attribute Types have 6 operators to choose from:


If a User selects an Equals operator and then selects two options (i.e. Country option list and France and England are chosen) then records where ONLY those two options are chosen will be returned (i.e. records where only France and England have been selected).

Whereas if a User selects the Contain Values operator (i.e. Country option list where Finland and USA are chosen) then all records that contain any of the option values specified will be returned (i.e. all records that contain Finland or USA in the MultiSelect Option Set will show).

Where can I use these?

These new controls will be available on the following:

  • Web Client and new Unified Interface (Mobile as well)
  • Advanced Find and Fetch XML
  • Platform and Client SDK

Can I change my current Option Sets to MultiSelect Option Sets?

Unfortunately No – you will need to recreate these fields as MultiSelect OptionSets and use the same values if the Options are saved to a Global Option Set.


This is a long (and overdue) item of functionality that should be warmly received by the Dynamics 365 (CRM) community. Perhaps this is the first set towards non-code out-of-the-box filtered option sets?

Thanks for reading.



CRM, CRM features, Dynamics 365, Mobile

Factors which can affect Dynamics 365 Performance.

Dynamics 365 for the Mobile Age

In the mobile age, performance and a responsive User Interface in Dynamics 365 are key items when discussing user adoption, Users require access to their data on a multitude of devices and locations around the world (thank you Dynamics 365 Online). Implementations need to be designed to work efficiently on any device that access Dynamics 365. Whilst working on Dynamics CRM projects over the last 6 years or so, and more recently Dynamics 365, the technology surrounding a CRM implementation has grown and so too has the functionality provided with Dynamics 365 compared with Dynamics CRM 2011.

Whilst working on CRM 2011 (at release), Microsoft only supported the following access methods:

  • Internet Explorer
  • Microsoft Dynamics CRM Client for Outlook
  • Basic Mobile Express form (if you were lucky to have IFD implemented, this was your first mobile access to CRM).

System customisers only needed to focus on performance for these types of devices, it was not until CRM 2011 Rollup 12 that additional browser support was introduced.

Microsoft supports access to Dynamics 365 with multiple different browsers and devices through feature rich mobile applications for either iOS, Android and Windows.

Microsoft support access to Dynamics 365 via:

  • Internet Explorer (10 or 11)
  • Google Chrome (Latest release)
  • Firefox (Latest release)
  • Safari on Mac OS X (Latest release on latest OSX release)
  • Native iOS apps for iPad or iPhone
  • Native phone and tablet apps Andriod and Windows Apps
  • Microsoft Dynamics 365 App for Outlook
  • Microsoft Dynamics 365 Client for Outlook
  • Interactive Service Hub (ISH)
  • Unified Service Desk (USD)

My Dynamics 365 is slow

When discussing performance with the customer in the context of Dynamics 365, this is usually because of statements “the system is slow” or “the system freezes when opening a form”  from the end Users.

As a Dynamics 365 consultant, I know that there are a multitude of factors that can be the cause of these types of issues. The problem is identifying which factor is causing the issue; generally this can be down to one of the following:

  • Network Performance (Speed and Response time)
  • Server Performance (Dynamics 365 Server and processes)
  • Client Performance (Desktop/Laptop/Mobile)
  • Dynamics 365 customisation

One of the key factors when a designing Dynamics 365 solution is for the consultant to be aware of the factors and design the solution in such a way it will help prevent or minimise the above factors where possible. Consultants can do this by thinking about the customization they are building or have discussions with the customer about the devices that the end users will be using to access Dynamics 365. If the system is unresponsive for a period of time or takes a while to load a form, this is going to decrease users perception of the application,user adoption will decrease and drive a negative view of the implementation with the customer, so your design is the best place to start.

This blog will provide you with an insight to what I have learnt over the last 6 years or so when designing Dynamics 365 solutions to minimise the impact of Network performance and Page Load times. I will also include a few links to tools that you can use to help diagnose issues with your implementation or references to new functionality to aid with system performance in Dynamics 365.

Network Performance

Microsoft Resource: Verify network capacity and throughput for Dynamics 365 clients

When discussing Network performance with the customer in the context of Dynamics 365, this can usually relates to how fast can affect CRM page loads or the page becomes unresponsive. The two items related to Network performance generally affecting load times are:

  • Latency – Response Times to and from the client and server, generally referred to as a ping measured in milliseconds (ms). This can be affected by other network traffic accessing the same network and the number of server connections.
    Request A needs to travel from client T to target server Z, where the Request will travel through various ISP servers U, V, W X and Y before reaching its destination and a Response is given by the target server Z.

    Microsoft state for Dynamics 365 that a latency of 150 ms or less is the recommended value.

  • Bandwidth – The maximum speed/size of the Network connection (measured in bits/second i.e. 20Mb/s) which data can be transferred across between source and target. If the Network bandwidth is set at 1Gb/s (Gigabit) then it can transfer a 1 GB (GigaByte) file in approximately 7.4-8 seconds. The Upload bandwidth is usually the limiting factor and not the download (as in most scenarios this is a lot bigger than the upload).

    Microsoft state for Dynamics 365 that a bandwidth of 50KBps (400 kbps) or greater is the recommended value.

WiFi networks and 4/3G mobile networks generally have a higher Latency and lower Bandwidth than a wired Ethernet cable connection; I recommend using a wired Ethernet connection over a WiFi connection (where available).

That being said – some Internet connections actually have a higher latency due to the remote location and distance from the ISP server regardless of whether they connect through WiFi/Ethernet or 4/3G.

Identifying Network Performance Issues

As a consultant, usually you can make the recommendation to the customer to use one type of connection over the other (if applicable), but this is usually out of your control. To help identify Network Performance issues – you can run Latency and Speed tests at different points or methods of access on the network.

Speed Test – Bandwidth

For Latency and using the web client, you can use the diagnostics tool to help measure your latency along with some other additional browser tests. Whilst this performs a Bandwidth test, you are better off using a service like typing speed test into Google.


Dynamics 365 Diagnostic Tool – Measure Latency

To access this feature in Dynamics just add the following to the end of your organisation URL:


https://FULL DYN365 URL/tools/diagnostics/diag.aspx


Diag Tool Test

Server Performance

The Microsoft Dynamics 365 server really only implies meanings to On-Premise installations, as you have no control over the hardware specifications with the Online version as Microsoft control this without paying a lot of money like Azure Express Route and more additional premium services (i.e. to be on your own set of dedicated servers in the MS data-center).

I have not worked with On-Premise now for a few years in great honesty, my focus is mainly for Online Deployments so I cannot provide any tips or tricks than the standard Microsoft resources related to the hardware or software recommended requirements for implementing Dynamics 365 (except do not touch the SQL DB!).

But – when designing and building the actual solution, this I can help provide some insight into as this topic encompasses both the online and on premise versions of Dynamics 365.

There are three main items to consider when designing and building Dynamics 365 solutions when discussing Server performance and best practice, which I will discuss separately. These are:

  • The Security Model
  • Plugins and Workflows
  • Data Query Optimisation

The Security Model

When retrieving data – CRM uses its own API to convert client or server-side requests into SQL queries against the back-end SQL database; when a request is made, the first query is made against security access rights that the requesting User has too. In the following example a User tries setting the Parent Account for a particular Contact, the system needs to check whether the User has the Append privilege on the Account and the Append To privilege on the Contact.

Security Roles

The Security Model in Dynamics 365 can be as simple or complex as you want it to be, with different levels for Business Unit hierarchies, Manager or Positional Hierarchy. Users can access Dynamics 365 with Security Roles which they are either:

  • Assigned to (via the User record)
  • Inherited From (Teams they are Member of)
  • Record access which are directly or indirectly shared with them

SecurityRoleSecurity Roles in Dynamics 365 are additive and the least restrictive permission wins. To query the Security Roles of each User, Dynamics 365 will query the Roles through multiple layers to return the permissions for what they are allowed to see from an interface perspective and from a data (records) perspective. This order is the following :

  1. User Security Roles and privileges
  2. Teams Security Roles and privileges (and the Users membership of those Teams)
  3. User’s Business Unit, and their Teams’ Business Units (for Teams that have Roles with access level of Business Unit or Parent: Child Business Unit)
  4. Records explicitly or implicitly shared with User, or User’s Teams (Access Teams)

So from a record perspective – if a User has User/Team read access to an Account that is Owner by someone else in an Access Team they are a member of, this query will take a lot longer to retrieve than an Account owned by them as their own security role would allow them to see the record.

To assist query times, Dynamics 365 does cache some of the access information (i.e. whom has which Security Role and Owner Team membership) to speed up the query as the information exists – but items like membership to Access Teams is not cached and is ultimately slower to query, and any records displayed to the User will take longer to return data.

My recommendation is to keep security to a minimum where you can, unless there is a business case/requirement that requires that type of data (or functionality) to be restricted to certain Users (for example Deletion rights to a specific entity is restricted to Data Admins). Performance impact will be negligible for solutions where Access is the least restrictive.

Plugins and Workflows

In the Microsoft Dynamics CRM 2011 days, a lot of the deployments where On Premise deployments, Workflows where only Asynchronous and bespoke plugins and JavaScript where your best and worst friends where business requirements could not be met using out of the box functionality. The potential for bad code (from a performance perspective) was ever so much more present back then, different developers has different coding styles and there were always more than one way to meet a requirement through code.

Plugins could some time take a while to execute depending on the complexity and the queries/actions they undertook, Workflows could be stuck in an infinite loop or have multiple sat in waiting state – until the action/date was reached; each of these could would have a negative impact on the Server.

CRM 2013 to Dynamics 365

Microsoft have introduced new functionality with each version of CRM since the 2013 release, this release brought in:


The aim is to provide system customisers with the ability to meet greater or more complex requirements whilst using the out of the box functionality.

Business Rules and Business Process Flows aim to break down the dependency of using client side JavaScript and guide the Users down a correct path to enter data. Synchronous Workflows removed the full dependency on writing plugins to meet requirements as the Workflow would execute is the same manner as a plugin. These pieces of functionality would reduce the additional code overhead on the server as no additional code would be required as the code would effectively be written in a supported and consistent way by CRM.

I recommend using out of the box Dynamics 365 where you can – a good consultant, developer or architect will know when a requirement cannot be met and will require bespoke automation to be written. Out of the box provides value to the customer regarding the solution; they should not be paying for your time to re-write the functionality if it can be met using out of the box functionality (say a Synchronous Workflow over a Plugin). They should be paying you utilise and configure the tools to meet their requirements. Why re-invent the wheel – it creates an administrative overhead in maintaining the code for future releases where Microsoft will support any functionality out of the box for future releases.


If you are using Auditing in the system – do you need to Audit the following?

  • User Login Access
  • Every Entity
  • Every Field (for each Audit Enabled Entity)

Only Audit what you explicitly need to Audit, as creating the audit records may not have an immediate performance hit, over time the system will slow returning all the audited data over a period of time when viewing the Audit History.

Data Query Operations

Microsoft ResourceAnalyze and improve data query performance

For each Entity in Dynamics 365, certain queries could take a long time to retrieve data or perform actions (i.e. the standard CRUD operations – Create, Read, Update and Delete) . Microsoft defines a long running query as a query that takes three seconds or longer to complete. Typical examples of a component that can have a long running query is a plug-in with custom Fetch-XML or a sub-grid or view.

With Dynamics 365/CRM 2016 Update 1, System admins can add optimisations which aim to help reduce the amount of time the long running query takes to load. From a database perspective, optimisations added through the front end add one or more Microsoft SQL Server indexes. This is a new item of functionality which previously required a support ticket with Microsoft Support to identify the long running queries and to be able to create indexes. I have not yet used this piece of functionality – but I will be investigating over the next few months.

Client Performance (Desktop/Laptop/Mobile)

The Clients Machine

Hardware and software requirements are the two important items when considering the clients machines that are used to access Dynamics 365 via the Web Client, the following considerations should also be considered for the Outlook Client except for the Browser Items as Outlook uses IE as a rendering engine. The following are my main recommendations to get the best performance from using the Outlook or Web client; these recommendations relate to a Windows PC only such as a desktop, laptop or surface.

Windows Hardware requirements

The following items can have a massive impact on the Page Load times from a hardware perspective:

  • Processor – 4/8 cores (The faster the processor/number of cores, the faster the page can render on the screen)
  • Ram – 8GB (the more the better and not using the Hard Drive for virtual memory)
  • Solid State Drive (generally Windows/OS’s run faster than on a mechanical hard drive)
  • Network Connection – Ethernet Cable Connection over a WiFi or 3G/4G signal (this will help with both greater bandwidth and reduced latency)
  • Monitor – 1920×1080 (p if Europe!) for best resolution and display as Dynamics 365 dynamically increases or decreases the resolution which can freeze the display as it changes.

Software requirements


  • 64 bit windows – allows for greater memory usage by Internet browsers and not restricting an upper limit of 4GB Ram
  • Windows 10 – this is generally faster and cleaner OS than Windows 7
  • Edge over Chrome/IE/Firefox, Edge is generally a faster browser for rendering and displaying web pages (this is different for System Admins as some functionality still does not work properly in Edge)
  • Latest version of each browser with minimal addins/plugins running
  • Keep Zoom Level at 100/125%
  • Latest windows updates
  • Latest Dynamics 365 Outlook Client updates

Mobile Device requirements

I have worked on many Dynamics CRM projects and throughout the years, Mobile device usage and access to CRM has grown especially with Microsoft encroaching into the CWR/Resco arena with its Mobile Phone and Tablet applications which are now starting to provide fully offline functionality. Providing a recommendation is still quite hard – and it also depends on which OS is used.

I will admit that I use iOS, I use iOS devices day in and day out. I have used Windows and Android also in previous Jobs/personal use and found iOS to be the simplest and the Apps are built work, and the Microsoft Office 365 suite of Apps are second to none. I do however do not have the latest devices; I use a iPhone 6 and an iPad Air (1st) running iOS 10.3 (at time of writing this blog) and they work fine with no crashes. so my recommendations are as follows.


  • Latest iPad or iPhone (as they are generally faster)
  • Latest iOS
  • WiFi over 4G/3G

Windows 10 Mobile

  • Lumia 950/XL
  • Windows 10 Mobile (Insider Preview builds – fast track for latest update)
  • Wifi over 4G/3G
  • Continuum!


  • Latest Samsung/Google Phone
  • More Ram the better
  • Latest Android version (if the phone manufacturer ever releases updates….)
  • Wifi over 4G/3G

Dynamics 365 Customisations – Form Objects


The last of the factors affecting performance can be the actual customisations developed as part of the solution built for the customer. Once a User has clicked on a record to open it, Dynamics 365 will use the available network to make a request for the record and download the form (for the requested entity record) and all child objects and the data contained on the form itself related to the record requested.

So the total request will be influenced by:

  • The available Network Infrastructure (influenced by Latency and Bandwidth)
  • The Servers performance and the structure of the data query
  • The clients machine – making the request and the ability to process the downloaded data
  • The customisations themselves

Performance Centre

Microsoft have released a tool called the Performance Center (available in CRM 2013 and above I believe) which can be accessed in Chrome or IE (I find this works better than the original combination) by pressing the following key combination at the same time:


The tool allows you to visual all of the form components loading with their associated loading times. It will aid you in identifying the components which are having a negative impact on performance because they are taking a long time to load.


There are two very good blogs on how to use the tool here:

Microsoft Resource: Optimize form performance

Form Customisations

From a customisation perspective items below can collectively have a negative effect of Dynamics 365 form is loaded onto the clients device/machine:

  • Form Layouts – such as collapsed tabs etc
  • Client side automation
  • Sub grids
  • Web resources

Form Layouts

When designing CRM Forms (UI) for each entity, a simplistic/minimalist design (less is more) is better than a bloated form with hundreds of fields, the more objects/controls on the form – the larger amount of data that can be displayed which will ultimately take longer to query and download to the clients machine. When designing forms with multiple tabs, consider having the tabs collapsed when a page is loaded (OnLoad) – objects contained in tabs would only be loaded when the tab is expanded (i.e. reducing the initial Page load time). The Tablet client restricts you to a maximum of 5 Tabs and 75 Fields being displayed on the device, with the mobile apps growing and using the same forms as the web client, this is a good design consideration to always take.

If Field Level Security is also implemented, then there are additional levels of access that needs to be queried by CRM and increasing the page load time to be able to query the data contained in those fields which will follow a similar hierarchy to Security Roles assigned/inherited with the User.

My recommendations are:

  • Keep to less than 75 Fields on the form – Use Business Process Flows to facilitate displaying extra fields)
  • Keep to 5 Tabs or Less
  • Collapse all Tabs on form load except the main first Tab
  • If considering Mobile design – keep to a single column format in Tabs and Section
  • Increase your label widths to show all the labels (i.e. 175 or 200 pixels) which will stop Dynamics 365 to stop hiding some or all of the label
  • Read Only controls are quicker at rendering than editable Fields
  • Keep a track of which tabs and fields you have enabled for Mobile externally

Mobile Preview

Use the Mobile Preview (when customising the Form) in the Form Designer – click preview and select the correct mobile screen size. This will start to render the Mobile Client to display the Form you are customising to see what controls will exist on the Mobile form.Mobile Preview

Additional Controls

The following items also add additional overhead to page load times as they are a lot more complicated and require additional data to be downloaded.

  • Social Pane
  • Quick View forms
  • Bing maps
  • Timer controls
  • Charts

So if these items are not being used, just remove them.

Client side automation

Form designs often involve some sort of Visibility display logic (i.e. show Field Y if Field X contains a value); this used to be controlled through JavaScript only – and more recently with Business Rules (and also Business Process Flows!).

JavaScript can extend the Client Side automation quite significantly and can perform simple or complex CRUD operations if need be. The more code you add, the CRM Form will load any JavaScript and also perform any functions using the OnLoad event. Once the JavaScript has loaded, CRM will then load and execute any Business Rules too!

Additionally – any unsupported customisations (mainly unsupported JS running on the form or interacting with the DOM) can negatively impact Page Load times and are not recommended.

My main recommendations are to keep JavaScript to a minimum if not required, could these activities be catered for using Workflows and Business Rules or Business Process Flows. If using a lot of JavaScript because of the complicated requirements – keep the number of JavaScript libraries to a minimum and have 1 big library in your form event libraries.

Microsoft have recently announced the deprecation of the old 2011 end point and this will be removed after version 9.0 Important Changes – here, the older SOAP endpoint is being replaced with a faster and more efficient REST API (also known as the Web API); so when writing form scripts, utilise the new end point!

Mobile Scripts


Clients who want to use the new Offline capabilities with the Mobile Apps, think about your JavaScript and decide if they are required to operate on the Mobile Device, as some of the actions may fail if there is no active connection to the Dynamics 365 server to query data. You can now define Scripts that can detect the Offline availability of the Entity and what actions can be performed using the Xrm.Mobile Namespace

Sub grids

Sub grids on forms have a negative affect on the page load time as client will need to display and render additional related data based of the following:

  • Users access through security
  • View filter criteria

The data displayed could also feature lookup fields from other records, and the number of columns should be kept to a maximum of 5/6 before a major negative impact is felt.

When designing forms, Sub grids should be (recommended) placed in a Collapsed Tab by default until they are needed, when the user needs to read/interact with that data then they can expand the appropriate Tab. If the data is not required on the form, then keep access to that information controlled through the navigation related entities area, this will make that data available from the form but not on the form itself. Keep the number of columns to a minimum and preferably use columns which are sorted by an indexed (SQL) field.

Editable Grids

Editable Grids are a new feature of Dynamics 365, and allow users to in-line edit related records from a parent record or list view. The functionality allows greater control of more data from a single location and will automatically add overheads to the network performance requesting more data.

Keeping the number of editable grids to a minimum if the related records displayed in the sub grid are there mainly for reference and should not be edited (I.e. Custom auditing, market sectors etc.)


Web resources

Forms can have Web Resources embedded into them which can be used to display custom content (i.e. images, html pages etc.). These also increase Page Load times – consider putting these into collapsed tabs also and whether they should be rendered on a mobile client or not.

I hope this blog helps a few people with their Dynamics 365 implementations and identifying potential performance issues with your Users.

Thanks for reading,




CRM, CRM features, Data integration

Part 3: Which Data Integration Tool should I use?


In my previous blog I introduced the following topics:

  • Supported and unsupported data import methods
  • Identified two categories for data integration tools:
    • Free
    • Cost-associated tools
  • Examples of the data integration tools available to you

Data Integration Tools

I have previously stated that not each data integration tool can be used for each data integration type. Why is this you ask? To differentiate between the tools I will give a short summary of each tool I have listed previously and highlight which Integration Types the tool can be used for.

Free Tools

Data Import Wizard

The data import can only be used for standard Data Migrations from a single comma-separated values (.csv), XML Spreadsheet 2003 (.xmlss), or text (.txt) source file into CRM. So any data migrations where a legacy system is involved – if you cannot export the data from the source system into one of the above files formats,then this tool will not meet your requirements.

This tool can:

  • Create Data maps which can be reused
  • Can map to parent records using one field only (unique value needed)
  • Can utilise the out of the box duplicate detection rules

The tool has the following additional limitations:

  • Cannot import at a scheduled time
  • Manual executed import
  • Has a row/file size limit in one import operation

Configuration Migration Utility

The data import is generally used to move records from a single source CRM to a target CRM organisation; this is mainly used for moving definition/configuration records where the GUIDS are required to be intact/identical across the source and target CRM organisations. In practice – it is not used as a full on data migration tool (although it could but very tricky and not designed/advised to be used as such) but is used in solution deployments where these records are used in the functionality/solution(s) being deployed.

This tool can:

  • Import Dynamics CRM record data with relationships (assuming parental records are the identical across both systems)
  • Export Dynamics CRM record data with relationships (assuming parental records are the identical across both systems) to keep as a backup or use if restoring an Organisation

The tool has the following additional limitations:

  • Cannot import at a scheduled time
  • No filtering criteria to exclude records – it takes all records for that particular entity and either all or selected attributes
  • Manual executed import
  • Microsoft Dynamics CRM to Microsoft Dynamics CRM only


Manage N:N Relationships

The default out of the box data import wizard can only import records directly and populate N:1 relationships; it cannot handle N:N relationships. The ‘Manage N:N relationships’ plugin which can be installed into the XrmToolbox; this tool can only be used to create associations between two existing records and requires 2 unique values to match to the records (this does not have to be the ID’s). Only .txt or .csv source files may be used and the records must exist in two columns (the tool allows you to choose a separator). Normally, the general use of this plugin is in conjunction with the data import wizard when uploading data from source spreadsheets – and can only be used for Data Migrations.

This tool can:

  • Import Dynamics CRM record associations over N:N relationships (assuming unique values are provided for both associating records)
  • Can do deletions (disassociations’) in bulk – useful for fixing data on an ad hoc basis.
  • Tells you which data rows fail

The tool has the following additional limitations:

  • Cannot import at a scheduled time
  • Can only perform associations
  • Manual executed import
  • Manually create the source file

MSCRM Toolkit

I actually made an error and got slightly confused when referencing this tool – I incorrectly referenced the Data Transporter which is apart of the XrmToolbox – when in actual fact the tool is called (which is apart of the MSCRM Toolkit):

Reference Data Transporter

The Configuration Migration Utility allows users to migrate configuration records between CRM organisations, the Reference Data Transporter goes one step further and allows your to filter the configuration records from CRM and transfer them to your target organisation.

It also allows the records to be synchronised at a set time (i.e. to keep the records in sync); this tool can be used in both Data Migration and Data Integration scenarios. This Tool could additionally be used in basic Data Replication across two Dynamics CRM systems due to its scheduling and filtering (i.e. by last modified on) to update recently changed data.

This tool can:

  • Import Dynamics CRM record data with relationships (assuming parental records are the identical across both systems)
  • Export Dynamics CRM record data with relationships (assuming parental records are the identical across both systems) to keep as a backup or use if restoring an Organisation
  • Synchronise the Dynamics CRM record data at set times across Dynamics CRM Organisations

The tool has the following additional limitations:

  • Microsoft Dynamics CRM to Microsoft Dynamics CRM only

Connector for Microsoft Dynamics

Microsoft provided a free (with valid software assurance) integration tool that would allow a custom integration between Dynamics CRM and one of the Dynamics ERP software systems (such as AX/GP/NAV/SL). The Connector provides an effective integration of Sales Order process originating in Dynamics CRM all the way through to Sales Invoicing in the ERP system.

The Connector for Microsoft Dynamics can be used in both Data Migration and Data integration Scenarios due to its two-way Connectors. Unfortunately – Dynamics CRM 2016 will be the last major Dynamics CRM version the ‘Connector for Microsoft Dynamics’ will Microsoft will support (announcement here) – this is most likely due to the recent announcement of Dynamics 365 and the interoperability framework  of Dynamics NAV 2016+ (i.e. integration with Dynamics CRM will be out of the box).

There was a Dynamics CRM to Dynamics CRM Connector that allows for Integrations between CRM organisations to take place i.e. to keep data in sync. This Tool could be used in basic Data Replication across two Dynamics CRM systems due to its scheduling and filtering (i.e. by last modified on) to update recently changed data.

This tool can:

  • Transfer data to both source and target systems in a unidirectional or bidirectional data integration
  • Can be scheduled to run at set times or on an ad hoc basis
  • Basic Error Level reporting and warning notifications
  • Easy to use interface

The tool has the following additional limitations:

  • Can only transfer records flagged for integration (requires record flagging initially)
  • Can only be used to transfer data between Dynamics CRM and the Dynamics ERP suite (out of the box).

Cost Associated Tools

Third Party Tools

Now I can go on and on about the next two tools – but I will keep it brief; the functionality will be roughly similar across each product and the same could also be said for the other third-party products I have already mentioned as functionality will be similar (except the location of the software).

Scribe Insight

Scribe Insight is the most recognised (and most used from what I can tell) data integration platform out there in the Dynamics community (including AX, NAV, GP etc.); so much so that Microsoft used it to perform their internal migration from CRM 2011 to CRM Online.

This tool can perform Data Migrations and Integrations to integrate/migrate multiple source and multiple target systems at the same time.

Scribe has the following (example) list of data connectors:

  • txt/csv/excel spreadsheets
  • ODBC Conncetions
  • SQL
  • MySQL
  • SalesForce
  • XML

Full list of connections for Scribe Insight here

Scribe Insight can perform Data Replication – but there are not really any default templates for this out of the box with Insight; it would not be hard to create a Data Replication process for the data you wish to replicate.

This tool can:

  • Transfer data to both source and target systems can perform omni-directional data migrations/integration/replications.
  • Can be scheduled to run at set times or on an ad hoc basis
  • Can be triggered by Events (i.e. manual or MSQ driven, file upload etc.)
  • Advanced Error Level reporting and warning notification administration and avanced error handling with Microsoft Message Queues.
  • Easy to use interface
  • Advanced Training material and courses/blogs
  • Full Support with valid Software maintenance
  • Great community to assist with issues

The tool has the following additional limitations:

  • On premise installation and (ideally) requires SQL Database
  • Time to train puts potential users off; people view Scribe as needing to have a “developer” mind (which is not true)
  • Cost to purchase the licenses (you can buy 1 off migration licenses or full software licenses)
  • Connectivity is not as advanced as Scribe Online

Scribe Online

The younger sibling of Scribe Insight – Scribe Online; originally used to perform basic data integrations with which the functionality and features have grown so much over the last few years that it really is a viable alternatice data integration platform to Scribe Insight.

Firstly – it is a cloud based (subscription licensed) iPaas which is accessed via a web browser; it currently is built on a Silverlight UI but is (without breaking any NDA i might have signed up with Scribe over the last few months) being rebuilt to use an HTML 5 interface (known as Scribe v2 – and can only be a good thing).

Scribe Online has a multitude of connectors available to it – full list can be seen here which give (in my opinion) Scribe Online the edge over Scribe Insight, but it also has a CDK which allows ISV’s/Partners to build Connectors for their own products or services which immediately makes Scribe Online more attractive – especially to cloud services like Marketo or SalesForce (and of course Dynamics CRM Online).

Scribe Online advertises itself to being a data integration platform based in the cloud – but it also offers a server called “Replication Services” which allows you to configure source entities for replication to a SQL DB (either on premise or Azure hosted); this is a very powerful and popular product and many customers use this for local SQL reporting and SQL backups. Scribe also offer a PowerBI Solution which is built on top of RS.

This tool can:

  • Transfer data to both source and target systems can perform omni-directional data migrations/integration/replications.
  • Can be scheduled to run at set times or on an ad hoc basis
  • Advanced Error Level reporting and warning notification administration
  • Easy to use graphical interface and very easy to pick
  • Advanced FREE Training material and courses/blogs
  • Full Support with valid Subscripton
  • Great community to assist with issues
  • On Premise and cloud or cloud only platform
  • Advanced Connectivity with the possiblity of building your own Connector
  • API access

The tool has the following additional limitations:

  • Uncertaintity in the product – due to its short life and ofter overlooked by Insight users
  • Cost to purchase the subscription resctricts the number of connections you can run
  • Silverlight only (i.e. IE is needed!)

Web Services and Console Apps

Web services (from an integration perspective) are custom applications designed to allow two or more systems to talk to each other’s API and allow the transfer of data between them. They are bespoke applications that will need to be written by developers who have knowledge (either working or documented) of both API’s and are specifically designed to do one task.

Console Applications are small (and streamlined) programs that are written to carry out a specific tasks – in a data integration environment, they are usually used for simple or complex data processing tasks; these tasks are usually scheduled via Windows Task Scheduler to run out of hours or every hour or so to update data systems (i.e. performing complex calculations and updating the source data set)/

Both these tools are bespoke – so they will be designed and built to meet specific requirements.

Web services are more aimed at Data Integrations where data needs to transfer between one or more target systems to keep them synchonised; they could be used for Data migrations between heavily bespoke systems where third-party tools fall short of connectivity.

Console Applications are designed to perform data processing in an addition to a running data integration integrations.


I have given some points towards the data integration tools available and the data integration types they can be used with with some positives and limitations; the tools are just a sample of all the available tools to use (i.e. additional third-party products or other free tools), I just cannot list them all or give some overview when I have not personally had some involvement with. I hope these blogs help you choose the right tool for the right type of data integration.

Next Blog

In my next blog, I will highlight the main pointers and best practices that I use when undertaking data integration projects.

Thanks for reading! MW

Data integration, Uncategorized

Part 2: Data Integration Tools


In my previous blog – I briefly talked about data and the types of data integration. To recap – the three main types of data integration are:

  • Data Migration
  • Data Integration
  • Data Replication

Data import methods

Data can be imported into CRM via many different ways and either in a supported or an unsupported manner.

Unsupported data import

The main unsupported way some people get data into CRM is by direct database manipulation – Microsoft warns against direct insert/update/deletes directly database by using the phrase “Unsupported operation” ( ) i.e. they will not support your CRM system if you decide to play with the database.

Data imported into CRM via this method would not adhere to any security considerations (such as data restricted access for the users) and would not trigger any business logic (such as plugins, workflows etc.); basically the data skips the entire application layer of CRM.

In CRM Online – the SQL database is not even accessible so you are restricted to using the CRM Web services and this is the recommended approach (and the only approach I will ever use for data import*) for CRM on premise data integrations.

*the only exception maybe when I just need to read data out of CRM as a source data system where no update is needed

Supported data import

So when choosing a data integration tool – you will need to choose a tool that can import data into CRM in a supported manner (i.e. either through the UI or through the CRM API using custom application/web services or third-party data integration tools).

Data Integration Types vs Tools

Initially with CRM Projects choosing the correct Data Integration Tool to meet the Data Integration requirements (as these are not always known at this stage in the project), through the Diagnostics/ Analysis stages of a project the initial requirements will surface and the type of data integration will be known (i.e. Migration, Integration and/or Replication).

There are many data integration tools out there – but not all data integration tools can be used across the different types of data integration. For example, if a data integration tool is built to load data into CRM but not extract it from CRM then the tool is only really useful for data migrations/unidirectional (one-way data transfer) data integrations into CRM.

Data Integration Tools – what are available to me?

Firstly – there are many Data Integration Tools which I currently use to meet the data integration requirements of my customers; primarily these can be split into two high level categories:

  • ‘Free’ Tools
  • Cost-associated Tools (such as bespoke development or third-party data integration Products)

‘Free’ Data Integration Tools

The term ‘Free’ should be used loosely – mainly because they are free for everyone to use, but the customer is ultimately paying for your time (I hope!) to complete the data integration requirement.

There are many free data integration tools out there which can be used to aid you in meeting your data integration requirements; here are a few I used:


Microsoft has released the following tool which are included as part of an Office 365 subscription (and will only apply to CRM Online Organisations) and is currently only in preview in certain geographic locations (so I have not used it yet)

Additionally – Microsoft has released some very interesting tools that can be used as effective data integration tools (subject to cost and licensing over the next coming months):


I will endeavor to explore these tools over the next few months to gain a better understanding of them; undoubtedly some of you will already be familiar with these already!

Cost-associated Tools

Cost associated Tools are data integration tools where this is an initial outlying cost that must be covered to use the tool – such as purchasing a third-party data integration tool or designing and building a custom data integration application (such as a console app, web service, SSIS package etc.) which your company will need to allocate the required resource to build the application.

Third Party Data Integration Tools

As part of my Job function involves Data Integration – I have become certified in both Scribe Insight and Scribe Online which are developed by Scribe Software (I will do a separate blog on these products at a later date describing each product and how they compare against each other).They are my go to Data Integration tools of choice – my biggest challenge of late is deciding which tool to use! (again more of this another day).

  • Scribe Insight is a powerful data integration platform that is provided as an on premise data integration tool
  • Scribe Online is one of the market leading Cloud based data integration platform (or iPaaS – Integration Platform as a Service) which can provide a complete cloud based data integration between cloud data systems (such as CRM Online and SalesForce)

There are other tools out there; I just have not used any really so I cannot comment on their strengths and weaknesses and where they can be used to meet certain requirements as I lack knowledge.

Custom Data Integration Applications

There have been times where the purchase of a data integration tool may not meet the requirements of the type of data integration (such as a web service being called to retrieve data from CRM and transfer it to a target data source) as the data integration tool may be too slow for this type of request. This is where CRM developers are required to build custom applications to act as a data integration tool.

Examples of custom applications are:

  • Web Services – these sit in between two data systems and communicate through each others API’s
  • Console Applications – applications which sit on computer services
  • Plugins, Custom Workflow Activities calling CRM Actions
  • SSIS Jobs/packages

To summarise

In this blog I have identified some of (the many) data integration tools available for you to use (but not told you how to use them – that I will leave up to you); in my next blog – I will highlight the types of data integration and which tools (listed above) can be used to help meet the data integration requirements of your projects.

Thanks for reading! MW

Data integration, Uncategorized

Defining Data Integration Types


Over the next few weeks I will write a series of blogs relating to data (based on my personal experience) – this will involve the following topics (from the outset – I may add more!):

  • Defining Data Integration Types
  • Identifying the correct Data Integration tool for the project
  • How to plan and manage Data Integrations as part of a CRM project (including my best practices)


How many of your CRM projects have the vague Requirement of “Data”? I am willing to bet that 99% of your projects will have at least the basic requirement “Data Integration” such as importing Contacts or Account data at some point in your project (there is always that one customer who wants a vanilla system and will start afresh).

Every CRM project I have worked on in the last three years has involved an element of “data integration” – my role varies from (on a project by project basis and sometimes I perform all three roles in a single project):

  • Solution Architect/Lead Consultant
  • Functional consultant
  • Data Integration Consultant

Whichever role I am involved with in the project – my mind always considers the data requirements, the CRM solution being designed not only needs to match the business requirement and processes of the end-user – but the underlying data model should be designed to allow any historic or integrated data to be mapped correctly and maintain key existing information (such as relationships to other data). This means you need to involve data analysis early on in your project to make sure that the data can be imported into a suitable format.

Data Analysis

Analysis of source data (or data systems) early on will help you identify any potential tables and related attributes (fields and data types) early on in the project that you made need to custom build; it can also aid in mapping this data so you know what to expect further on down the line. The opposite side would allow you to see which areas of CRM have no concept in existing systems (such as Emails or Appointments etc.) and you can eliminate these areas early on.

The main output from data analysis will determine the type of Data Integration required.

Types of Integration?

The term Data Integration is loosely used when a project is incepted – what we need to define when we talk about Data Integration relating to a CRM Project is that we can split this term up into three main types:

  • Data Migration
  • Data Integration
  • Data Replication

Defining the type of Data Integration is key to determining the Data Integration tool we can use.

Data Migration

To put it simply – Data Migration is the process of transferring data from one or more data source systems or storage locations (such as a SQL Database, Spreadsheets or other files types, formats, or IT systems) into a single target data system. Once the data has been transferred from the source system to the target system, the source system is usually archived off and will no longer be used after Go-Live of a CRM project.

Some examples of a data migration:

  • Goldmine to Microsoft Dynamics CRM
  • Microsoft Dynamics CRM 2011 to Microsoft Dynamics CRM Online
  • Excel Spreadsheets to Microsoft Dynamics CRM
  • And So on…


Data Integration

Data Integration is a little more complicated and covers a broader method of data transfer – in its simplest form it might be one of the same scenarios as mentioned in the data migration section but a continuous one-way data flow from the source system to a target system (and the source system is still used). This is known as a Unidirectional Data Integration (One Way Data flow).

Some examples of a Unidirectional Data Integration (One-way data flow):

  • Back office ERP System to Microsoft Dynamics CRM
  • Website Lead Generation Microsoft Dynamics CRM Online
  • Microsoft Dynamics CRM Online to Microsoft Dynamics CRM Online (where development/UAT organisations maintain up to date data for testing and training purposes)


A Bi-directional (two-way data flow) Data Integration can be defined a data transfer between two data systems where data from each system is required to be transferred to each other.

Some examples of a Bi-Directional Data Integration:

  • Back Office ERP to Microsoft Dynamics CRM (and Vice versa)
  • Microsoft Dynamics CRM Online to Microsoft Dynamics CRM Online (where configuration data is kept up to date in all organisations – Dev or UAT and Live)


Omni-Directional Data Integrations

The same as a Bi directional data integration but where data is transferred across more than two data systems.

Some examples of an Omni-Directional Data Integration:

  • Multiple Back Office ERP systems to Microsoft Dynamics CRM to SQL Staging Database to Front End Website Database
  • Microsoft Dynamics CRM Online to Microsoft Dynamics CRM Online (where configuration data is kept up to date in across all organisations – Dev, UAT and Live)


Data Replication

What is Data Replication? Well in the CRM Online world – a customer does not have direct access to the CRM database like an On Premise customer would have access to (because – you know, CRM sits on top of a big shiny SQL DB!) – so this makes writing SQL based reports impossible (restricted to Fetch based XML SSRS reports) or can they effectively control the back up of their live database. So the term Data Replication is the process of making a copy of a target data system either into a replica database or data system. (Such as CRM Online being replicated to a SQL DB for reporting or local backup purposes).


Data Integration Tools

In my next blog – I will discuss the various data integration tools that I have used with my projects and I will mention other tools that I know of; but before we can talk about deciding which data integration tool to use – the type of data integration must be clearly defined as not all data integration tools can be used for each type of data integration.

Thanks for reading! MW