Tip #1098: Dynamics 365 Connected Field Service Demo Builder

We interrupt the chart week fortnight by Ulrik “CRM Chart Guy” Carlsson to bring you the all important message from “Hey, look, kids: Big” Ben Vollmer.

Installing and configuring Connected Field Service for Dynamics 365 can seem confusing to some customers and partners. With the “hard” work done in Azure, it takes some getting used to.

Using this, you can literally install Connected Field Service from AppSource, click on https://builder.cfsdemo.com, sign in, and this will do all of the hard work for you. As you can see in the video below, I can change the Temperature and Azure Stream Analytics in under 3 minutes.


Tip #1097: Change chart labels on currency values to show in Millions or Thousands

The chart week by Ulrik “CRM Chart Guy” Carlsson continues!

Do you think it’s relevant to know if the pipeline for a given sales person is USD 2,878,345.13 or is a simple USD 2.88M in a big font just much quicker to read.

The chart XML allow you to modify the number formatting as above by adding LabelFormat=”##,##M” to the  chart XML’s series properties. Luckily, you don’t need to remember any of that if you have the XrmToolBox.

Open the desired chart in the Advanced Chart Editor for the XrmToolBox and navigate to the series you would like to change.

In the LabelFormat dropdown field, select the desired K, M or B (Thousands, Millions, Billions) formatting. You should also increase the font size at the same time.

Remember to click Save and then update the chart.


In the LabelFormat dropdown there are a few additional options. The items with multiple formats separated by a semicolon also indicates formatting for negative numbers and zero, so you can have different formatting for those and possibly suppress zeros.

You do not have to select any of the predefined options. In the field you can type in your own custom formatting and include text in single quotes. For example, you can add ‘USD ‘ to add a currency description.

If you run into issues with the text strings, adding the text part in single quotes can help.

For full details on what you can do with the LabelFormats, check out this cheat sheet.

Tip #1096: Apply Power BI theme to regular charts

The chart week by Ulrik “CRM Chart Guy” Carlsson continues!

Let’s be real. Everyone loves Power BI, but did you know that it is mostly because of the fancy colors.

Well, your regular old real-time charts, that updates way way faster than a DirectQuery Power BI visual can have fancy Power BI colors too.

Open up your XrmToolBox and open the Advanced Chart Editor.

Select your entity and chart and open the visual editor.

Click on the first property named chart and change the PaletteCustomColors to the second option.

Hit Save, then update the chart and refresh your view in Dynamics 365 to see the changes.

You can of course use the tool to further modify to get the chart style even closer to the Power BI look.

The two custom palette options are the standard color scheme in Dynamics 365 and the standard Power BI color scheme. The latter has been added to the tool as an Easter egg.

You can also add your own color schemes to the tool. More on that on CRM Chart Guy’s blog here.

Tip #1095: Add percentage labels to pie charts

Welcome to chart week! This week on CRM Tip of the Day, Ulrik “CRM Chart Guy” Carlsson brings us a chart tip every day.

When you create a pie chart on the est. revenue on opportunities broken down by account, or any other currency field, the pie chart automatically displays the value of the slice in the label.

Sometimes, showing the percentage instead of the actual value can be useful. Especially as the pie chart is really intended to show the relative proportions of the individual groups.

Luckily it is very easy to change the labels from the long, two decimal values to a percentage value.

Open the XrmToolBox and open the Advanced Chart Editor. If you don’t have it, you can find it in the plugins store.

  1. Load the entities
  2. Select the opportunity entity to retrieve the charts. Or whatever entity the pie chart you are changing is on.
  3. Select the chart by clicking on the name so it is highlighted in blue.
  4. Then click on Edit Chart.

Click on Open Visual Editor.

Navigate to the series node and change the following values.

  • Font Type to Verdana
  • Font Size to 20
  • IsValueShownAsLabel to False
  • Label #PERCENT

Don’t forget to click Save, then click Ok, to get back to the standard editor.

Click Update

Your updates to the chart XML will now be updated directly in Dynamics 365 without needing the export/import of the XML file.

In Dynamics 365, open view and chart, or if already open, simply refresh the grid to see the updates.

Tip #1094: It is Time to Go with the Flow

Microsoft is making lots of noise of late about the soon to be released Spring Release. One of the key takeaways from those announcements is that PowerApps and Flow are a key element of the future for app development in Dynamics (Canvas Apps, as they call them). If you still think PowerApps and Flow are the playthings of non-developers to do things poorly until a ‘real’ developer arrives, you are holding yourself back from a world of opportunity and it is time to embrace the new.

Of course, at TOTD we have encouraged you to embrace PowerApps and Flow before but here I will drill down into how Flow works, especially in regards to Dynamics 365.

First of all, you can go to flow.microsoft.com and sign up for a free trial account. Once you have done this you can look at the sample templates but there is not a huge amount for Dynamics 365 so I say jump straight in and build your own. You will need a Trigger (similar to the triggers used to run workflows in Dynamics 365) and, once triggered, you will need the Flow to do something via Actions (just like steps in a workflow).

The triggers we have are at the record level and are:

  • OnCreate
  • OnDelete
  • OnUpdate

While we can make all sorts of apps do something via an Action, for Dynamics 365, we can:

  • Create a record
  • Delete a record
  • Retrieve a record
  • Retrieve multiple records
  • Update a record

We can also run Flows on demand via the mobile Flow app and, unlike workflows, we can schedule Flows to run regularly at a specific time. There really is a lot of power here waiting to be unleashed.

