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.
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.
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:
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.
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:
Add a case lookup on Lead (do not display the navigation bar link on the case)
Set case lookup to the case about which you are surveying
Set the lead email address to the email of the contact to be surveyed
Set contact to contact to be surveyed
Send the survey invitation to the lead
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.
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.
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.
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.