Dynamics 365 Customer Service Team

This post is a part of a series of posts for Customer Service. The complete GUIDE can be found here

I prefer to define a team with a security role when i create Customer Service solutions. The idea is that the incoming case is assigned to the Customer Service team. This way it is clear to see what cases are new and not yet assigned.

NB! Reassigning Cases to a new user Out Of The Box is not great. The cascading rules changes the sorting of emails because of modified on dates. I will therefore include a post on how to modify the cascading rules.

Security Role

Open Dynamics in any app and find the Advanced Settings

This will open up the good old Dynamics Setup. This is where we can access the security model.

We need to create a security role for the team.

These are the entities that I needed to make my scenario work. It is a very minimal role, but I won’t be needing more than this for Customer Service Team.

Team

Open teams and create a new team. I will call mine Customer Service. Make sure you assign the security role to the newly created team.

Dynamics APP for Outlook has changed… But why?

I know that change online is imminent, and is continuous. I don’t mind this, but i do mind how it’s done. I would never have noticed this if I had not created a new demo. It is a little annoying that the functionality introduced can’t be put to use in my existing environment.

This rant is just because I like to keep things vanilla as long as possible. The changes we see here make it even more clear that the platform where I work every day still is an open platform, and not at all a product. If certain things would act more like a product the changes would apply to everyone, and behave the same way. There will always be pro’s and con’s for Platform VS Product..

The following is provided from the documentation:
https://docs.microsoft.com/en-us/dynamics365/outlook-app/customize-the-track-regarding-card

Not sure when it happened, but the 1 form App for Outlook configuration has now become 2.

OLD

Form 1: App for Outlook Contact Card

NEW

Form 2: App for Outlook Contact Quick View – NEW

Why does this matter?

I am not sure yet, and that is the problem. Why split them up in the first place? Another extremely interesting thing about the new form is magic in the background that we can’t manipulate or recreate.

The new CASE subgrid looks like this

Not sure what this name means, but its obviously something they have defined after converting the old forms to the new forms.

Lets have a look why this is wierd:

The following picture is in a new untouched demo. The subgrids should have:
Account Name
Next Activity (Subgrid)
Last Activity (Subgrid)
Opportunity (Subgrid) – Showing
Case (Subgrid)

But as you can see, it only shows content where content is present. If I add a case to the contact Thomas Outlook, it will dynamically show cases in App for Outlook.

This is a great feature, so why am I complaining about it? Well, i can’t reproduce it. That’s why!

This is the same setup in config, but Cases are constantly showing here. I tried every step in config to recreate the function, but no luck..

I even tried importing a UN-managed and Managed solution from the vanilla environment to my existing production without any luck.

Did I not get the memo on this change by any chance? 🙂

Dynamics 365 Customer Service Trial

There are many guides out there for this exact step. I only recreated this so all the content is on one page under my control.

In Private

Open a browser in private mode

Open Dynamics 365 Trials

Click the “Sign up here” !!

If you are a customer, click “no, continue signing up”. If you are a partner you should look for different places to create demos. Head on over to CDX Expereiences

It doesn’t matter what you choose here. If you ever turn this into production, the domain name will be something you can change at a later time.

Continue proving you are not a robot, and then wait for everything to finish up.

Start the setup when it’s done. Doesn’t matter what you choose in your setup of apps. It usually installs everything anyway. Eventually you will end up here, and you can open Customer Service HUB:

We have now completed the first step, and created a new trial for Customer Service.

Adding Exchange

With out Exchange added to your trial we won’t get far. Open https://admin.microsoft.com

Start “Get Free Trial”, and click the next next etc etc.

Back in the portal you want to open users, and locate your user. Choose the Microsoft E3 subscription and attach this to your contact. Remember to click “SAVE CHANGES” in the bottom when you are done.

SSIS – Importing 94,883 contacts to Dynamics/CDS

