Category Archives: CRM Online

Dynamics 365 (CRM) Image Loader

This article describes how to create a simple Dynamics 365 (CRM) web resource that would allow us to display images based on a dynamics URL. This URL would be stored in an entity attribute and the name of the attribute would passed as a parameter to the web resource.

Preparing the demo for EMEA Summit 2017, I needed to display some logos and organisations images (covers) in the Account entity.

Let me show you a picture and you will immediately get what I mean:

CRMUG_EMEA_Summit2017_ImageLoader_imagesAccountForm

In our demo, we used the account entity to track the different NGOs / charities that would be part of the end solution. Each charity would have their own different logo and image cover that would be, later on, displayed in the PowerApp we also prepared.

Those images would be defined based on the following account attributes:

CRMUG_EMEA_Summit2017_ImageLoader_imageAttributesAccountForm

Solution: A simple web resource that would allow us to specify the attribute name with the URL as a parameter.

Below you can see the form definition, which got 2 web resources to host those previous images:

CRMUG_EMEA_Summit2017_ImageLoader_accountForm_webresource

If we now look at the properties of each web resource, we would see they are using the same HTML web resource behind the scene, but the parameter we are passing is different. The parameter is actually the attribute name to feed the image:

CRMUG_EMEA_Summit2017_ImageLoader_webresource_logo_parameter

And the other one:

CRMUG_EMEA_Summit2017_ImageLoader_webresource_cover_parameter

If you want to see the code of that HTML web resource, have a look at my GitHub link.

Hope you find it useful 🙂

Dynamics 365 (CRM) Scheduled Workflows using Microsoft Flow

Creating scheduled workflows has always been a challenge in Dynamics CRM 365. The community and ISVs have offered several original options, but there is not yet an official out-of-the-box option. This article brings another alternative to the table using Microsoft Flows.

A scheduled workflow is the one that runs at a certain arranged time and it may recur to run again after a period of time. If you want to understand more about this challenge and how our CRM community has resolved it so far, have a look at the following articles:

Microsoft Flow offers the option to create Recurrence jobs. This can be used to schedule and trigger actions in Dynamics 365, like retrieve, create or update records (see available actions). So, using this functionality you already have a good alternative to create your own scheduled workflows without development effort. You can see some examples in the following article as well as in these Dynamics 365 Flow templates.

The other alternative would be a mix solution where a recurrence Microsoft flow creates a custom Dynamics 365 “Scheduled Job” record and this triggers the corresponding Dynamics 365 workflow. The “Scheduled Job” entity would have attributes like “Process Name”, “Run as” (e.g. system user name), “Query scope” (e.g. FetchXML or view name), …, to specify what and how to run the workflow. This option would require additional development, either a plugin or a custom workflow activity to call on demand the given process, but it would also allow you to reuse the logic and capabilities you already have within Dynamics 365.

Hope you find this article useful. Looking forward to hearing your feedback.

Thanks

First look at Microsoft Dynamics 365

It has been great to see the new changes coming with Dynamics 365 (Available November 1st) during Scott Guthrie presentation at First look at Microsoft Dynamics 365.

The new Dynamics home page gives you an easy start point to join the user experience of our CRM and ERP users:

homepagedynamics365app

There we can find the different functional applications, from Sales to Operations:

homepagedynamics365app_menu

Everything has got the same look & feel:

homepagedynamics365salesapp

homepagedynamics365operationsapp

homepagedynamics365financialsapp

A key part of Dynamics 365 is the aim of joining different apps in a single ecosystem, there is where we find a seamless integration with AppSource:

homepagedynamics365appsource

We can also feel the “Mobile First, Cloud First” strategy on the mobile apps coming with Dynamics 365:

homepagedynamics365_mobileapps

The integration with Outlook carries on improving, providing more contextual information on our emails:

homepagedynamics365outlookapp_documentlinks

homepagedynamics365outlookapp_dynamics365panel

The Intelligence is another fundamental part of Dynamics 365, which covers several areas:

dynamics365_ai

The Relationship Insights is definitely one of the most AI interesting points, where we will be able to get a better view of our customers. For instance, Exchange emails from Office 365 would be joined with the Dynamics 365 emails and we would be able to understand how our relationships are doing:

dynamics365_ai_relationshipinsights

We will be able to see who has opened our emails and interact with them in a simple view:

dynamics365_ai_emailsview

As part of the analytics improvements, we have also got the just announced Customer Insights, which brings the ability to create great single customer views:

dynamics365_customerinsights

All these will be complemented by the additional services we already know: PowerApps + Microsoft Flow + Common Data Model

dynamics365_cdm

dynamics365_powerapp_powerflow

New Dynamics CRM Email Signatures

Microsoft Dynamics CRM 2016 Update 1 brings Email Signatures as an out of the box functionality. They can be used on Users or Queues (based on Teams).

Create a new email and you will see a new icon on the email designer to insert signatures:

@ramontebar - CRM Email Signatures - New Email Signature button

To create more signatures, go to Personal Settings or, as an admin, Administration => Templates section.

Personal Settings:

@ramontebar - CRM Email Signatures - Personal Options

Administration => Templates:

@ramontebar - CRM Email Signatures - Email Signatures administration

Notice Email Signatures is a new entity and it is part of the security roles. So, for instance, if the Customer Service Team requires to use Email Signatures, they should have access to the Email Signature Entity. See below an example security role:

