All posts by Ryno

Create auto number field

Creating a auto number field has always been part of a project somewhere along the line and now we can create them using Dynamics 365 SDK without having to write custom plugins.

At the time of writing the post we can only create auto number fields using the SDK and not from the UI but i am positive we will see the feature in the UI in the near future.

Currently supported tokens

  • Static String
  • DATETIME:[format] e.g: yyyyMMddhhmmss
  • SEQNUM:size


The following examples show how to create a new auto-number attribute named new_SerialNumber for a custom entity named new_Widget which will have a value that looks like this: WID-00001-AB7LSFG-20170913070240. Using the Organization service with SDK assemblies CreateAttributeRequest and StringAttributeMetadata classes:


Microsoft Docs used click here


Exporting\Importing Voice of the Customer Surveys

Voice of the Customer for Dynamics 365 is a great enhancement to the Dynamics 365 product, giving you the ability to distribute surveys and store survey responses with in Dynamics 365.

Working in a enterprise environment you will most probably be asked to move your surveys from your QA environment to your Production environment and this is where it gets tricky. In the below steps i explain how i migrated our surveys from one environment to another.

Step 1: Confirm that you have the latest version of VOC installed on your Dynamics 365 instance.

Step 2: Navigate to the Survey that you want to export, and confirm that the survey is published.

Step 3: Navigate to the notes section of your survey and download the Survey *.xml file

Step 4: Open the *.xml file using notepad and copy the content to the clipboard.

Step 5: Navigate to your destination environment where you want to import the survey. Go to Settings -> VOC Settings -> VOC Imports -> Click New – Give the Import a descriptive name and past the *.xml file content into the “Survey Xml to Import” section and Click “Save”

Step 6:  Open the newly imported survey and delete the exciting notes, close the survey and open it again to confirm the notes have been deleted.

Step 7: Publish and Test your imported survey.


Microsoft Dynamics 365 – Change Tracking Solution

Change Tracking Solution

A feature that provides the ability to track the changes on D365 made by System administrators/customizers
The Change Tracking solution helps in tracking down the details of changes on who updated an entity, JavaScript, assemblies and processes along with the time of update. This solution is built on Dynamics 365 and as well works on Dynamics CRM 2016 (Online/ On premises)

Get It Now

Support Ending for Microsoft Dynamics CRM 4.0

Dynamics CRM 4.0 Support

Microsoft Dynamics 4.0 will reach end of extended support on April 10, 2018. If you are using this version, please upgrade to Microsoft Dynamics CRM 2013 or a later version before April 10, 2018 to ensure supportability.

The best way to continue to get full support for Dynamics CRM is to upgrade to the latest versions, now known as Dynamics 365. Click here for information on the latest Dynamics 365 products.

The following resources are available to help you upgrade:

Microsoft Dynamics 365 IT Pro Technical Library
Upgrade CRM 4.0 Organization to CRM 2011
Upgrading from Microsoft Dynamics CRM 2011 & CRM 2013

Microsoft Dynamics 365 (online and on-premises) Update 2.1

Microsoft Dynamics 365 (online) Update 2.1 update is now in progress for Dynamics 365.

This article describes the updates and changes that are included in this update.

This update is available for all languages that are supported by Microsoft Dynamics 365.