This is a quick guide to the simplest form of SSIS import. I will not cover all of the amazing ETL possibilities you can do with SSIS, because I am not the correct person to set this up:)

The background for this post is also trying to learn the differences between DataFlow and SSIS in regards to API stats online.

The setup

  1. Install BIDS LINK HERE – If you don’t have visual studio
  2. Install KingswaySoft LINK HERE
  3. Get Excel File with contacts (94,883)

The structure is very simple here. Get file, add one data column and then import to dynamics.

The flat file I am getting is a simple .csv file and you see the following columns.

Next step is a bit odd, but that’s how lookups work in SSIS. I have to create a new column that is called “account”, because i have to define the lookup type. This Derived Column does nothing else.

In the end we connect to Dynamics via the KingswaySoft connector.

I have chosen to use alternate keys. If you wonder what this is, look at my previous post about alternate keys and DataFlow.

Then I click on columns to map the fields

For the lookup we connect to ParentCustomer. Once you have mapped the field, i can choose to what field to match on the Account. I open the “…” and here I choose the primary key for account as matching. You could use whatever you want, but I have created alternate key for account on AccoundNumber.

The result

I ran this test during the night time at the same time as DataFlow. SSIS used 1 hour and 22 minutes for the exact same file, and that is fine by me. There are so many different variables in online load times, that 20 minutes doesn’t really prove anything.

What about the API?

I wrote a post about DataFlow and API. Mostly because I was curious about the analytics within CDS. I don’t understand the numbers i see, so I have written to Support about the numbers. What I heard back was because of the batch of records being entered, this should be about right…

If this is correct, SSIS is a lot more efficient in the API calls to Dynamics, but took more time in this one single test i performed.

SSIS = 3,501 API Calls
DataFlow = 13,544 API Calls

Some good tips from the pros

https://twitter.com/CrmKeeper/status/1242722929248526338

Have you checked you storage lately?

I was wondering why my storage had spiked lately, especially because I hadn’t imported any data to dynamics.

Dynamics 365 Sales
1 Javascript on opportunity
1 Button custom on account
Dynamics Portals installed
Dynamics Marketing installed

I would say this is a pretty standard CRM without heavy customizations. Portals and Dynamics Marketing are not standard for CRM installations yet, but that is not important.

https://admin.powerplatform.microsoft.com – Check capacity and storage

2 tables stand out, and they are both tables that I can’t do anything about.
RibbonClientMetadataBase
WebResourceBase

I can’t control the content of these tables, but they are above 3GB! I personally don’t feel it is reasonable that these tables are included in the storage count. If you feel the same way, please help vote this up:)

VOTE

https://experience.dynamics.com/ideas/idea/?ideaid=2d9d1f2f-e56c-ea11-b698-0003ff68dcfc

DataFlows – Set Customer lookup

I still don’t know if this is local to my tennant, but I have tried in 2 different orgs, and I always get an error with Customer field for Contact. This post is almost identical to the Set Parent Lookup, but there are some differences in the end.

Setup Contact

I have one Excel file with 6 contacts. They are linked to the account with number 311. The unique identifier I have on contact is email.

I setup a key for email on contact, so that the system will understand what to write to.

Setup Account

On the Account I have 2 fields for number matching, because I have different systems that integrate, but it doesn’t matter in this case. PO Account Number is what we are going to use, and I will try to explain why (based on my findings).

PS: Both Account Number and PO Account Number are Alternate Keys on Account!!

Setup Data Flow

Go to https://make.powerapps.com and start a new Data Flow project. In this case I am choosing the Excel file for simplicity. I have uploaded the Excel file to One Drive, so that it is available at all times online.

In the Excel file I had to make sure that the first row was headers before i continue

During the mapping I will see both the Alternate Keys I have for account. Normally you probably only have 1 Alternate Key for Account, but my setup requires 2 because of 2 different systems integrating against 2 different numbers. For blog i am using value 311, so it doesn’t really matter here.