If you are familiar with creating workflows, none of this should look too difficult and I assure you making the leap to Flows will not be a large one.

Tip #1093: Link Voice of the Customer survey responses to other entities

A common request I have heard from multiple clients is can I link survey responses to records besides customer (account, contact, lead) entities? I want to survey my clients about a service call, and if I send them a survey, how do I know which case they are responding to? Sure you could do some kind of plugin to link the response to the most recent case or something, but what if there are multiple service calls?

Survey invitations can only be sent to customer entities. If you try to send the link snippet in a template linked to another entity, you will receive an error.

There is one option I’ve discovered that works: repurpose the lead entity.

Say you wish to survey a client about a recent case:

  1. Add a case lookup on Lead (do not display the navigation bar link on the case)
  2. Set case lookup to the case about which you are surveying
  3. Set the lead email address to the email of the contact to be surveyed
  4. Set contact to contact to be surveyed
  5. Send the survey invitation to the lead
  6. Resulting survey response will be linked to the lead, which has relationships to the case and contact, so you can connect the feedback to the specific case.

Notes and disclaimers:

  • This process could be automated via a workflow–for example, if you want a contact to get a survey when a field service job is completed, you could have a workflow create the lead, link it to the job, and send the survey invitation email template to the lead.
  • This is admittedly kludgy and could be messy if you already use the lead entity for more normal lead processes
  • I suggest adding a lead type field and setting that to “survey recipient.” You could then exclude those leads from normal lead views.
  • Create a data process that disqualifies these leads after a reasonable amount of time–this will prevent them from accidentally getting qualified into a duplicate contact or making the list or recipient matches in email address activity parties unsightly.



Tip #1092: Chrome trick to make new field appear in the list

Browsers to Dynamics 365 are like a set of screwdrivers to a random screw. Sometimes you need a Phillips, sometimes – flathead, and on odd occasion HP hex is required. We already covered browsers war in the past but not a day goes by without a new discovery.

Consider, for example, today’s training session by yours truly. (I have to say that Dynamics training sessions are great – not only you get to share knowledge with the attendees, but more often than not, seasoned students gift a few nuggets). This afternoonDaniel patiently observed my struggle with Chrome, you know, the one where you edit a form, click New Field to add something on the fly only to discover that the field does not appear in the list, as it does in other browsers. I used to close and reopen the form to make the new field available but turns out that the solution is to click New Field again and then close the dialog without entering anything. Presto! – new field is now in the list. Thanks, man!

Morale of the story: when you can’t find the screwdriver to match the screw, drilling the bugger out always does the trick.

Tip #1091: Dynamics 365 App for Outlook version 9.0 is now available

If your Dynamics 365 instance is 9.0, it is time to ditch deprecated Dynamics 365 for Outlook (add-in) and switch to Dynamics 365 App for Outlook because version 9 is now out of preview.

Short summary of the new features and things you can do without leaving Outlook:

  • Unified Interface
  • View tracked email or appointment
  • Quickly create entity records
  • Search in Dynamics 365
  • View Dynamics 365 records

Read more the full announcement on Dynamics 365 Customer Engagement Team Blog post.

Tip #1090: Should I use cases for one user CSR scenarios?

For today’s tip, Sarah “Dynamics 365 Diva” Jelinek answers the question “I have one person who handles customer issues for my company–should I still use cases?”

I would tend to answer with “It depends.” But in all honesty, I would say yes. Even if one person handles the customer issues, I think there is a need to record that history with the customers. Even if the same person is handling the issues, there may be others that need to see the interactions, frequency, and results of the support process.

I have clients that email me directly needing assistance. There is a good reason for me to record that interaction within cases. If I am unavailable and the customer contacts another person in my company, they can look at the past cases in the system and find answers. Account managers can seek opportunities from cases recorded. Management can gather KPIs and other metrics to plan for growth.

I know it can seem overkill for the end user, but the pros outweigh the cons. Starting to use cases makes it easier for growth and seeing the 360-degree view of your customers. 

Tip #1089: User Delete Privileges Stretch Further Than You Think

This one was discovered by my KPMG partners in crime Fiona Whiteing and Jijeesh Kunhiraman on a recent project. As you may know, for a record such as a Contact, if I own the record, I can see the child Activities whether my security role gives me permission or not. I do not know if this obscure exception to record level security has a name. I call it ‘inherited security’. In fact it also works for Team ownership; if I am a member of a Team which owns a Contact, I can see the Activities of that Contact whether my security role (or the Team’s security role) allows me to or not.

If you did not know the above, end here and walk away intellectually nourished by an informative tip. If you did know the above, here is the twist. Let us say you are a member of a Team which owns a Contact and you can see the associated Activities thanks to inherited security. Let is assume none of the Activities are yours. If I now give your User record’s Security Role User-level delete privileges to Activities, you can now delete all those child Activities. Even though they are owned by other people and you can only see them because the Activities are on a Contact, owned by a Team which you are a member, you still get to blow them away.

Somehow inherited security amplifies the User-level delete privilege to work on any child record it renders visible, regardless of the actual owner. Is this a bug? Maybe. My guess is, as inherited security pre-dates the introduction of Team ownership in Dynamics, the subtle nuances of the two combining were not fully tested and give rise to unusual results. The moral of this tip? If you are securing records and inherited security is involved, make sure you test everything within an inch of its life.