Giving Back

So for those who know me, I still play Soccer at a fairly decent level (hence CRM KEEPER). This i a huge part of my life, and I hope it can stay that way for many years to come.

This week I was in Thailand during a yearly tournament. All in all there are 10 different nations competing, and it is just a blast! If you want to see more from that, I have pictures on my Instagram:

This year was a little special for the Norwegian team, because we got to visit an orphanage a bit outside the city. This orphanage relies hugely on volunteer efforts to help the kids, and donations from people well off.

Our small social visit probably won’t have an impact on their lives, but it certainly impacted ours. Last year I was involved in Doctors Without Borders (PRO BONO), and I think I will try to do more work like this in the years to come.

Readers of this blog will probably be tech, so think about what you can do to help other organizations be/do better. We can’t all be doctors/nurses or other types of heroes, but we certainly do our best within tech to help those that help others!

Field Service – Booking Template configuration

There’s lots of documentation about Field Service Schedule Board but some key elements that I didn’t understand before I tried it out myself.

Hitachi wrote a great post that got me on the right track, so this is more an extended version i guess. PS, I also stole the pictures from Hitachi, and hope they don’t mind. They did the hard work, I am just adding my findings:)

Schedule Board

There is lots of documentation out there about editing the schedule board, and most of it is actually from Microsoft DOC’s. Only problem is that I don’t always find examples I fully understand. The question was, “How do we configure the schedule board items?”.

Hitachi image

This picture is from Word Order that has been placed on the Schedule Board. The current item is shown with Work Order number and Duration. The customer wanted something else. As Hitachi explains in their blog, you can achieve this with a sample code they included.

Understanding the levels of fields and syntax

Level 3 (Bookable Resource Booking)

Duration:<b> {duration}</b><br />

{duration} is a field on the actual Bookable Resource Booking entity. It is on the lowest level, and you simply use the schema name to refer to duration on Bookable Resource Booking.

Level 2 (Work Order)

Now you navigate one level up, and guess what.. It’s actually not that hard!!! It is simpler to do this here than in JavaScript!!!

WO Number:<b> {msdyn_msdyn_workorder_bookableresourcebooking_WorkOrder.msdyn_name}</b>

First i use the 1:N relationship name {msdyn_msdyn_workorder_bookableresourcebooking_WorkOrder}, anb then i just add the {msdyn_name} that is the name of the Work Order one level above.

Level 1 (Account)

{}</b><br />

The upper level might get a little tricky, but it is not that hard once you figure out how to use it.
First relation is:
{msdyn_msdyn_workorder_bookableresourcebooking_WorkOrder} – LVL 3 to LVL 2
Then you add
{msdyn_account_msdyn_workorder_ServiceAccount} – LVL 2 to LVL 1
Now you are in Account, and lastly add {name} for the name of the account.

My final design

WO Customer:<b> {}</b><br />
WO Number:<b> {msdyn_msdyn_workorder_bookableresourcebooking_WorkOrder.msdyn_name}</b> - Duration:<b> {duration}</b><br />

Here you have some examples on how to navigate the different levels.. Hope this helps:)

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😊


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

2019 review

I began blogging in march of 2019 to finally put my money where my mouth is. I have encouraged others to do this for quite some time, without ever doing it myself. I thought I would share what i have learned so far, and hopefully share an inspiration to someone else out there wondering if he/she should start with the same.


I started off solid doing lots of blogging trying to keep a red line, but things got in the way. Work got overwhelming, and I had to focus on delivering customer solutions rather than sharing information. I was no longer able to do both (as you can see given my latest activity from images below).

This only led me to understand the tremendous work so many people are doing out there where they combine customers, family and community. Some consultants get a “free pass” from work to do community work, but so many others do this on their free time. How you manage to do it i still don’t know, but it is admirable!

So here are my stats:

I got 1187 views for my CDS list records in flow post, and that is quite fun! That means that someone out there hopefully has seen this and found it usefull. This actually means a lot to me!


I got to attend a few speaking engagements.
1. Women in Dynamics – Talking about dataflow
2. Power Platform Saturday Oslo – Talking about Power Apps Canvas
3. Breakfast seminar Oslo – Talking about Power Apps Canvas

I will try to create more topics to talk about in 2020, and be relevant enough to show up on more stages around the world. Speaking is something I enjoy, and I get to meet so many interresting people!


  1. Power Platform Saturday Oslo. The amazing Marius did this almost completely by himself, but i got to be a part of the organizing.
  2. Arctic Cloud Developer Challenge. An amazing hackathon that will be in February 2020, and I am on the board as a volenteer.
  3. Power User Group. Together with Marius (own company), Guro (Avanade) and Malin (KnowIT), we are starting up a User Group in Norway. First activity January 2020.

What did I learn?

I learned that blogging/social media requires a lot of work. A LOT!!! I never entered this part of my career as a sprint I had to see done over night. I started with this because I wanted to share my 12 years of experience in Dynamics hoping to help others. Hopefully I will write something usefull in the comming year that will help someone else in the quest for answers, and just because of that.

YES, it is totally worth it!

Thank you for reading my blog this year, and lets hope it gets stronger in 2020;) Merry Christmas

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.


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.


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.


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

Probably not 🙂

Managed solutions Update vs Upgrade vs Stage

I haven’t touchet managed solutions for quite some time, so importing a managed solution recently surprised me:)

This article is not explaining the differences in detail, but I wanted to make sure you knew there is a difference between upgrade and update. I don’t understand why Microsoft insist on recommented the way they do. I feel you need to know the project before this is a certainty.


New for me is the option of upgrading. If you remove an item in the source managed file, this will now actually delete it in the destination. Say you remove a field on account this should remove the field in the destination.

Do you remember the old ways of doing it?
Introduced arround 2011 OR Introduced arround 2015

Stage for Upgrade

A great way to test something before committing to any changes. I would not use this for an ISV solution, but if you happen to use Managed internally this might be a way to go.


This is marked as the Not Recomended option, but I still feel this is the normal way to do. If you are doing an ISV import this doesn’t matter because the solution file probably is correct, but if you are working with managed internally, I would use this just because I might not trust someone in dev doing config 100% correctly…

Microsoft DOC

Business Process Flow set Pipeline Phase

I was never a fan of the Business Process Flow (BPF) because of the many flaws. Sometimes I didn’t think it was easy enough, and other times not advanced enough. It simply wasn’t what I needed.

In a recent project I decided to give it another go, because the customer wanted to continue with the BPF they had from their old CRM system.

Opening the PBF now I see that there is so much new features here that I haven’t seen before. I guess most of these features are due to the FLOW platform now taking over the BPF.

Challenge: Setting pipeline phase

I know you can report on the BPF entity, but that is more complex than reporting on the opportunity entity if you ask me.

Can I set the “Phase” field on the opportunity when navigating to the next step in the BPF? Let’s see!!

I wanted to set the Pipeline Phase with BPF


Open the Business Process Flow from your solution and notice a button at the bottom right “Business rules for this stage’s entity”.

Create a new Business Rule for Opportunity “Oppty – Set Pipeline Phase”.

For the first condition we check if the BPF is in the stage named Prospect.

If true, set the Pipeline Phase to “1 – Qualify”.

Repeat for the second step!

The business rule should look something like this:


Let’s get back to the Opportunity. We see that it default is active on the Qualify stage in the beginning of the sales process.

Click the next stage

And there you go!!

New Found Love

So what do I think of the BPF now? Honestly, I liked it. It might be a replacement for many other JavaScripts that I have been using the later years, and that is only a good thing. In this case I was able to skip JavaScript and therefore deliver a solution with a low technical footprint:)