When done mapping Account Number (again it doesn’t matter if I choose one of the other) continue to the next step. I choose a manual refresh, and it get stuck here.

You will also see an error in the data flow projects.

https://admin.powerplatform.microsoft.com

Open data integrations, and open the one that failed.

From here you can open the mapping table

This is where you most likely will see a missing mapping. For some reason it cancels out my mapping. I have tried this in 2 environments and same issues. Every time i choose the Customer Lookup i have this problem.

Click on the destination field, and navigate WAY to the bottom.

This is where I believe the bug is located. Data Flows happens to be sensitive to what Alternate Key was created last. This key is the last thing that I published on Account, and therefore it is in the list. If you only have 1 alternate key, this will show.

Again, it doesn’t matter in this demo because i have 311 in both KEY fields.

The Work Around

After you save the changes, open Data integration. Here you will setup a schedule to run from the admin.powerplatform.microsoft.com.

Click save schedule and wait for it to run.
PS!! Remember to stop the schedule when done!

For the Final result you will see 6 contacts connected to the Account

Next up is how long does it take to import 94000 contacts to CDS via Data Flow!

Scottish Summit 2020

Scottish summit was really impressive, and that is probably why you see everyone writing about it. There were so many sessions to attend, that it was impossible to be everywhere. That is why everyone has a different experience of the summit. That is just to say how extremely big it was!

Mark Christie and Iain Connolly…. Well Done!

Keynote – Jon Levesque

Picture from Marijn Somers

Kicking of the keynote was Jon Levesque entering the session on possibly the coolest way ever, and wearing a kilt accompanied by bagpipes

Jon is a great speaker. His talk was about personal transformation, and how he had gotten to where he was today. Believing in himself and setting a goal in his life. He wanted to get payed for talking. Given his current role in Microsoft, it is clear that he has come far with his goal.

He also time to talk about Samit from Heathrow (recent addition to the MVP family), and how his transformation from a security officer at the airport to one of the communities leading entrepreneurs in power platform.

He completed the keynote by talking about the community and the #PowerAddicts. The community is seeing a spike in participation that is just unreal. So many no-code / low-code enthusiast out there that love sharing knowledge. I have been in Dynamics since 2007 and I have never seen anything like it before. Sharing knowledge has never been so important, and I am glad I get to take part in it.

Tricia Sinclair – Omnichannel

Omnichannel is a fairly new product in the Dynamics family, and many people consider it USD’s little brother. I would say that the project is smaller than USD, but in functions it is amazing!

Microsoft link:
https://docs.microsoft.com/en-us/dynamics365/omnichannel/introduction-omnichannel

Tricia made a recording!

Tricia recorded her session!

OmniChannel includes: Chat agent, SMS, Emails, Phone, facebook chat, WhatsApp, Wechat, Twitter, line, etc etc.

More about upcomming features here:
https://thecrm.ninja/omnichannel-wave-1-2020/

Smart Assist (really cool) on the right side of the panel reads the chat dialog and gives live suggestions to help the agent. In her example she mentioned a meeting, and the smart assist suggested to setup a meeting with the client. Things like this can be a major time saver and great help for the agents.

The best thing about this product is that many of the settings require very little configuration. Microsoft has produced something that is very similar to an actual product that delivers value from day one. I believe this product will fit both large and small companies because of the configurable setups. I would definitely set this on the “ONE TO WATCH” list for the next months.

Tricia is extremely knowledgeable about Dynamics, so it is just relaxing to hear her talk about it all. There is no doubt about what can or can’t be done. 

Seriously, I really want a project where I can use this tool. Connect with me if you want to be a trial customer for a good price:)

Ben Volmer – Field Service Business Value

In Europe we wonder if Microsoft ever looks outside the USA to see how the rest of the world is in scale. During this talk I really got into the mind of Ben and what discussions he is having with his customers. In short terms, everything is bigger there.

While Ben is talking about optimizing operations to save millions, I am still at the ABC’s in teaching what Field Service can do for your organization. Attending his session made me realize that I have a long way to go in order have a similar conversation with potential customers regarding Field Service optimization.