Microsoft Dynamics 365 (online and on-premises) Update 2.1 resolves the following issues:

  • “Scheduling Alerts” dialog is displayed without any alerts in non-Internet Explorer browsers.
  •  Activities and Closed Activities Icons not displayed correctly for some entities.
  • AdminOnlyMode check should be bypassed when an application from outside wants to execute a SDK in system user context.
  • Appointment recipients do not receive invitations.
  • Appointments created in Outlook, or the Outlook Web App need to be activated.
  • Audit details lost after switching Case Status transition.
  • Cannot add associated record for N:N Relationships with only Append/Append To permissions.
  • Categorized Search fails with Query Builder Error due to use of lookup entity Attributes in Quick Find view.
  • When a Business Process Flow in the Case Entity is duplicated access to Incident records is broken.
  • Changing owner via workflow also changes Owner in Create Audit Event.
  • Clicking Phone Number link opens Quick Create form.
  • Command Bar in activities tab in social pane not displaying all buttons.
  • Navigating from Contact to Opportunity, and back again hangs with the message “Requesting Data from CRM”.
  • Creating an Appointment from the Social Pane when < symbol is present (Opportunities).
  • Customized Workflow activity will be triggered twice which is designed to be called only once.
  • Deactivate screen with custom Inactive status reasons requires scrolling to choose the option.
  • Editing columns during Advanced Find throws the error (
  • Email body is disabled while using Chrome in Citrix, and Chrome Incognito mode in Windows.
  • Export solution failed in RoutingRuleHandler.ExportWorkflow with Null System.NullReferenceException: Object reference not set to an instance of an object.
  • Export to Dynamic Worksheet doesn’t respect regional settings.
  • Forms no longer underline section headings since Dynamics 365 upgrade.
  • Getting SQL timeout exception when retrieving application metadata.
  • Open in browser generates invalid URL in iOS 10.
  • Last updated field is not shown up under Health box.
  • Lookup is not defaulting.
  • Missing “+” Icon on the Quick View control.
  • Unable to Set Regarding on e-mails when using the Unified Service Desk.
  • The error “Object doesn’t support property or method ‘$find'” occurs when clicking on Results button twice.
  • Organizations upgraded from Microsoft Dynamics CRM 2016 can have a Null BusinessProcessType causing these Business Process Flows to be unusable post upgrade.
  • A Lookup control error occurs when updating appointment created in Outlook.
  • Page keeps loading after clicking Ok on access denied error.
  • Previous connection to mailbox is not closed properly using Hybrid Email Server Profile.
  • The error “unable to connect to Exchange” occurs when attempting to use the CRM App for Outlook in Outlook Web App (OWA).
  • Scheduling Alert occurs without an alert when changing an existing Appointment.
  • Server Side Synchronization required attendees list changes when multiple contacts exist with same email address, or users exist with same email address as contacts.
  • Solution uninstall is not respecting dependency.
  • StatusCode value is displayed as Integer instead of Text for Inactive records on the QuickViewForm.
  • Subgrid for Opportunity doesn’t trigger the Opportunity default Business Process Flow.
  • Subgrid record changes layout of the Form.
  • Sync workflow with System User as primary entity throws error when triggered.
  • SystemUserPrincipals could not repopulate when User is reactivated.
  • Tasks duplicating through Server Side Synchronization after Security Role change.
  • Unable to add Notes to Task After navigating away from Task Form in Dynamics 365 For Sales.
  • Unable to Assign Security Role to Business Process Flow in Dynamics 365 for Sales.
  • Unable to import Excel containing Floating Point Number field data.
  • Unable to populate value on Service field on Service Activity from the Form assistant.
  • Unreadable HTML encode displays in alternate key Selected Attributes list.
  • WebAPI FetchXml query does not return FormattedValues for Link-Entities attributes in Dynamics 365.
  • When hiding the Business Process Flow during onLoad only the first 2 steps are displayed when showing the Business Process Flow.

Microsoft Article

Microsoft Dynamics 365 Developer Toolkit Configuration


“The Developer Toolkit is a set of Microsoft Visual Studio Integration tools, focused on accelerating the development of custom code for Microsoft Dynamics 365(CRM)

Using the toolkit, you can create, develop and deploy CRM plug-ins, custom workflow assemblies and web resources without leaving the Visual Studio environment.”

It has been a while since the last release of the Dynamics CRM Toolkit. With the new Visual Studio toolkit for Dynamics 365 a lot has changed and with extra configuration that needs to be done before you can start using it.


There is not much to installing the toolkit. (make sure all instances of Visual Studio is closed)

  • Run the Installation file.
  • Select the target version of Visual Studio where you want to install the toolkit.
  • Click Install.

Download Dynamics 365 Developer Toolkit

Download Dynamics 365 SDK


  • Extract the Dynamics 365 SDK to your desired local location.
  • Open Visual Studio
  • Click Tools -> Options
  • Expand Dynamics 365 Developer Toolkit and select Tool Paths
  • Set the Plugin Registration tool & SDK Bin path to where you extracted the SDK

  • Click OK

Create Project

  • On the Visual Studio Startup page click New Project
  • Under Templates select Visual C# -> Dynamics 365 -> New Visual Studio Template for Dynamics 365 
  • Click OK
  • Select you Solution Type to Configure
    • Start from CRM : The Solution is already created in CRM
    • New CRM Solution: Create new CRM Solution for this project
  • For this blog I will select Start from CRM
  • Login using your Dynamics 365 Administrator account
  • Select your CRM solution 
  • Select Add New Templates
    • Add  Plugin Project
    • Add Customization Project
    • Add Custom Operation OR Workflow Activities
  • Click Next
  • Assign project names to each selected Template
  • Click Done
  • Your Visual Studio solution is now ready for you to start your development.

Retrieve Unread Mail from Exchange Inbox C#

Below is a example of retrieving all  unread emails from a exchange 2013 mail box using the exchange web services.

Code Snippet

Power BI Data Sources & Prerequisites


Using Power Bi desktop you have a lot of different sources you can pull data from. Below is a list of available data sources for Power BI Desktop.

Data Sources


  • Excel
  • CSV
  • XML
  • JSON
  • Folder
  • SharePoint Folder
  • SQL Server Database
  • Access Database
  • SQL Server Analysis Services Database
  • Oracle Database
  • IBM DB2 Database
  • IBM Informix database (Beta)
  • MySQL Database
  • PostgreSQL Database
  • Sybase Database
  • Teradata Database
  • SAP HANA Database
  • SAP Business Warehouse server
  • Amazon Redshift (Beta)
  • Impala (Beta)
  • Snowflake (Beta)


  • Azure SQL Database
  • Azure SQL Data Warehouse
  • Azure Analysis Services database (Beta)
  • Azure Data Marketplace
  • Azure Blob Storage
  • Azure Table Storage
  • Azure DocumentDB (Beta)
  • Azure Data Lake Store
  • Azure HDInsight
  • Azure HDInsight Spark (Beta)

Online Services

  • Power BI service
  • SharePoint Online List
  • Microsoft Exchange Online
  • Dynamics 365 (online)
  • Dynamics 365 for Financials (Beta)
  • Common Data Service (Beta)
  • Azure Enterprise (Beta)
  • Visual Studio Team Services (Beta)
  • Salesforce Objects
  • Salesforce Reports
  • Google Analytics
  • appFigures (Beta)
  • comScore Digital Analytix (Beta)
  • Facebook
  • GitHub (Beta)
  • Kusto (Beta)
  • MailChimp (Beta)
  • Marketo (Beta)
  • Mixpanel (Beta)
  • Planview Enterprise (Beta)
  • Projectplace (Beta)
  • QuickBooks Online (Beta)
  • Smartsheet
  • SparkPost (Beta)
  • SQL Sentry (Beta)
  • Stripe (Beta)
  • SweetIQ (Beta)
  • Troux (Beta)
  • Twilio (Beta)
  • tyGraph (Beta)
  • Webtrends (Beta)
  • Zendesk (Beta)
  • PowerApps Common Data Service (Beta)
  • Facebook


  • Web
  • SharePoint List
  • OData Feed
  • Active Directory
  • Microsoft Exchange
  • Hadoop File (HDFS)
  • Spark (Beta)
  • R Script
  • ODBC
  • OLE DB
  • Blank Query

Data Source Prerequisites

Each data provider has a minimum version required for Power BI to use.

Data Source Provider Minimum provider version Minimum data source version Supported data source objects Download link
SQL Server (built into .Net Framework) .Net Framework 3.5 (only) SQL Server 2005+ Tables/Views, Scalar functions, Table functions Included in .NET Framework 3.5 or above
Access Microsoft Access Database Engine (ACE) ACE 2010 SP1 No restriction Tables/Views Download link
Excel (.xls files only) (see note 1) Microsoft Access Database Engine (ACE) ACE 2010 SP1 No restriction Tables, Sheets Download link
Oracle (see note 2) ODP.NET ODAC 11.2 Release 5 ( 9.x+ Tables/Views Download link
System.Data.OracleClient (Built in .Net Framework) .NET Framework 3.5 9.x+ Tables/Views Included in .NET Framework 3.5 or above
IBM DB2 ADO.Net client from IBM (part of the IBM data server driver package) 10.1 9.1+ Tables/Views Download link
MySQL Connector/Net 6.6.5 5.1 Tables/Views, Scalar functions Download link
PostgreSQL NPGSQL ADO.NET provider 2.0.12 7.4 Tables/Views Download link
Teradata .NET Data Provider for Teradata 14+ 12+ Tables/Views Download link
Sybse IQ iAnywhere.Data.SQLAnywhere for .NET 3.5 16+ 16+ Tables/Views Download link

Information Sourced from Power BI Documentation site

Power BI Data Source Prerequisites

Data sources in Power BI Desktop


Dynamics 365 Site Map Editor


I have been working with Dynamics CRM since version 4.0 and in the past any change that you needed to do on the Sitemap was a pain. Later we at least had awesome tools like Visual Ribbon Editor & XrmToolbox to make life a lot easier. With Dynamics 365 Microsoft has released a build in editor for us and i explain the basics in the following steps.

Editing the Default site map

  • Navigate to Settings > Solutions
  • Create a new solution called Sitemap and add the Sitemap to your solution.

Note that each App in Dynamics 365 will have its own site map

  • Double click on the sitemap you selected, this will open the Dynamics 365 Sitemap Editor 
  • The designer is very easy to use, everything is drag and drop. When creating a new sub-area you have the ability to create on of the following types.
    • Dashboard
    • Entity
    • Web Resource
    • URL
  • You can add Localized Labels for you components
  • Set the Icon, Privileges
  • Set the targeted client & SKU
  • Click Save & Publish