@ramontebar - CRM Email Signatures - Security Role

Note: My current on-line build version is : 8.1.0.362 – DB 8.1.0.359

You can find more information in the following Microsoft CRM article:

https://www.microsoft.com/en-us/Dynamics/crm-customer-center/create-a-signature-for-your-crm-email-or-for-a-queue.aspx

 

Where is my data? Microsoft Datacenters

Probably many customers and partners have already asked you this question: where is our data? You can give them more details and a quick picture using the next Microsoft site:

http://o365datacentermap.azurewebsites.net/

Microsoft Datacenters 20160227

 

[CRM] Voice of the Customer available in EMEA

You can already try the new Voice of the Customer (VoC) functionality in Dynamics CRM Online (only Online for now). Initially it was only available in US deployments (https://orgname.crm.dynamics.com) but this week has been released in EMEA datacenters as well (https://orgname.crm4.dynamics.com).

Voice of the customer Office365 crm4

VoC allows you to design and publish surveys using Dynamics CRM. You can then share these surveys with your customers and gather their feedback efficiently within CRM.

Voice of the customer CRM Main Menu

The current CRM version I’m looking at is 8.0.1.79:

8.0.1.79

And the solution package is 8.1.344.1:

Voice of the customer CRM Solution 8.1.344.1

You can find more documentation in the next link:

https://www.microsoft.com/en-us/dynamics/crm-customer-center/get-feedback-with-voice-of-the-customer-surveys.aspx

 

Dynamics CRM + Microsoft Edge

I’m enjoying the new Windows 10. One of its new features is Microsoft Edge, the replacement for Internet Explorer. It is definitely quicker and cleaner.

My Edge favourite feature so far is “Make a Web Note“. It allows you to write notes on the current page you are browsing, highlight things and add typed notes to describe steps.

I find this browser utility very useful for Dynamics CRM users who needs to share tricks or help other colleagues. See below an example.

A colleague doesn’t know how to find Leads, so we are going to get him an screenshot highlighting where to go within Dynamics CRM:

RTB_BLOG_Edge_Find_Leads

 

On the right top corner, select “Make a Web Note” icon:

 

 

RTB_BLOG_Edge_Make a note

 

A new noting bar will open with the utilities at the left corner. See how the Lead tile has been highlighted:

RTB_BLOG_Edge_Take_Screenshot

 

Then you can Share the same using different options, either taking an screenshot or sending it to other apps, like OneNote:

RTB_BLOG_Edge_Share or Save

 

 

Dynamics CRM 2015 SDK and Developer Toolkit

The new CRM SDK  2015 doesn’t give support yet for our known CRM Developer Toolkit,  which has been part of the CRM SDK until CRM 2013. Basically, the CRM SDK 2015 assemblies have been compiled with .NET Framework 4.5.2, but CRM Developer Toolkit was compiled using NET Framework 4.5. See the next Microsoft article for more details.

For instance, let’s check the new assembly Microsoft.xrm.sdk.dll part of the CRM SDK 2015: 

SDK2015_Microsoft.Xrm.Sdk_ILSpy

 

The good news are… we still can make compatible the Developer Toolkit with the latest CRM SDK 2015 editing the .NET Framework in the corresponding projects of our Visual Studio solution. Let’s say we have the next CRM solution:

CRM_DeveloperToolkit_SampleSolution

 

For plugins and workflows, we should update the references to the new assemblies and also the .NET Framework in the project properties:

CRM_DeveloperToolkit_UpdateAssemblyReferences

After updating those references, we could still find the following error:

“The type or namespace name ‘Xrm’ does not exist in the namespace ‘Microsoft’ (are you missing an assembly reference?)”

This error is indicating you haven’t got installed the expected .NET Framework 4.5.2. Do right click on the same project and select Properties to check the version actually used:

CRM_DeveloperToolkit_TargetFramework_4.5.1

If you are only getting old versions of the Target Framework, select “Install other frameworks…” that will take you to the next site:

http://blogs.msdn.com/b/dotnet/p/dotnet_sdks.aspx

There you must download .NET Framework 4.5.2 Developer Pack.

After it has been installed, you get a new option in that previous list:

CRM_DeveloperToolkit_TargetFramework_4.5.2

Finally, we need to do something similar with the CRM Package Project. But in this case, we will have to edit the project file and update the entry “TargetFrameworkVersion” to “4.5.2”. Start unloading the project:

UnloadCRMPackageProject

Update the mentioned entry “TargetFrameworkVersion“:

EditCRMPackageProject

Finally, reload the project again and everything should work now!

ReloadCRMPackageProject

About this last part, I would like to say thanks to my CRM MVP colleague Scott Durow (@ScottDurow), who helped me to find that entry.

If you don’t update the package project, it may still compiled, but the actual deployment will fail and you should see the next warning in the Visual Studio output:

warning MSB3274: The primary reference “[Your Assembly Name].dll” could not be resolved because it was built against the “.NETFramework,Version=v4.5.2” framework. This is a higher version than the currently targeted framework “.NETFramework,Version=v4.5”

warning MSB3275: The primary reference “[Your Assembly Name].dll” could not be resolved because it has an indirect dependency on the assembly “Microsoft.Xrm.Sdk, Version=7.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35” which was built against the “.NETFramework,Version=v4.5.2” framework. This is a higher version than the currently targeted framework “.NETFramework,Version=v4.5”