I learned a lot by actually not being able to relate to any of the business decisions that a Field Service organization in the USA (and large organizations) have to make. If you ever have the chance to go to a Ben session, make sure he indulges you in the business perspective of Field Service, because it put’s a lot of things into perspective. Functions and features you can read about in the release notes:)

Business models are changing, and old cost centers are now potentially the best ways of increasing revenue. Rolce Royce is no longer just an engine manufacturer. They now sell engines based on running time. This way the customer is paying for an active engine, and not the typical maintenance and support contract. This increases the revenue stream for the company by a lot, because the hardware business has lower margins now than ever before

Chris Huntingford – Functional Awesome

Chris is one of those people you just believe was born to talk. I am sure he has worked his ass of to be where he is today, but if you meet him you will know what I mean. He is simply in the correct role for his personality, and I am sure he is one of the major contributors to the fact that UK has such a great community.

So what about his session? Well, it was mostly about momentum in the Power Platform, and how it has been moving the last year(s). Just look at the numbers under to be amazed.

The platform has transformed what used to be workers without power, to workers that now call themselves citizen developers. Microsoft has a goal to grow the number of citizen developers to 10 mill within a few years, and that means that you, me, and everyone out there will learn how to get more out of the data in the organization. This is good news.

Chris also has a smart way of defining the difference of Model Driven apps and Canvas Apps.

Model Apps is the Line of Business application that supports complex business scenarios.

Chris

Canvas Apps is not LOB, but is designed to support a specific workload for a specific role. This is where the citizen developer comes in. Instead of having to use developers to get great value, non technical people now get the power to create smart applications. We ended the session by creating a UFO Sighting app within 10 minutes, just to prove how quick it can be done. We managed to create both a Model driven app and a Canvas app in that time. Not many platforms in the world are capable of something like this.

Lucy Bourne – Surviving Networking

Lucy shared 20 great tips for getting better at networking. This session also related to the mental issues that some people struggle with when they are their own worst enemy.

20: Go get started, take the leap
– Dare to do things you haven’t done before. What is the worst that can happen

19: Be ballsy, like Howie (ACDC)
– Howie was a consultant wanting to participate at the ACDC hackathon in Oslo. He didn’t have a team, but gave it a shot anyway. He wanted to be a part of something where he could identify as “home”.

18: Make a plan for the year, sessions, meetups etc. What does it mean for you personally?
– Being prepared helps you manage time better. Time is important, and when you improve your time skills, everyone around you benefits from this. Friends and Family should never be neglected when pursuing a dream. They should bee there as important assets in achieving a goal.

17: Work out where you want to start.
– Find your clan. Find out where you want to belong, and what passions others share. Be inclusive and never think you are better than others.

16: Find your focus
– You cant cover it all, and that is ok!!

Define topics and channels
– Where is your passion? Work on it

15: Be Authentic
– If people don’t like you for who you are, that is their problem. Don’t try to be something you are not. Unless you are an asshole, then you can change;)

14: Remember Empathy
Not just listen, but actually listen
#bekind

13: Meet people in their onlyness
Everyone has their own story to tell, experience and challenge. Understand them and try to relate.

12: Dedicate time to research
Figure out where people are talking, who the speakers are, topics they will be covering etc etc.

11: Follow up
– Luise Freese has found ways of automating follow-up of contacts when at seminars. Using different tools to reach out while recording who you are. Find a method that works for you, so that you don’t forget.

10: Share the Love
– Find something you like. Share it. Community is about sharing. Open up to others, and they will in turn open up to you.

9: Ask for help
– Be the person who asks the question everyone is wondering about. There is always someone there that is wondering about the same.

8:Create your own mission statement
How do you want to be perceived. Make it simple, but meaningful. That way it is easy for people to understand what your goal is.

7: Give it time
One event wont make you famous. Tender love and care.

6: Find a Balance
It can be overwhelming you being everywhere. Find inner peace knowing that not being at an event is OK.

5: Get the tools
– About.me. Smart way of sharing your info.
– Session questions (get customer interaction). Get the people in the audience activated

4: Remember inclusivity
– Bring a friend
– Be a friend
– Be a matchmaker

3: Build your network
– Talk to people, and figure out who they are. Don’t be afraid to approach people. At a community event they are mostly here for the same reasons.

2: Be a matchmaker.
If you know people that might match, just try to help them meet.

1: Put your skills to the test
Link up to local communities and try to be a part of it. All communities love receiving help. Most of the people are doing this at free will.

Random Pictures

What’s next!!!??

NORDIC SUMMIT is in October. Don’t miss out on this epic event…

CRM 2011 called and wanted the Potential Customer field back!

Honestly I can’t remember what year Microsoft implementet separate Account & Contact fields for Opportunity, but it has been a while.

Neil Parkhurst describes the issue in his blog from 2015

So why am I fussing about it now? Well, after all these years Microsoft is still using the Potential Customer field for Field Service.

The error (Accound with id Does not Exist)

Did you ever see this message in Field Service?

“Account With ID = Does Not Exist” – Field Service

As you can see from the image above, the Potential Customer has been set to a Contact.

Standard behaviour is that Account should overwrite the contact, and therefore always show account if account is present. Sometimes this doesn’t happen, and then you will receive the following error when trying to convert to Work Order.

The fix is extremely simple. Dear Microsoft, please just read from the Account field😊

Ideas

If you for some reason feel the same about this, I created a suggestion for improvement..

https://experience.dynamics.com/ideas/idea/?ideaid=0d39cacc-562d-ea11-8454-0003ff68a4d6

Timeline Old vs New

In Norway we have a saying “everything was better before”. It’s commonly used to describe what old people feel when things are just moving to fast, and they don’t see the purpose of the change.

The new timeline for Unified Interface has been like this for me, BUT recently things are starting to get better:)

The Old

2 tasks and 2 phone calls created. Et was easy to see what type of records these were on the left side with the icon. It was also easy to see that they were not yet completed on the right side, AND that they were white.

When completing one of each I saw clearly that it was completed both with color, and the fact that the complete button was gone.

Another great feature about this was the possability to navigate (hyperlink) to the item by clicking on the phone call or task icon. Worked like a charm.

At last you had a nice feature for quick create that was really nice. The only problem though is that this was never a form we could edit, so in the big picture of things I understand why this was not continued.

The new

So the new timeline has been through a few changes, and this is the lates on wave 2 at the time of writing. They have allready made some small improvements that make it better, but lets break it down.

I have the same 2 tasks and phone call. On the left side I now see orange with my name. I don’t know why my name is there. Would make more sense to have the ICON of the activity type. My name should be sown in FULL as is. In a large company you have no idea who TS is.

On the right side it looks like the task is done.. Well, it isn’t.

When you hover over a task you see the color difference, and this is the first time you actually see the button for complete and open. The “check” mark is complete task, but the odd one here is the open record next to the trash can. Why is it so hard to open a record suddenly? This is absolutely not intuitive, but I guess they just need feeback on this.

WTF!

The picture below look like the one above, right? Well, in this picture I have actually completed the to phone calls. Can you tell? Nope.. A little odd to leave out the color coding for the visuals. This should be something they could fix in a small release soon i guess.

So for the new UI we have to rely on the Quick Create form instead of the nice little form on the old one. This is actually not that bad once you get used to it. On this form we have access to the fields via javascript etc, so this is not a bad thing.

Conclusion

I love the new UI because of more activities shown in less space, but they still need to understand how people use the timeline. If you really want to make sense of the timeline you need to clearly see what is todo, overdue and complete. Otherwise it doesn’t make any sense really.

PS!

Will they ever give us the option to stop the email warnings? (i mean completely gone)

Probably not 🙂